Pular para o conteúdo principal

M14 — Automação e Autonomia

Bloco 7 — Orquestração · Eixo A · Nível NÍVEL 1 / NÍVEL 2 · LAB lab

Abertura

Com paralelismo permitindo várias linhas de trabalho simultâneas (M13), esta lição fecha o Bloco 7 explorando o outro eixo da autonomia: não quantas instâncias trabalham ao mesmo tempo, mas por quanto tempo e com que grau de independência uma única instância pode operar sem intervenção sua. Esse grau varia num espectro: de uma autonomia supervisionada, em que você confirma cada ação antes dela acontecer, até uma autonomia não supervisionada, em que o agente decide e executa sozinho dentro de limites já configurados, sem esperar sua aprovação a cada passo.

Conceito central

Até aqui, cada tarefa que Claude Code executou teve começo, meio e fim dentro de uma única interação — você pediu, ele agiu, terminou. A automação estende isso: configurar Claude Code para executar um processo repetidamente, ou de forma contínua, sem que você precise disparar cada execução manualmente.

Routine, /loop e /goal respondem a duas perguntas diferentes sobre automação, e é fácil confundir as três porque todas soam como "deixar rodando sozinho": uma responde quando a automação começa; as outras duas respondem quanto de liberdade ela tem, uma vez rodando.

Uma routine resolve o "quando": é uma automação agendada ou recorrente — uma tarefa que roda em intervalos definidos (todo dia, a cada hora) sem depender de você iniciar a sessão. A routine não decide nada sobre como a tarefa é feita — só dispara, no horário certo, o que já está configurado para rodar.

/loop e /goal resolvem o "quanto de liberdade", dentro de uma execução já em andamento — e se diferenciam entre si por quanto do caminho você especifica de antemão. /loop mantém Claude Code executando um ciclo de trabalho que você já definiu, repetidamente, até uma condição de parada ser satisfeita — o mesmo princípio do laço while que você viu em M6, aplicado ao comportamento do agente, não a uma variável numérica. /goal vai um passo além: em vez de um ciclo definido, você declara só o objetivo final, e Claude Code decide o caminho — dentro dos limites configurados — para chegar até lá, avaliando o próprio progresso ao longo do processo. Em resumo: /loop sabe o roteiro e repete; /goal só sabe o destino.

Quanto maior a autonomia, maior a necessidade de conter o raio de ação. É para isso que existe o sandboxing: executar o agente dentro de um ambiente isolado e limitado, onde mesmo que algo dê errado, o impacto fica contido àquele espaço, sem afetar o sistema real. Autonomia sem contenção é risco; sandboxing é o que torna a automação segura o suficiente para rodar sem supervisão constante.

Na prática

Uma execução com /goal, contida por sandboxing configurado antes — sandboxing é uma configuração do ambiente, não algo que /goal liga por conta própria:

> Configure esta sessão para rodar em modo sandbox, sem afetar
os arquivos reais do projeto

Sandboxing ativado — mudanças ficam isoladas até você revisar
e aplicar.

> /goal "Reduzir o tempo de build do projeto para menos de 2 minutos"

Ambiente isolado iniciado.
Analisando pipeline de build atual... 4m32s

Tentativa 1: paralelizar etapas de teste — 3m48s
Tentativa 2: adicionar cache de dependências — 2m15s
Tentativa 3: remover etapa de lint redundante — 1m52s

Objetivo alcançado: 1m52s (abaixo dos 2 minutos).
Mudanças aplicadas apenas no ambiente sandbox — revise antes
de aplicar ao projeto real.

Repare que Claude Code não seguiu um roteiro fixo — ele tentou abordagens diferentes até atingir o objetivo declarado, e tudo isso aconteceu dentro do sandbox, sem risco ao projeto real até a revisão final.

Um segundo cenário, agora com /loop, repetindo um ciclo definido até uma condição de parada — também contido por sandboxing:

> Configure sandboxing para este projeto de teste

Sandboxing ativado.

> /loop "rodar os testes até todos passarem"

Ambiente isolado iniciado.
Iteração 1: 2 testes falhando — corrigindo importação quebrada...
Iteração 2: 1 teste falhando — corrigindo asserção incorreta...
Iteração 3: 4 testes passando — condição de parada atingida.

Loop encerrado após 3 iterações. Mudanças aplicadas apenas no
ambiente sandbox — revise antes de aplicar ao projeto real.

Repare a diferença para o exemplo anterior: /goal recebeu só o objetivo final e decidiu sozinho o caminho até lá — autonomia não supervisionada mais ampla; /loop repete um ciclo já definido por você (rodar os testes) até a condição de parada — menos aberto na escolha da estratégia, mas igualmente automatizado e contido pelo sandboxing.

Lab opcional 🔵

Opcional — para assinantes

Configure uma automação simples com /loop para uma tarefa repetitiva pequena (como rodar os testes até todos passarem), sempre dentro de um ambiente com sandboxing ativado, e observe quantas iterações o agente precisa até atingir a condição de parada.

Checkpoint