Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

O comando /goal define uma condição de conclusão e Claude continua trabalhando em direção a ela sem que você solicite cada etapa. Após cada turno, um modelo pequeno e rápido verifica se a condição é atendida. Se não for, Claude inicia outro turno em vez de devolver o controle a você. O objetivo é limpo automaticamente assim que a condição é atendida. Use um objetivo para trabalho substancial com um estado final verificável:
  • Migrar um módulo para uma nova API até que cada site de chamada compile e os testes passem
  • Implementar um documento de design até que todos os critérios de aceitação sejam atendidos
  • Dividir um arquivo grande em módulos focados até que cada um esteja dentro de um orçamento de tamanho
  • Trabalhar através de uma fila de problemas rotulados até que a fila esteja vazia
Esta página aborda como:

Comparar com outros fluxos de trabalho autônomos

Três abordagens mantêm a sessão atual em execução entre prompts. Escolha com base no que deve iniciar o próximo turno:
AbordagemPróximo turno começa quandoPara quando
/goalO turno anterior terminaUm modelo confirma que a condição é atendida
/loopUm intervalo de tempo decorreVocê o interrompe, ou Claude decide que o trabalho está concluído
Stop hookO turno anterior terminaSeu próprio script ou prompt decide
/goal e um Stop hook são acionados após cada turno. /goal é um atalho com escopo de sessão: você digita uma condição e ela fica ativa apenas para a sessão atual. Um Stop hook reside em seu arquivo de configurações, se aplica a cada sessão em seu escopo e pode executar um script para verificações determinísticas ou um prompt para avaliações baseadas em modelo. Modo automático por si só aprova chamadas de ferramentas dentro de um único turno, mas não inicia um novo. Claude para quando julga o trabalho concluído. /goal adiciona um avaliador separado que verifica sua condição após cada turno, portanto a conclusão é decidida por um modelo novo em vez daquele que está fazendo o trabalho. Os dois são complementares: o modo automático remove prompts por ferramenta e /goal remove prompts por turno.
As abordagens acima mantêm a sessão atual em execução. Você também pode agendar trabalho que seja executado independentemente de qualquer sessão aberta, como testes noturnos ou triagem matinal. Consulte opções de agendamento para rotinas em nuvem e tarefas agendadas de desktop.

Usar /goal

Um objetivo pode estar ativo por sessão. O mesmo comando define, verifica e limpa dependendo do argumento.

Definir um objetivo

Execute /goal seguido pela condição que você deseja satisfazer. Se um objetivo já estiver ativo, o novo o substitui.
/goal all tests in test/auth pass and the lint step is clean
Definir um objetivo inicia um turno imediatamente, com a própria condição como diretiva. Você não precisa enviar um prompt separado. Enquanto o objetivo está ativo, um indicador ◎ /goal active mostra há quanto tempo o objetivo está em execução. Após cada turno, o avaliador retorna uma breve razão explicando por que a condição é ou não atendida. A razão mais recente aparece na visualização de status e na transcrição para que você possa ver para o que Claude está trabalhando a seguir.
Um objetivo continua em execução até que a condição seja atendida ou você execute /goal clear. Execute /goal sem argumento para ver os turnos e tokens gastos até agora.

Escrever uma condição eficaz

O avaliador julga sua condição em relação ao que Claude apresentou na conversa. Ele não executa comandos ou lê arquivos independentemente, portanto escreva a condição como algo que a própria saída de Claude possa demonstrar. “Todos os testes em test/auth passam” funciona porque Claude executa os testes e o resultado aparece na transcrição para o avaliador ler. Uma condição que se mantém em muitos turnos geralmente tem:
  • Um estado final mensurável: um resultado de teste, um código de saída de compilação, uma contagem de arquivos, uma fila vazia
  • Uma verificação declarada: como Claude deve provar isso, como “npm test sai com 0” ou “git status está limpo”
  • Restrições que importam: qualquer coisa que não deve mudar no caminho, como “nenhum outro arquivo de teste é modificado”
A condição pode ter até 4.000 caracteres. Para limitar quanto tempo um objetivo é executado, inclua uma cláusula de turno ou tempo na condição, como or stop after 20 turns. Claude relata progresso em relação a essa cláusula a cada turno e o avaliador a julga a partir da conversa.

Verificar status

Execute /goal sem argumentos para ver o estado atual.
/goal
Se um objetivo está ativo, o status mostra:
  • A condição
  • Há quanto tempo está em execução
  • Quantos turnos foram avaliados
  • O gasto de token atual
  • A razão mais recente do avaliador
Se nenhum objetivo está ativo, mas um foi alcançado anteriormente na sessão, o status mostra a condição alcançada junto com sua duração, contagem de turnos e gasto de token.

Limpar um objetivo

Execute /goal clear para remover um objetivo ativo antes que sua condição seja atendida.
/goal clear
stop, off, reset, none e cancel são aceitos como aliases para clear. Executar /clear para iniciar uma nova conversa também remove qualquer objetivo ativo.

Retomar com um objetivo ativo

Um objetivo que ainda estava ativo quando uma sessão terminou é restaurado quando você retoma essa sessão com --resume ou --continue. A condição é mantida, mas a contagem de turnos, o cronômetro e a linha de base de gasto de token são redefinidos ao retomar. Um objetivo que já foi alcançado ou limpo não é restaurado.

Executar de forma não interativa

/goal funciona em modo não interativo e através de Remote Control. Definir um objetivo com -p executa o loop até a conclusão em uma única invocação:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
Interrompa o processo com Ctrl+C para parar um objetivo não interativo antes que a condição seja atendida.

Como a avaliação funciona

/goal é um wrapper em torno de um Stop hook baseado em prompt com escopo de sessão. Cada vez que Claude termina um turno, a condição e a conversa até agora são enviadas para seu modelo pequeno e rápido configurado, que é padronizado para Haiku. O modelo retorna uma decisão sim ou não e uma breve razão. Um “não” diz a Claude para continuar trabalhando e inclui a razão como orientação para o próximo turno. Um “sim” limpa o objetivo e registra uma entrada alcançada na transcrição. O avaliador é executado no provedor para o qual sua sessão está configurada. Ele não chama ferramentas, portanto só pode julgar o que Claude já apresentou na conversa.
Os tokens de avaliação são cobrados no modelo pequeno e rápido configurado para seu provedor e são tipicamente negligenciáveis em comparação com o gasto do turno principal.

Requisitos

/goal é executado apenas em espaços de trabalho onde você aceitou a caixa de diálogo de confiança, porque o avaliador faz parte do sistema de hooks. /goal também não está disponível quando disableAllHooks está definido em qualquer nível de configurações ou quando allowManagedHooksOnly está definido nas configurações gerenciadas. Em cada caso, o comando informa por que em vez de fazer nada silenciosamente.

Veja também