Tus agentes están bien. El traspaso entre ellos no lo está.
La mayoría de las demostraciones de agentes múltiples te muestran a un solo agente con un disfraz. Muestran al Agente A realizando una tarea y luego al Agente B realizando otra. No muestran qué sucede cuando el Agente A no logra entregarle al Agente B lo que necesita.
Este año he lanzado tres sistemas multi-agente en producción. Los agentes no fueron la parte difícil. Los traspasos sí lo fueron.
Un traspaso es más que pasar texto. Debes gestionar:
- Alineación de esquemas: El Agente B debe analizar la salida del Agente A cada vez.
- Propagación de fallos: El sistema debe saber cuándo falla un agente.
- Higiene del contexto: Cada traspaso añade ruido a tu ventana de contexto.
El mayor error es tratar a los agentes como cajas negras conectadas por un hilo. Le das un prompt al Agente A, obtienes un resultado y lo metes a la fuerza en el Agente B. Esto funciona hasta que se rompe. Cuando se rompe, no sabrás por qué.
Evita estos tres modos de fallo comunes:
Truncamiento silencioso: El Agente A produce demasiados datos. El Agente B corta el final. Luego, el Agente B procesa datos parciales y te devuelve tonterías. Mide el recuento de tokens en cada paso.
Deriva de esquemas (Schema drift): Cambias un prompt para el Agente A. Ahora devuelve un formato diferente. El Agente B falla porque espera el formato antiguo. Utiliza salidas estructuradas como Pydantic en lugar de confiar solo en los prompts.
Condiciones de carrera (Race conditions): Ejecutas cinco trabajadores a la vez. Tres terminan, pero dos siguen en ejecución. Tu agregador comienza antes de tiempo con datos parciales. Esto funciona en las pruebas, pero falla en producción. Utiliza una barrera para esperar a que todas las tareas finalicen.
Mi primer sistema era ingenioso pero desordenado. Utilizaba enrutamiento dinámico y traspasos implícitos. Funcionaba hasta que se enfrentó al tráfico real y falló silenciosamente.
Mi segundo sistema era feo pero correcto. Cada traspaso utilizaba un contrato tipado. Cada fallo era explícito. Cada agente estaba aislado.
Mi sistema actual combina ambos. Utiliza la disciplina de la segunda versión, pero oculta el código aburrido tras un framework.
Si construyes sistemas multi-agente, empieza por la versión fea y correcta. No intentes ser ingenioso primero. Haz que funcione bien en producción y luego hazlo elegante.
El problema del traspaso no se vuelve más fácil. Pero dejarás de sorprenderte por él.
Fuente: https://dev.to/mrclaw207/your-agents-are-fine-the-handoff-between-them-isnt-2dij
Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi
