Anti-Pattern Multi-Agent Overkill: demasiados agentes

Cuando se utilizan demasiados agentes para resolver un problema simple.
En esta página
  1. Idea en 30 segundos
  2. Ejemplo del anti-patrón
  3. Por qué aparece y qué sale mal
  4. Enfoque correcto
  5. Prueba rápida
  6. Cómo se diferencia de otros anti-patterns
  7. Overengineering Agents vs Multi-Agent Overkill
  8. Agent Everywhere Problem vs Multi-Agent Overkill
  9. Too Many Tools vs Multi-Agent Overkill
  10. Autoevaluación: ¿tienes este anti-patrón?
  11. FAQ
  12. Qué sigue

Idea en 30 segundos

Multi-Agent Overkill es un anti-patrón donde se lanzan demasiados agentes para una sola tarea sin límites claros de roles.

Como resultado, crece el ruido de coordinación: handoffs innecesarios, duplicación de acciones y decisiones en conflicto entre agentes. Esto aumenta latency, cost y el riesgo de regresiones en escenarios simples.

Regla simple: agrega un agente nuevo solo cuando haya un rol claro, un beneficio medible y un límite explícito de responsabilidad.


Ejemplo del anti-patrón

El equipo construye un sistema de soporte para consultas de pago, devolución y estado de pedido.

En lugar de un router y 1-2 agentes especializados, el equipo agrega una cascada de muchos roles.

PYTHON
response = orchestrator_agent.run(
    "User: ¿Dónde está mi pedido #18273?"
)

En este esquema, una solicitud simple pasa por demasiados handoffs:

PYTHON
plan = planner_agent.run(user_message)
route = router_agent.run(plan)
facts = retrieval_agent.run(route)
draft = responder_agent.run(facts)
checked = policy_agent.run(draft)
final = critic_agent.run(checked)

En esta cadena, varios agentes suelen empezar a hacer funciones parecidas: por ejemplo, planner y router duplican clasificación, y policy y critic revisan las mismas reglas.

Para este caso basta una arquitectura más simple:

PYTHON
order = get_order(order_id)
return format_order_status(order)

En este caso, el exceso de agentes añade:

  • handoffs innecesarios entre roles
  • verificaciones y decisiones duplicadas
  • mantenimiento difícil después de cambios

Por qué aparece y qué sale mal

Este anti-patrón aparece con frecuencia cuando el equipo diseña para escalar demasiado pronto y agrega agentes "por si acaso".

Causas típicas:

  • deseo de hacer una arquitectura "enterprise-ready" antes de la necesidad real
  • copiar esquemas multi-agent de demos sin adaptarlos a tareas propias
  • falta de límites claros entre roles de agentes
  • intentar cubrir cada caso no estándar con un agente separado

Esto produce problemas:

  • mayor latency - cada handoff agrega un paso más
  • mayor cost - más llamadas LLM/tool por solicitud
  • conflicto de decisiones - los agentes pueden dar interpretaciones diferentes del mismo contexto
  • fragilidad de cambios - cambiar un rol rompe escenarios vecinos
  • debug difícil - cuesta encontrar qué agente tomó la decisión crítica

A diferencia de una arquitectura simplemente sobre-ingenierizada, aquí la falla principal aparece justo en los límites entre agentes: durante handoff, duplicación de roles y pérdida del owner de la decisión.

Señales típicas de producción de que ya hay demasiados agentes:

  • una solicitud típica de usuario dispara 4+ agent handoffs donde 1-2 serían suficientes
  • el mismo caso pasa por cadenas diferentes en distintos runs
  • agregar un agente nuevo empeora success rate o P95 en rutas existentes
  • el equipo no puede explicar claramente quién es el "owner" de la respuesta final

Es importante que cada handoff suele implicar un prompt nuevo y una nueva LLM inference. Cuando hay demasiadas transiciones, crece la cantidad de interpretaciones posibles y el comportamiento del sistema se vuelve menos estable.

Cuando este esquema crece, sin trace ni visualización de ejecución es difícil entender qué agente tomó la decisión final y dónde apareció el fallo en la cadena.

Enfoque correcto

Empieza con un esquema multi-rol mínimo: una capa de enrutamiento y solo los agentes con valor único. Agrega roles nuevos solo después de métricas o incidentes.

Marco práctico:

  • mantén workflow para tareas deterministas
  • agrega handoff entre agentes solo donde haya especialización real
  • fija owner explícito de cada etapa (quién toma la decisión final)
  • mide el efecto de agregar un rol (por ejemplo, mejora de success rate sin aumento fuerte de latency y cost per request)

Si de verdad necesitas un esquema multi-agent, empieza mínimo: un coordinator y un specialist, no una cascada completa de roles.

PYTHON
def run_support_flow(user_message: str):
    route = classify_intent(user_message)  # simple classifier or rules

    if route == "order_status":
        return run_order_status_workflow(user_message)

    response = specialist_agent.run(user_message)

    if not validate_output(response):  # format, required fields, no empty answer
        return stop("invalid_output")

    return response

