Arquitecturas donde múltiples agentes de IA especializados colaboran, compiten o se coordinan para resolver problemas complejos que exceden la capacidad de un solo agente.
Un sistema multi-agente es una arquitectura donde múltiples agentes de IA especializados trabajan juntos para resolver problemas complejos. Cada agente tiene un rol, herramientas y conocimiento específico, y se coordinan mediante patrones de comunicación definidos.
La idea no es nueva — viene de la investigación en sistemas distribuidos de los 90s — pero los LLMs la han revitalizado al hacer posible agentes que se comunican en lenguaje natural.
Un agente principal delega tareas a agentes especializados:
Orquestador
├── Agente de investigación
├── Agente de código
└── Agente de revisión
Ventaja: control claro. Desventaja: cuello de botella en el orquestador.
Agentes autónomos que se pasan el control entre sí según reglas:
Agente A → (condición) → Agente B → (condición) → Agente C
Ventaja: flexible, descentralizado. Desventaja: difícil de debuggear.
Múltiples agentes proponen soluciones y un juez selecciona la mejor:
Agente 1 → Propuesta
Agente 2 → Propuesta → Juez → Mejor solución
Agente 3 → Propuesta
Agentes conectados en un grafo dirigido con flujos condicionales:
Entrada → Clasificador → [Ruta A: Agente 1 → Agente 2]
→ [Ruta B: Agente 3]
→ Sintetizador → Salida
El patrón agents-as-tools convierte cada agente especializado en una herramienta que el orquestador puede invocar. Con Strands Agents:
from strands import Agent
from strands.models.bedrock import BedrockModel
# Agentes especializados
researcher = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
system_prompt="Eres un investigador. Busca información técnica precisa.",
tools=[web_search, arxiv_search],
)
reviewer = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
system_prompt="Eres un revisor técnico. Verifica claims y detecta errores.",
tools=[fact_check],
)
# Orquestador que usa agentes como herramientas
orchestrator = Agent(
model=BedrockModel(model_id="anthropic.claude-sonnet-4-20250514"),
system_prompt=(
"Coordinas un equipo de agentes. "
"Usa 'researcher' para buscar información y 'reviewer' para verificarla."
),
tools=[researcher.as_tool(), reviewer.as_tool()],
)
result = orchestrator("Investiga las mejores prácticas de prompt caching y verifica los datos")Cada agente mantiene su propio contexto y herramientas. El orquestador decide cuándo invocar a cada uno basándose en la tarea.
| Framework | Enfoque | Topología principal |
|---|---|---|
| Strands Agents | Agents-as-tools, graph, swarm | Orquestador + grafo |
| CrewAI | Roles y tareas estructuradas | Orquestador |
| AutoGen | Conversaciones multi-agente | Swarm |
| LangGraph | Grafos de estado con agentes | Grafo |
Los sistemas multi-agente introducen modos de fallo que no existen en agentes individuales:
| Fallo | Causa | Recuperación |
|---|---|---|
| Cascada de errores | Un agente falla y los dependientes también | Circuit breaker por agente, fallback a respuesta parcial |
| Deadlock | Dos agentes esperan la respuesta del otro | Timeouts por interacción, detección de ciclos |
| Divergencia | Agentes producen resultados contradictorios | Agente juez que resuelve conflictos, votación por mayoría |
| Explosión de costos | Agentes que se invocan recursivamente | Límite de profundidad, presupuesto de tokens por tarea |
| Context drift | El contexto compartido se degrada entre iteraciones | Resumen periódico del estado, checkpoints |
El costo de un sistema multi-agente crece multiplicativamente:
Costo ≈ N_agentes × promedio_tokens_por_agente × precio_por_token × iteraciones
Un orquestador con 3 agentes especializados que hacen 2 iteraciones cada uno consume aproximadamente 6-8x más tokens que un solo agente resolviendo la misma tarea. La pregunta clave: ¿la mejora en calidad justifica el costo adicional?
Estrategias para controlar costos:
| Criterio | Agente único | Multi-agente |
|---|---|---|
| Tarea homogénea | ✓ | Overkill |
| Múltiples dominios de expertise | Contexto insuficiente | ✓ |
| Necesidad de verificación cruzada | No posible | ✓ |
| Presupuesto limitado de tokens | ✓ | Costoso |
| Subtareas independientes | Secuencial | ✓ (paralelo) |
Los sistemas multi-agente permiten descomponer tareas complejas en subtareas especializadas, donde cada agente tiene su propio contexto, herramientas y modelo. Pero no son la solución por defecto — un solo agente bien configurado resuelve la mayoría de problemas. Multi-agente se justifica cuando la tarea genuinamente requiere expertise diverso, verificación cruzada o procesamiento paralelo de subtareas independientes.
Sistemas autónomos que combinan modelos de lenguaje con razonamiento, memoria y uso de herramientas para ejecutar tareas complejas de múltiples pasos con mínima intervención humana.
SDK open source de AWS para construir agentes de IA con un enfoque model-driven. Agentes funcionales en pocas líneas de código, con soporte multi-modelo, herramientas personalizadas, MCP, multi-agente y observabilidad integrada.
Patrones de diseño donde agentes de IA ejecutan tareas complejas de múltiples pasos de forma autónoma, combinando razonamiento, uso de herramientas y toma de decisiones iterativa.
Patrones y frameworks para coordinar múltiples modelos de IA, herramientas y fuentes de datos en pipelines de producción, gestionando el flujo entre componentes, la memoria y la recuperación de errores.
Sistema de tres agentes que automatiza el ciclo de vida de contenido MDX bilingüe: auditoría QA determinística, correcciones quirúrgicas y upgrades completos — todo orquestado con Strands Agents, Claude Sonnet 4 en Amazon Bedrock y GitHub Actions con patrón diamante.