Mejora tu agente con flags
Quienes leen las conversaciones de tu agente saben cuándo una respuesta está mal. En la bandeja, un supervisor marca esa respuesta y escribe qué debió decir el agente. Vatio convierte esa nota en trabajo que tu coding agent puede hacer solo:
- Un digest.
vatio flagsimprime todos los flags abiertos en un solo documento markdown escrito para un coding agent: la conversación hasta la respuesta, cada herramienta que el agente llamó en ese turno con lo que respondió tu backend, y la nota del supervisor. - Un caso de eval por flag. Los turnos del visitante son la entrada y la nota es el resultado esperado.
vatio evalvuelve a correr los casos contra cualquier entorno y un juez compara cada respuesta nueva con la nota. - Resolución con evidencia. Cuando live pasa el caso de un flag, el flag queda marcado como corregido en la bandeja, con la versión que lo corrigió. Nadie tiene que avisar que está listo.
Tu coding agent tiene enfrente tu repositorio y tu backend, y Vatio no. Por eso el arreglo le toca a él: muchas veces la causa es una respuesta de una herramienta a la que le falta un campo, no el prompt.
El ciclo
vatio flags --save # vatio-flags.md: dáselo a tu coding agent
git switch -c fix/flags-semana
# ... tu agente corrige vatio.yml, conocimiento, herramientas o el backend que llaman ...
vatio push # → entorno fix-flags-semana
vatio eval # corre todos los casos ahí; sale con 1 si alguno falla
gh pr create # con GitHub conectado, el PR también corre los evalsHaz merge cuando los evals pasen. La publicación vuelve a correr todos los casos en live, y los flags cuyos casos ahora pasan quedan marcados como corregidos.
Un prompt que sirve con cualquier coding agent:
Lee la salida de
vatio flags. Agrupa los flags por causa, corrige cada causa donde vive —vatio.yml, conocimiento, una herramienta o el backend que llama una herramienta— en una rama, compruébalo convatio evaly abre un pull request.
El digest trae las mismas instrucciones al principio, así que un agente que solo recibe el archivo sabe qué hacer con él.
Que tu coding agent lo encuentre solo
Para que no tengas que acordarte del comando, dos indicaciones le dicen a un coding agent que mejorar el agente empieza por vatio flags:
AGENTS.md.vatio initescribe una sección breve de Vatio en elAGENTS.mddel workspace, o la agrega a uno existente que no mencione a Vatio. La mayoría de los coding agents lo leen sin instalar nada.La skill
vatio-improve, para Claude Code:/plugin marketplace add vatio-ai/skills /plugin install vatio@vatioDespués Claude Code la usa cuando le pides mejorar o corregir tu agente, o con
/vatio:vatio-improve. Para otro coding agent, copiaskills/vatio-improve/SKILL.mda donde ese agente lea sus skills.
Las dos solo apuntan a la CLI. Las instrucciones vienen de la plataforma cada vez que corre vatio flags, así que ninguna se desactualiza.
Qué trae un flag
| En el digest | De dónde sale |
|---|---|
| Agente, entorno, versión desplegada, canal | El chat donde estaba la respuesta |
| La conversación hasta la respuesta marcada | Los últimos 10 mensajes antes de ella |
| Qué hizo el agente en ese turno | Cada llamada a herramienta: sus argumentos y la respuesta de tu backend; búsquedas en conocimiento; tokens |
| Qué debió decir | La nota del supervisor |
| Caso de eval | El caso que Vatio creó a partir del flag |
Un flag sin nota no aparece en el digest y no tiene caso de eval: "esto estuvo mal" sin la respuesta correcta no sirve para corregir un agente. Editar la nota reabre un flag corregido; quitar el flag quita su caso.
Corridas de eval
vatio eval vuelve a correr todos los casos de eval del workspace contra un entorno, emparejando cada caso con el agente de ese entorno que tiene el mismo slug. Cada caso corre en un chat nuevo: los turnos del visitante (hasta los últimos 8) se envían uno por uno y el agente responde cada uno. Después un juez lee la conversación y el resultado esperado y responde pasa o falla, con una frase que lo explica.
| Entorno por defecto | El de la rama, si estás en una; si no, preview. --env NOMBRE para elegir |
| Código de salida | 1 cuando algún caso falla o da error, para usarlo en CI |
| Regresiones | Un caso que pasa en live y falla en este entorno aparece primero |
| Consola | Cada corrida, con el razonamiento del juez, en la página de corridas de eval del agente. Lo que una persona marque ahí como pasa o falla manda sobre el juez |
| Juez | Un modelo de otra familia que el de tu agente, para que nunca califique respuestas de su mismo tipo |
| Chats de replay | No aparecen en la bandeja ni cuentan como conversaciones, tampoco en live: son Vatio probando al agente, no visitantes |
Cada caso es un turno real del agente, así que puede pasar una vez y fallar la siguiente sin que nada cambie. Córrelo de nuevo antes de confiar en una sola falla.
Los evals llaman a tus herramientas de verdad
Cada caso es un turno real del agente, así que las herramientas que llama llegan a tu backend con los secretos del entorno. Si una herramienta escribe, apunta la rama a un backend de pruebas con un secreto solo de esa rama. Ve Secretos.
Además de vatio eval, las corridas arrancan solas en dos momentos:
- Después de cada publicación a live, si el workspace tiene casos. Es la corrida que resuelve flags y la base contra la que se miden las regresiones.
- En cada preview de pull request, con GitHub conectado. El resultado se comenta en el pull request. Ve GitHub.
También puedes agregar casos a mano en la página de casos de eval del agente, en la consola.
El digest diario
Cada mañana a las 8:00 (America/Santiago), cada workspace con flags nuevos recibe:
- Un correo a su dueño y sus developers, con cuántos flags llegaron y el comando para pasárselos a un coding agent.
- Un issue en GitHub, con GitHub conectado: un solo issue con la etiqueta
vatio-flagsque contiene el digest, se actualiza cada día y se cierra cuando todos los flags están corregidos. Ve GitHub.
API
| Endpoint | Devuelve |
|---|---|
GET /api/developer/v1/:workspace/flags.md | El digest, tal como lo imprime vatio flags |
GET /api/developer/v1/:workspace/flags | Los flags abiertos en JSON |
POST /api/developer/v1/:workspace/evals/runs | Arranca una corrida; cuerpo { "environment": "fix-pagos", "agent": "main" }, ambos opcionales |
GET /api/developer/v1/:workspace/evals/runs/:id | El avance de una corrida: cases, done, passed, failed, finished |
GET /api/developer/v1/:workspace/evals/runs/:id.md | El reporte de una corrida |
Todos usan el mismo token que la CLI.