En este esquema, los escenarios simples no pasan por una cascada multi-agent innecesaria, y los casos complejos se procesan con la cantidad mínima de roles necesaria.

Prueba rápida

Si estas preguntas se responden con "sí", tienes riesgo multi-agent-overkill:

  • ¿Una solicitud típica pasa regularmente por 4+ agent handoffs?
  • ¿El mismo caso pasa por cadenas de agentes distintas en diferentes runs?
  • ¿Después de agregar un rol nuevo, aumentan más veces latency y cost que la calidad?

Cómo se diferencia de otros anti-patterns

Overengineering Agents vs Multi-Agent Overkill

Overengineering AgentsMulti-Agent Overkill
Problema principal: capas y componentes arquitectónicos innecesarios.Problema principal: exceso de agentes y coordinación compleja entre ellos.
Cuándo aparece: cuando en la arquitectura general se agregan niveles extra de abstracción sin necesidad.Cuándo aparece: cuando una solicitud atraviesa demasiados handoffs entre roles de agentes.

Agent Everywhere Problem vs Multi-Agent Overkill

Agent Everywhere ProblemMulti-Agent Overkill
Problema principal: el agente se usa incluso para tareas deterministas.Problema principal: hay varios agentes que se duplican o entran en conflicto.
Cuándo aparece: cuando if/else básicos o llamadas API se reemplazan por un agente.Cuándo aparece: cuando el workflow multi-agent tiene solapamiento de responsabilidades entre roles.

Too Many Tools vs Multi-Agent Overkill

Too Many ToolsMulti-Agent Overkill
Problema principal: un solo agente tiene demasiadas herramientas.Problema principal: las herramientas se reparten entre demasiados agentes y crean handoffs innecesarios.
Cuándo aparece: cuando el menú de tools de un agente crece sin límites claros.Cuándo aparece: cuando el enrutamiento de herramientas pasa por una cadena innecesaria de handoffs entre agentes.

Autoevaluación: ¿tienes este anti-patrón?

Revisión rápida del anti-pattern Multi-Agent Overkill.
Marca los puntos para tu sistema y revisa el estado abajo.

Revisa tu sistema:

Progreso: 0/8

⚠ Hay señales de este anti-patrón

Intenta mover los pasos simples a un workflow y dejar el agente solo para decisiones complejas.

FAQ

Q: ¿Esto significa que el enfoque multi-agent siempre es malo?
A: No. Es útil cuando los roles son realmente distintos, el handoff tiene una meta clara y el owner de la respuesta final está definido de forma explícita. El problema aparece cuando hay más agentes que necesidad real.

Q: ¿Cuándo deberíamos agregar un agente nuevo?
A: Cuando exista una señal concreta: mejora de calidad, nueva clase de tareas o incidentes que el esquema actual no cubre sin crecimiento desproporcionado de latency, cost o complejidad de debug.

Q: ¿Cómo simplificar un sistema multi-agent ya sobrecargado?
A: Empieza con mapeo de roles: fusiona duplicados, devuelve casos deterministas a workflow y deja handoffs de agentes solo donde exista especialización única.


Qué sigue

Anti-patterns relacionados:

Qué construir en su lugar:

  • Routing Agent - cómo enviar casos simples a workflow y enrutar los complejos al rol correcto.
  • Orchestrator Agent - cómo construir una capa de coordinación sin handoffs innecesarios.
  • Hybrid Workflow + Agent - cómo combinar ramas deterministas y decisiones de agentes sin sobrecargar el sistema.
⏱️ 8 min de lecturaActualizado 16 de marzo de 2026Dificultad: ★★★
Implementar en OnceOnly
Safe defaults for tool permissions + write gating.
Usar en OnceOnly
# onceonly guardrails (concept)
version: 1
tools:
  default_mode: read_only
  allowlist:
    - search.read
    - kb.read
    - http.get
writes:
  enabled: false
  require_approval: true
  idempotency: true
controls:
  kill_switch: { enabled: true, mode: disable_writes }
audit:
  enabled: true
Integrado: control en producciónOnceOnly
Guardrails para agentes con tool-calling
Lleva este patrón a producción con gobernanza:
  • Presupuestos (pasos / topes de gasto)
  • Permisos de herramientas (allowlist / blocklist)
  • Kill switch y parada por incidente
  • Idempotencia y dedupe
  • Audit logs y trazabilidad
Mención integrada: OnceOnly es una capa de control para sistemas de agentes en producción.
Autor

Esta documentación está curada y mantenida por ingenieros que despliegan agentes de IA en producción.

El contenido es asistido por IA, con responsabilidad editorial humana sobre la exactitud, la claridad y la relevancia en producción.

Los patrones y las recomendaciones se basan en post-mortems, modos de fallo e incidentes operativos en sistemas desplegados, incluido durante el desarrollo y la operación de infraestructura de gobernanza para agentes en OnceOnly.