Os motores de loop hoje: /goal, /loop, Ralph, routines, codex exec
Há cinco jeitos comuns de pôr um agente em loop, e eles respondem de forma diferente a duas perguntas: o que dispara o próximo turno e quem decide parar. Escolher errado custa caro: um /loop esperando uma condição que nunca vem, um /goal que acredita no que o agente disse. Aqui fica só o que a documentação oficial confirma, lida em 19/10/2026.
1/goal: por condição, com um avaliador que só lê a conversa
2/loop e routines: por tempo ou por evento, e onde cada um roda
3Ralph e codex exec: a sessão descartável dentro de um laço seu
4Uma regra simples para escolher
Objetivo: escolher o motor de loop certo para uma tarefa sabendo onde roda, o que dispara o próximo turno, quem decide parar e o limite de cada um.
01 · Cinco motores, cinco limites
Clique em cada motor: o que dispara o próximo turno, quem decide parar e o limite que a doc oficial dá.
Aula 301 · Cinco motores, cinco limitesClique em cada motor: o que dispara o próximo turno, quem decide parar e o limite que a doc oficial dá.
1/6
/goal
Depois de cada turno, um modelo pequeno julga a sua condição: atingida, não atingida ou impossível. É um Stop hook baseado em prompt, por sessão. Limite: o avaliador não roda comandos nem lê arquivos, só julga a conversa; a prova tem que estar impressa. Não muda o modo de permissão. Com -p roda até o fim numa chamada.
Role a página: cada etapa abaixo acende a sua parte do diagrama.
1/6
/goal
Depois de cada turno, um modelo pequeno julga a sua condição: atingida, não atingida ou impossível. É um Stop hook baseado em prompt, por sessão. Limite: o avaliador não roda comandos nem lê arquivos, só julga a conversa; a prova tem que estar impressa. Não muda o modo de permissão. Com -p roda até o fim numa chamada.
2/6
/loop
Repete um prompt num intervalo fixo (/loop 5m …) ou escolhido pelo Claude a cada volta, de 1 minuto a 1 hora. Limites: é da sessão e só dispara com o Claude Code aberto e ocioso; mínimo de 1 minuto; tarefa recorrente expira em 7 dias; o auto-ritmado não volta no --resume. Serve para vigiar, não para perseguir condição.
3/6
Ralph
Técnica descrita por Geoffrey Huntley: em sua forma pura, um laço de bash que chama o agente com o mesmo prompt, sem fim. Cada sessão é descartável; o que sobra está nos arquivos e no git. A Anthropic cita o padrão como convergência da comunidade. Limite: não tem parada nem verificação de fábrica; quem põe é você (aulas 6 e 7).
4/6
Routines
Configuração salva (prompt, repositórios, conectores) que roda na infraestrutura da Anthropic, com o notebook fechado. Limites: está em research preview (comportamento e limites podem mudar); trabalha num clone novo, sem acesso aos seus arquivos locais; intervalo mínimo de 1 hora na agenda.
5/6
codex exec
Roda o Codex sem interface: recebe o pedido por argumento ou stdin, trabalha e sai. Por padrão a sandbox é só leitura; --sandbox workspace-write libera edição. --json dá os eventos em JSONL, -o grava a última mensagem, exec resume --last continua a anterior. Limite: não é um loop; o laço, o teste e a parada ficam num script seu (o loop headless é o curso 2).
6/6
Duas perguntas escolhem o motor
O próximo turno vem de uma condição, de um relógio ou de um laço seu? E quem decide parar: um avaliador que lê a conversa, você, ou um teste que roda de verdade? O motor que roda o teste fora da conversa é o mais difícil de enganar.
Fontes: docs oficiais do Claude Code (/goal, scheduled tasks, routines) e do Codex (modo não interativo), lidas em 19/10/2026; ghuntley.com/ralph.
02 · Qual usar
Uma regra de bolso a partir dos limites acima.
1. Tarefa com fim que se prova
Migrar um módulo até compilar e passar os testes, esvaziar uma fila de issues. A condição precisa ter um estado final, o comando que prova e o que não pode mudar no caminho.
Ponha um teto na própria condição, como a doc sugere: "ou pare depois de 20 turnos".
Condiçãopython3 -m pytest -q tests/ imprime 6 passed, nenhum arquivo em tests/ foi modificado, ou pare depois de 15 turnos
2. Vigiar algo que muda sozinho
O deploy terminou? O CI passou? Chegou comentário no PR? O tempo dispara a volta e cada volta olha de novo.
Feche o terminal e ele para. Para durar mais que a sessão, use agenda na nuvem, no Desktop ou GitHub Actions, como a própria doc indica.
3. Horas de trabalho na sua máquina
Cada ciclo é uma sessão nova que relê o estado em arquivo; quem decide continuar é o teste rodado pelo script, não a conversa.
É o que o kit execucao-longa faz com teto de tempo e memória (curso 2).
4. Sem terminal aberto
Revisão de PR por evento, triagem noturna de issues: trabalho repetível num repositório, sem depender dos arquivos da sua máquina.
Como está em research preview, confira os limites na doc antes de depender dele.
03 · Os cinco em uma linha cada
Comandos da documentação oficial e do artigo do Ralph. Rode só os que você vai usar na prática.
Claude Code · /goal interativo e sem interface
/goal python3 -m pytest -q tests/ imprime 6 passed e git diff --stat -- tests/ sai vazio, ou pare depois de 15 turnos
/goal clear
claude -p "/goal CHANGELOG.md tem uma entrada para cada PR desta semana" --output-format stream-json --verbose
Claude Code · /loop por tempo
/loop 5m confira se o deploy terminou e me diga o que aconteceu
/loop confira se o CI passou e responda aos comentários de revisão
Ralph · a forma pura (ghuntley.com/ralph)
while :; do cat PROMPT.md | claude-code ; done
Codex · uma execução sem interface
codex exec "conte os arquivos .md desta pasta e responda só com o número"
codex exec --sandbox workspace-write "crie ola.txt com a palavra ola"
codex exec --json "resuma a estrutura do repositório" > eventos.jsonl
codex exec resume --last "agora corrija o que você encontrou"
Simulação: exemplo ilustrativo
Do jeito que está, o laço não tem parada nem verificação: roda até você apertar Ctrl+C. O nome do executável no artigo é o do autor; na sua máquina seria claude -p ou codex exec -. Nas aulas 6 e 7 você acrescenta o critério e os tetos que faltam.
O kit execucao-longa usa /goal também no Codex (com /goals e /goal pause|resume). A pesquisa desta formação não achou a página oficial com data e limites; por isso este curso não afirma nada além do uso no kit.
04 · Prática
Na sua máquina. São execuções curtas: gastam pouco da sua cota.
E1 · Um /goal com prova na saída
10 min
Numa pasta vazia com git iniciado, abra o Claude Code e rode: /goal o arquivo ola.txt existe e cat ola.txt imprime ola na conversa, ou pare depois de 5 turnos.
Pronto quando:cat ola.txt → ola, e o status do goal no Claude Code mostra a condição como atingida, com a contagem de turnos.
E2 · codex exec só leitura
5 min
Na mesma pasta, peça ao Codex sem interface para contar arquivos, gravando a última mensagem num arquivo.
Pronto quando:codex exec -o resposta.txt "quantos arquivos .txt há nesta pasta? responda só com o número"; echo "saída: $?" → saída: 0, e grep -cE '^[0-9]+$' resposta.txt → 1 (a resposta é uma linha só com um número; o critério confere o formato, não o que o modelo respondeu).
E3 · Escolha justificada
10 min
Liste três tarefas reais suas num arquivo motores.md, uma por linha, no formato tarefa → motor → por quê (gatilho e quem decide parar).
Pronto quando:grep -c '→.*→' motores.md → 3, e nenhuma tarefa com fim verificável ficou com /loop.
05 · Teste da aula
Pergunta 1 de 5
Sua condição do /goal é "todos os testes passam". O agente escreve "rodei os testes, todos passam" sem mostrar a saída. O que acontece?competência
Correto
Pela doc, o avaliador não roda comandos nem lê arquivos: julga o que apareceu na conversa. Por isso a condição pede a prova impressa ("npm test sai 0"). O curso 1 mostra como tornar isso à prova de atalho.
Não é essa
Pela doc, o avaliador não roda comandos nem lê arquivos: julga o que apareceu na conversa. Por isso a condição pede a prova impressa ("npm test sai 0"). O curso 1 mostra como tornar isso à prova de atalho.Rever: Cinco motores, cinco limites
Pergunta 2 de 5
Você quer conferir o CI a cada 10 minutos durante a tarde, com o terminal aberto. Qual motor?
Correto
É vigilância por tempo dentro da sessão: o caso do /loop. /goal persegue uma condição a cada turno; routines é para quando não há terminal aberto.
Não é essa
É vigilância por tempo dentro da sessão: o caso do /loop. /goal persegue uma condição a cada turno; routines é para quando não há terminal aberto.Rever: Qual usar
Pergunta 3 de 5
Por que uma routine não serve para rodar os testes de um projeto que só existe no seu notebook?
Correto
A tabela oficial diz: acesso a arquivos locais, não (clone novo). O intervalo mínimo da routine é 1 hora; 1 minuto é o do /loop e do Desktop.
Não é essa
A tabela oficial diz: acesso a arquivos locais, não (clone novo). O intervalo mínimo da routine é 1 hora; 1 minuto é o do /loop e do Desktop.Rever: Cinco motores, cinco limites
Pergunta 4 de 5
O que falta no Ralph na forma pura, while :; do cat PROMPT.md | claude-code ; done?competência
Correto
O estado está nos arquivos e no git, e cada volta age. Mas nada decide que acabou e nada confere o trabalho: as duas peças que você acrescenta.
Não é essa
O estado está nos arquivos e no git, e cada volta age. Mas nada decide que acabou e nada confere o trabalho: as duas peças que você acrescenta.Rever: Os cinco em uma linha cada
Pergunta 5 de 5
Um /loop recorrente criado hoje ainda vai rodar daqui a um mês?
Correto
A doc limita o tempo de vida de um loop esquecido: dispara uma última vez e se apaga aos 7 dias. Para durar mais, recrie ou use agenda fora da sessão.
Não é essa
A doc limita o tempo de vida de um loop esquecido: dispara uma última vez e se apaga aos 7 dias. Para durar mais, recrie ou use agenda fora da sessão.Rever: Cinco motores, cinco limites
Teste concluído
Você acertou {a} de {n}. Acertando todas, a aula é marcada como concluída.
Escolha uma alternativa. A explicação aparece depois da sua tentativa.
06 · Em três frases
Gatilho e juizCada motor difere no que dispara o próximo turno (condição, tempo, laço, evento) e em quem decide parar.
Limites oficiais/goal julga só a conversa; /loop vive na sessão e expira em 7 dias; routines rodam na nuvem sem seus arquivos; codex exec é uma execução, não um loop.
Ralph é a baseUm laço que chama o agente com estado em arquivos; parada e verificação você acrescenta.