Lampson

Objetivos y equipos

Objetivos

Un objetivo es algo que le pedís a un agente para que lo trabaje solo, hasta terminarlo: «agregá tal feature con tests», «investigá X y dejame un resumen», «buscá el precio más barato de…». No es una conversación: lo dejás andando y volvés cuando te avisa.

El agente:

  • planifica: parte el objetivo en tareas en su tablero y las va moviendo (por hacer → en curso → hecho);
  • avanza en rondas: termina un turno y Lampson le da el siguiente, hasta que lo da por hecho;
  • te informa en los hitos, y te pregunta lo que solo vos sabés;
  • te pide aprobación antes de cualquier cosa que sale del proyecto o no se puede deshacer (mergear a main, publicar, comprar, mandar un mail) y espera tu respuesta;
  • termina con el resultado: qué hizo, dónde y cómo verificarlo.

Mientras espera tu respuesta no gasta nada.

Darle un objetivo§

En la pantalla de equipos del proyecto (botón equipos en la interfaz web, /w/<proyecto>/equipos, o desde todos los proyectos en http://127.0.0.1:8080/equipos) → + nuevo: elegís el agente, escribís qué tiene que lograr, cada cuánto hace una ronda y cuánto puede gastar.

O desde la terminal, en la carpeta del proyecto:

lampson objective add "Agregá filtrar tareas por estado, con tests. Trabajá en tu rama y pedime aprobación antes de mergear." --agent cto
lampson objective list
lampson objective show 1
lampson objective reply 1 --approve          # o --deny, con una nota opcional
lampson objective reply 1 "en pesos"         # responder una pregunta
lampson objective cancel 1

O por la API: POST /v1/objectives con {"agent": "cto", "text": "…"}.

opción
--agent IDquién lo trabaja
--team IDo un equipo (lo lidera su jefe)
--budget Ntokens que puede gastar en total500.000
--round Ssegundos entre un turno y el siguiente20 (60 en un equipo)

Sin presupuesto, se pausa; Seguir le da otro tramo igual.

La pantalla§

A la izquierda, tus objetivos con su estado (trabajando, te espera, hecho, falló, sin presupuesto). En el centro, el elegido: qué tiene que lograr, cuánto gastó, su último informe, el resultado y su tablero. A la derecha, el registro: cada cosa que hizo, en vivo.

Lo que te espera está en la bandeja: el botón ⚑ de la cabecera, en todas las pantallas, junta las preguntas y aprobaciones pendientes de todos tus proyectos para responder, aprobar o denegar ahí mismo (un merge muestra qué ramas, commits y archivos entran). En la página de un objetivo, su pregunta aparece también en el lugar, con la respuesta ahí.

Un objetivo real§

Un agente cto (modelo glm-5.3-flash) en una API de tareas en Node, con este objetivo:

Agregá a la API filtrar tareas por estado: GET /tasks?done=true devuelve solo las hechas y ?done=false las pendientes (sin el parámetro, todas; un valor inválido es 400). Con tests. Trabajá en una rama nueva cto/filtro-estado y commiteá ahí. Cuando esté listo y npm test pase, pedí aprobación para mergear a main; con la aprobación, mergeá y terminá.

Primer turno (12 pasos): armó cuatro tareas en su tablero —explorar el código, crear la rama e implementar, tests, commitear y pedir aprobación— y las fue cerrando. Creó la rama, implementó el filtro con dos tests nuevos, commiteó a su nombre y pidió:

Listo para mergear a main. Implementé GET /tasks?done=true|false en la rama cto/filtro-estado (commit 8bdeaf9): store.list() filtra por estado, el server valida el query param (inválido → 400), y agregué 2 tests. npm test: 5/5 pasan. ¿Apruebas el merge a main?

Se quedó esperando, sin gastar. Revisamos la rama, corrimos los tests y aprobamos.

Segundo turno (3 pasos): mergeó a main y terminó:

O-1 terminado. GET /tasks?done=true|false implementado y mergeado a main (merge --no-ff de cto/filtro-estado). Cambios: src/store.js, src/server.js, test/api.test.js (+2 tests). npm test en main: 5/5 pasan. Sin el parámetro, GET /tasks sigue devolviendo todas.

Unos 25.600 tokens en total.

Para que salga bien§

  • Decí cómo se ve «terminado»: «con tests», «npm test tiene que pasar», «dejame un resumen con fuentes».
  • Decí qué necesita tu aprobación — aunque el agente ya lo sabe, y en un equipo Lampson la exige igual para mergear o publicar.
  • El agente trabaja con sus herramientas y permisos de siempre: un objetivo no le da más poder.
  • Para algo grande, con varios roles, dáselo a un equipo.

Ver como Markdown