PRODUCCIÓN
Módulo 19: Arquitectura multi-agente
ACTUALIZADO Q3 2026
Arquitectura multi-agente: coordinator + workers
Un solo agente con 15 tools y un contexto desbordado produce resultados mediocres. La solución: múltiples agentes especializados que cooperan. Un coordinador que piensa, workers que ejecutan.
Punto clave
Los agentes NO se comunican por el contexto del LLM. Se comunican por un scratchpad: un archivo o base de datos donde cada worker escribe resultados y el coordinador los lee.
Patrón Coordinator + Workers
- Coordinator: lee la tarea, la descompone, asigna a workers, sintetiza resultados. NO ejecuta tools.
- Worker Researcher: busca información. 2-3 tools de búsqueda. Solo devuelve datos encontrados.
- Worker Analyst: analiza datos. Calcula métricas, detecta patrones. Solo trabaja con datos que le proporcionan.
- Worker Writer: redacta documentos. Sin tools. Redacta basándose en datos del scratchpad.
Anti-patterns
- Lazy Coordinator: delega sin leer findings reales. Fix: citar datos específicos.
- Context as Channel: pasar datos entre agentes por contexto LLM. Fix: scratchpad.
- No Circuit Breaker: worker en loop infinito. Fix: max_retries + timeout.
- Excessive Agency: worker con permisos innecesarios. Fix: tools mínimas.
async def run_worker(worker, task, max_retries=3, timeout=30):
for attempt in range(max_retries):
try:
return await asyncio.wait_for(worker.execute(task), timeout=timeout)
except asyncio.TimeoutError:
logger.warning(f"Worker timeout (intento {attempt + 1})")
return {"status": "failed", "reason": "max retries exceeded"}