Sistema multi-agente de desarrollo de producto
AI Product Engineer · diseño, implementación y operación
Un orquestador y agentes por rol —producto, diseño, ingeniería, QA— con gate humano antes de producción. El sistema con el que construyo, aplicado a mi propio trabajo.
01
Overview
Construyo sistemas multi-agente para flujos de producto e ingeniería. Este es el que uso a diario: un orquestador recibe una intención de producto, la rutea a agentes con roles definidos, y nada llega a producción sin aprobación humana explícita.
02
El problema
Un asistente de código resuelve el paso que le pides. No decide qué se construye, no mantiene coherencia entre la especificación y lo implementado, y no sabe cuándo detenerse. El resultado es velocidad local sin avance real: mucho código generado, poca convergencia hacia un producto.
03
Contexto
Práctica propia de I+D, no un encargo de cliente. Nace de una molestia concreta: usar asistentes de código uno a uno funciona para tareas sueltas, pero no sostiene un ciclo completo de producto — especificar, diseñar, construir, verificar.
04
Usuarios
- Yo mismo, como ingeniero que ejecuta el ciclo completo de sus propios productos.
- El sistema aplicado a Academy Manager, Fintru y a este propio sitio.
05
Restricciones
- Presupuesto real de tokens: cada paso cuesta, así que el routing tiene que evitar trabajo innecesario, no maximizar agentes.
- Sin equipo que revise: el sistema debe fallar de forma visible, no degradar en silencio.
- Los productos tocan dinero (Fintru) y datos de menores (Academy Manager): hay límites que ningún agente cruza sin aprobación.
06
Enfoque de producto
El sistema se diseñó por fronteras de responsabilidad, no por capacidades del modelo. Cada agente existe porque hay una decisión distinta que tomar, no porque se pueda dividir el trabajo. Si dos agentes toman la misma decisión, sobra uno.
07
Decisiones de producto
- Un orquestador, no una cadena fija: el routing depende de la intención, y una petición pequeña no paga el coste de recorrer todos los roles.
- Salidas estructuradas obligatorias entre agentes. La prosa se permite solo en la frontera con el humano.
- Un único gate humano, antes de producción. Aprobar cada paso mata el leverage; no aprobar ninguno mata la confianza.
- Los reintentos son acotados y explícitos. Un agente que reintenta indefinidamente convierte un fallo barato en una factura cara.
- Sin memoria persistente entre ejecuciones no relacionadas: el contexto se construye por tarea. La memoria global suena potente y en la práctica contamina.
08
Arquitectura y dominio
El orquestador es el único componente con estado de la ejecución: conoce la intención, decide el routing, arma el contexto de cada agente y consolida las salidas. Los agentes son sin estado — reciben su contexto completo en cada llamada, lo que los hace reintentables y testeables por separado. Las tools (lectura de repositorio, escritura de ficheros, ejecución de tests, consultas) se declaran por rol: un agente de producto no tiene permiso de escritura.
Usuario
intención de producto
Orchestrator
routing · contexto · consolidación
Product Agent
qué se construye y qué no
Design Agent
UX y estructura
Engineer Agent
implementación
QA Agent
verificación contra la especificación
Human Gate
aprobación explícita
Producción
Los tres agentes del nivel medio se invocan según la intención, no siempre los tres. El gate humano no es opcional ni configurable.
09
AI leverage
Es el objeto del caso, no una ayuda lateral: orquestación, routing por intención, context engineering, tool calling con permisos por rol, structured outputs, reintentos acotados, human-in-the-loop y trazas por ejecución para poder reconstruir por qué el sistema decidió lo que decidió.
10
Retos de ingeniería
- Context engineering: pasar el estado suficiente sin arrastrar toda la historia. El contexto que sobra no es neutro — degrada la salida y multiplica el coste.
- Fallos de herramienta frente a fallos de razonamiento: se parecen en el log y se arreglan de forma opuesta. Separarlos exigió tipar los errores en la frontera de cada tool.
- Evaluación más allá de «funcionó»: verificar que lo implementado corresponde a lo especificado, no solo que compila.
- Observabilidad: sin trazas por paso, un sistema multi-agente es una caja negra que a veces acierta.
- Coste y latencia: cada agente añadido tiene que justificar su precio en calidad de salida, no en elegancia de arquitectura.
11
Resultados
- Ciclo completo especificación → implementación → verificación operado por el sistema, con aprobación humana antes de producción.
- Academy Manager, Fintru y este sitio construidos con él.
- Trazas por ejecución que permiten reconstruir el razonamiento de una decisión.
- Permisos por rol: los agentes sin responsabilidad de escritura no pueden escribir.
12
Aprendizajes
- El cuello de botella de un sistema agentic no es el modelo: es el diseño del contexto y de las fronteras.
- Human-in-the-loop es una decisión de producto —dónde pones el gate—, no un patrón de AI que se activa.
- Un agente que no puede fallar de forma visible no está listo para trabajo real.
- Más agentes no es más capacidad. Cada uno debe existir por una decisión distinta.
13
Contexto adicional
La mayoría de las demos de agentes funcionan porque el camino feliz es el único que se prueba. Lo que cambia al llevarlos a trabajo real no es el modelo: es todo lo que rodea a la llamada — cómo se pasa el contexto entre pasos, qué pasa cuando una herramienta falla, quién decide que algo está terminado.
Por eso el sistema no está diseñado alrededor de prompts sino de contratos: cada agente recibe una entrada tipada y devuelve una salida estructurada que el siguiente puede consumir sin interpretación. Un agente que devuelve prosa obliga al siguiente a adivinar, y ahí es donde los errores se acumulan en silencio.
La decisión de producto más importante fue dónde poner al humano. No en cada paso —eso convierte el sistema en un formulario caro—, sino en la frontera donde el coste de un error deja de ser reversible: antes de tocar producción.
Stack
- TypeScript
- Structured outputs
- Tool calling
- Claude
- OpenAI
- Evaluación
- Observabilidad
