Skip to content

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:

sh
/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:

sh
/goal Corrija todo bug rotulado checkout-regression, adicione ou atualize testes para cada correção e rode a suíte de testes de checkout

Evite metas que nomeiam apenas uma direção ampla:

sh
/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

  1. 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.

  2. 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.

  3. 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

  1. 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.

  2. 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.

  3. 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:

ComandoAção
/goal ou /goal statusMostra a meta atual e seu progresso
/goal pausePausa a meta ativa sem apagá-la
/goal resumeRetoma uma meta pausada ou bloqueada
/goal cancelRemove 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 manageAbre 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:

sh
/goal next Atualize as notas de release depois que os testes passarem

Pró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:

sh
/goal next manage

No 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:

sh
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.