Objetivos e equipes
Objetivos
Um objetivo é algo que você pede a um agente para trabalhar sozinho, até terminar: "adicione tal funcionalidade com testes", "pesquise X e me deixe um resumo", "encontre o preço mais barato de…". Não é uma conversa: você deixa rodando e volta quando ele avisar.
O agente:
- planeja: divide o objetivo em tarefas no seu quadro e vai movendo (a fazer → fazendo → feito);
- avança em rodadas: termina um turno e o Lampson dá o próximo, até ele dar por feito;
- informa nos marcos, e pergunta o que só você sabe;
- pede sua aprovação antes de qualquer coisa que sai do projeto ou não tem volta (merge na main, publicar, comprar, mandar um e-mail) e espera a resposta;
- termina com o resultado: o que fez, onde e como conferir.
Enquanto espera sua resposta, não gasta nada.
Dar um objetivo§
Na tela de equipes do projeto (botão equipos na interface web, /w/<projeto>/equipos, ou a partir de todos os projetos em http://127.0.0.1:8080/equipos) → + nuevo: escolha o agente, escreva o que ele tem que alcançar, a cada quanto tempo faz uma rodada e quanto pode gastar.
Ou pelo terminal, na pasta do projeto:
lampson objective add "Adicione filtrar tarefas por status, com testes. Trabalhe na sua branch e me peça aprovação antes do merge." --agent cto
lampson objective list
lampson objective show 1
lampson objective reply 1 --approve # ou --deny, com uma nota opcional
lampson objective reply 1 "em reais" # responder uma pergunta
lampson objective cancel 1
Ou pela API: POST /v1/objectives com {"agent": "cto", "text": "…"}.
| opção | ||
|---|---|---|
--agent ID | quem trabalha nele | |
--team ID | ou uma equipe (o líder conduz) | |
--budget N | tokens que pode gastar no total | 500.000 |
--round S | segundos entre um turno e o próximo | 20 (60 numa equipe) |
Sem orçamento, ele pausa; Seguir (continuar) dá outra parcela igual.
A tela§
À esquerda, seus objetivos e o status (trabalhando, esperando você, feito, falhou, sem orçamento). No centro, o escolhido: o que tem que alcançar, quanto gastou, o último informe, o resultado e o quadro dele. À direita, o registro: tudo o que ele fez, ao vivo.
O que espera por você fica na caixa de entrada: o botão ⚑ do cabeçalho, em todas as telas, junta as perguntas e aprovações pendentes de todos os seus projetos para responder, aprovar ou negar ali mesmo (um merge mostra quais branches, commits e arquivos entram). Na página de um objetivo, a pergunta dele também aparece no lugar, com a resposta ali.
Um objetivo real§
Um agente cto (modelo glm-5.3-flash) numa pequena API de tarefas em Node, com este objetivo:
Adicione à API filtrar tarefas por status:GET /tasks?done=truedevolve só as feitas e?done=falseas pendentes (sem o parâmetro, todas; um valor inválido é 400). Com testes. Trabalhe numa branch novacto/filtro-estadoe faça commit nela. Quando estiver pronto enpm testpassar, peça aprovação para o merge na main; com a aprovação, faça o merge e termine.
Primeiro turno (12 passos): montou quatro tarefas no quadro — explorar o código, criar a branch e implementar, testes, commit e pedir aprovação — e foi fechando uma a uma. Criou a branch, implementou o filtro com dois testes novos, fez commit com o próprio nome e pediu:
Pronto para o merge na main. Implementei GET /tasks?done=true|false na branch cto/filtro-estado (commit 8bdeaf9): store.list() filtra por status, o servidor valida o parâmetro (inválido → 400), e adicionei 2 testes. npm test: 5/5 passam. Você aprova o merge na main?
E ficou esperando, sem gastar. Revisamos a branch, rodamos os testes e aprovamos.
Segundo turno (3 passos): fez o merge na main e terminou:
O-1 concluído. GET /tasks?done=true|false implementado e na main (merge --no-ff de cto/filtro-estado). Mudanças: src/store.js, src/server.js, test/api.test.js (+2 testes). npm test na main: 5/5 passam. Sem o parâmetro, GET /tasks continua devolvendo todas.
Uns 25.600 tokens no total. (A conversa real foi em espanhol; traduzida aqui.)
Para dar certo§
- Diga como é o "pronto": "com testes", "npm test tem que passar", "me deixe um resumo com fontes".
- Diga o que precisa da sua aprovação — mesmo que o agente já saiba, e numa equipe o Lampson exige de qualquer forma para merge ou publicação.
- O agente trabalha com as ferramentas e permissões de sempre: um objetivo não lhe dá mais poder.
- Para algo grande, com vários papéis, dê a uma equipe.