Metas
Metas mantêm o Jarvis Code trabalhando em direção a um resultado definido ao longo de vários turnos. Diferente de um prompt comum, que diz o que fazer em seguida, uma meta diz o que precisa se tornar verdade. Use /goal quando a tarefa tem uma linha de chegada clara, mas o próximo passo útil depende do que o agente descobre enquanto trabalha — por exemplo, corrigir um lote de testes falhando ou rastrear a causa raiz de um build quebrado.
Para um agente perseguindo um resultado ao longo dos turnos, use metas. Para vários agentes coordenando um mesmo objetivo, use o modo Tower.
Iniciar uma meta
Escreva o objetivo depois de /goal:
/goal Corrija os bugs listados no issue tracker.O Jarvis Code salva o objetivo, envia-o como a próxima mensagem de usuário e inicia o modo de metas. Depois de cada turno, ele verifica se a meta está concluída, bloqueada, pausada ou ainda ativa.
Objetivos têm limite de 4000 caracteres; um objetivo maior é rejeitado com um aviso, e o texto digitado é mantido na caixa de entrada para edição.
Metas funcionam melhor quando o objetivo nomeia a linha de chegada e a evidência que a comprova:
/goal Corrija todo bug rotulado checkout-regression, adicione ou atualize testes para cada correção e rode a suíte de testes de checkoutEvite metas que nomeiam apenas uma direção ampla:
/goal Encontre todos os bugs desta base de código.Essa meta não diz o que conta como sucesso, o que inspecionar ou quando parar. O agente pode bloquear imediatamente, ou seguir trabalhando muito mais tempo do que você esperava.
Quando usar metas
Use metas para trabalho com linha de chegada clara e evidência verificável.
sh/goal Corrija todo teste de checkout que estiver falhando e rode a suíte de testes de checkout com sucesso.O Jarvis Code consegue inspecionar a saída dos testes, alterar arquivos, repetir verificações e decidir quando a meta está concluída.
Use metas quando a tarefa pode precisar de vários turnos de investigação e reparo.
sh/goal Descubra por que o build de release falha, corrija a causa raiz e verifique que o build passa.A meta descreve o resultado, então o agente consegue se adaptar quando a primeira pista não é a causa raiz.
Use metas para trabalho ordenado que deve continuar sem outro prompt.
sh/goal Atualize a implementação da funcionalidade, adicione documentação, rode os testes e resuma os arquivos alterados.Isso é útil quando você já sabe quais verificações ou artefatos precisam existir antes de o trabalho estar pronto.
Quando não usar metas
Não use metas para temas amplos ou discussões em aberto.
Contraexemplo
sh/goal Olá!Agentes marcam a meta como concluída imediatamente quando ela não é de fato uma meta.
Não use metas para tarefas sabidamente impossíveis ou insolúveis.
Contraexemplo
sh/goal Prove que 1 + 1 = 3.Agentes marcam a meta como bloqueada quando ela parece impossível ou insolúvel.
Não use metas com objetivos ambíguos ou complicados.
Contraexemplo
sh/goal Crie um videogame em um único arquivo HTML.Agentes podem concluir metas assim, mas também podem produzir resultados inesperados ou surpreendentes depois de muito tempo.
Gerenciar o ciclo de vida
Use a mesma superfície de comando para inspecionar ou controlar a meta atual:
| Comando | Ação |
|---|---|
/goal ou /goal status | Mostra a meta atual e seu progresso |
/goal pause | Pausa a meta ativa sem apagá-la |
/goal resume | Retoma uma meta pausada ou bloqueada |
/goal cancel | Remove a meta atual |
/goal replace <objective> | Substitui a meta atual por um novo objetivo |
/goal next <objective> | Enfileira uma próxima meta, ou a inicia imediatamente quando não há meta ativa |
/goal next manage | Abre o gerenciador de próximas metas para reordenar, editar ou apagar metas enfileiradas |
Uma meta pode parar de três formas:
- complete: o objetivo foi cumprido, o Jarvis Code limpa a meta e o agente resume como concluiu o trabalho
- paused: você a pausou, interrompeu o turno, retomou uma sessão que tinha meta ativa, ou houve erro de modelo, provedor ou runtime
- blocked: o Jarvis Code precisa de informação, não consegue concluir a meta como está enunciada, ou atingiu um limite de orçamento. Quando o agente bloqueia uma meta, ele escreve uma mensagem curta explicando o motivo.
Escreva um limite rígido — número de turnos, de tokens ou de tempo decorrido — dentro do objetivo. O Jarvis Code pode registrar esse limite enquanto persegue a meta; quando ele é atingido, a meta passa a bloqueada, chamadas de ferramenta são rejeitadas e o agente relata o progresso até ali. O /goal não tem uma flag separada de orçamento.
Enfileirar próximas metas
Às vezes agentes concluem uma meta rápido demais, e é frustrante só poder atribuir uma meta por vez. Muita gente já sabe quais são as próximas metas que quer perseguir e teria de esperar a meta atual terminar, abrir a TUI e enviar a próxima manualmente.
Use /goal next quando você já tem mais trabalho pronto mas não quer interromper a meta atual:
/goal next Atualize as notas de release depois que os testes passaremPróximas metas não são visíveis ao agente enquanto a meta atual está rodando. Quando a meta atual é concluída, o Jarvis Code inicia a primeira meta da fila da mesma forma que se você digitasse /goal <objective>.
Se não houver meta ativa, /goal next <objective> inicia aquele objetivo imediatamente. O comportamento é o mesmo de /goal <objective>, exibindo uma mensagem de status antes de a meta começar.
Gerencie as próximas metas interativamente:
/goal next manageNo gerenciador, use ↑ / ↓ para navegar, Espaço para selecionar uma meta e movê-la, ↑ / ↓ para reordená-la, E para editar, D para apagar e Esc para cancelar. Ao editar, use Shift-Enter ou Ctrl-J para adicionar uma nova linha e Enter para salvar.
Se a meta atual estiver pausada, cancelada ou bloqueada, o Jarvis Code não inicia a próxima meta da fila. Quando uma meta bloqueia e existem próximas metas, a TUI lembra você de que elas estão aguardando a conclusão.
Use o modo de metas com cuidado
O modo de metas é útil para trabalho que pode ser verificado com arquivos, testes, saída de comandos, artefatos gerados ou um relatório escrito claro. É menos útil para uma edição pontual ou uma pergunta que precisa de uma única resposta.
No modo de permissão manual, o trabalho por meta pode pausar para aprovação de chamada de ferramenta. Para trabalho sem supervisão, use um modo de permissão compatível com o risco do repositório e com os comandos que o agente pode executar.
No modo de prompt não interativo, apenas a criação de metas é suportada:
jarvis -p "/goal Corrija o teste de checkout que está falhando"O modo de prompt encerra com código 0 quando a meta é concluída, 3 quando ela bloqueia e 6 quando ela pausa. O /goal next e os demais comandos de gerenciamento são controles da TUI.