Programação e agentes de IA

[Claude Code #6] /goal: como definir condições para a IA alcançar um objetivo

O Claude Code /goal permite que um modelo juiz separado avalie as condições a cada turno e continue trabalhando até que elas sejam atendidas. Veja como escrever condições, combinar com auto mode e concluir execuções em modo headless.

4 min de leitura
Imagem de capa de [Claude Code #6] /goal: como definir condições para a IA alcançar um objetivo

Quando você atribui uma tarefa grande à IA, ela para várias vezes no meio do caminho: “Ainda há 3 testes falhando. Quer que eu continue?”

Digitar “Sim, continue” toda vez vira a própria tarefa. Se você se afastar, o trabalho fica parado ali.

O /goal do Claude Code resolve esse problema com uma declaração de condições. Ao definir as condições de conclusão, o Claude continua trabalhando entre os turnos até atendê-las.

Se o /rewind de Claude Code, parte 5 é uma rede de segurança, o /goal é o mecanismo de conclusão.

Como funciona: há um juiz separado

A explicação de Documentação oficial do /goal destaca o ponto central. Ao fim de cada turno, um modelo separado, pequeno e rápido, verifica se as condições foram atendidas. Caso não tenham sido, o Claude inicia o turno seguinte em vez de voltar ao usuário.

Não é uma estrutura em que o modelo de trabalho declara “Terminei”. Um modelo juiz de terceiros — Haiku, no caso da Claude API — avalia cada turno e também registra um motivo breve. Os tokens de avaliação são insignificantes perto da tarefa principal.

Quando as condições são atendidas, o objetivo é removido automaticamente.

Diagrama do loop de repetição de turnos e avaliação do modelo juiz do Claude Code /goal
Os turnos continuam até que as condições sejam atendidas

Uso básico

Escreva as condições depois de /goal, e os turnos começam imediatamente. Não é necessário um prompt separado.

/goal test/authtodos os testes passam e o lint está limpo

Enquanto estiver ativo, ◎ /goal active mostra o tempo decorrido.

  • /goal (sem argumentos): consultar condições, tempo decorrido, número de turnos, uso de tokens e o motivo da avaliação mais recente
  • /goal clear: remover o objetivo antes de atender às condições (stop, cancel e outros também funcionam)

Há um objetivo por sessão. Definir um novo substitui o objetivo existente.

Escrever boas condições é metade do trabalho

O modelo juiz não executa comandos nem lê arquivos diretamente. Ele avalia apenas a saída que o Claude deixa na conversa.

Por isso, as condições precisam ser comprováveis pela saída do Claude. A documentação oficial recomenda três elementos.

  • Um estado de conclusão mensurável: resultados de testes, código de saída do build ou uma fila vazia
  • Especifique o método de verificação: um meio de confirmação como “npm test termina com 0”
  • Restrições a serem respeitadas: por exemplo, “Não modificar outros arquivos de teste”

Se você teme uma execução infinita, inclua nas condições uma cláusula como “ou pare após 20 turnos”. Isso, porém, não é um limite imposto pelo sistema. É parte da condição que o modelo juiz avalia com base nos relatórios de progresso da conversa.

Permissões são outra questão

O /goal não libera permissões. No modo de permissões padrão, ele continua perguntando a cada chamada de ferramenta não autorizada.

Para concluir sem supervisão, o padrão é combiná-lo com auto mode. O auto mode remove os prompts de aprovação de ferramentas, enquanto /goal remove os prompts entre os turnos.

Também vale resumir a diferença em relação a mecanismos parecidos. /loop repete a execução em intervalos de tempo; /goal continua até as condições serem atendidas.

O objetivo permanece mesmo se a sessão for interrompida

Se a sessão terminar com o objetivo ativo, as condições serão restauradas ao retomá-la com --resume ou --continue. Apenas o número de turnos, o timer e o ponto de referência de tokens começam novamente.

Também é possível executar em modo headless, sem terminal.

claude -p "/goal todos os itens mesclados esta semana PRserão refletidos em CHANGELOG.md"

Com uma única chamada, o loop é executado até que as condições sejam atendidas. Na saída padrão, nada é exibido antes da conclusão, então pode parecer travado. Para acompanhar o progresso, adicione --output-format stream-json --verbose.

Ilustração de uma mão escrevendo “WRITE THE CONDITION” e uma checklist das condições do objetivo
Estado de conclusão, método de verificação e restrições: as condições devem conter estes três itens

Resumo

O /goal é o comando que pressiona “continue” por você. Declare as condições, e um modelo juiz separado avalia cada turno enquanto o trabalho prossegue até a conclusão.

O ponto principal é o design das condições. Especifique um estado de conclusão mensurável e um método de verificação, e inclua também uma cláusula de limite de turnos.

Na próxima parte, veremos /background e /tasks, que enviam a sessão inteira para segundo plano. Depois do mecanismo de conclusão, desta vez trataremos do mecanismo de divisão de trabalho.

Fontes e critérios de verificação

Continue lendo

Série Claude Code

Tópicos relacionados