Patrón de agente routing: asignación inteligente de tareas

Enruta cada solicitud al mejor agente o herramienta con criterios explícitos para mejorar calidad, velocidad y costo.
En esta página
  1. Esencia del patrón
  2. Problema
  3. Solución
  4. Cómo funciona
  5. En código se ve así
  6. Cómo se ve durante la ejecución
  7. Cuándo encaja - y cuándo no
  8. Encaja
  9. No encaja
  10. Cuándo usar Routing (vs otros patrones)
  11. Cómo combinarlo con otros patrones
  12. Resumen
  13. Ventajas y desventajas
  14. FAQ
  15. Qué sigue

Esencia del patrón

Agente Routing es un patrón en el que un agente elige qué otro agente o herramienta debe ejecutar una tarea.

Cuándo usarlo: cuando primero hay que elegir el mejor ejecutor o herramienta para una tarea concreta.


En lugar de ejecutar todo por sí mismo, hace esto:

  • analiza la tarea
  • determina quién puede ejecutarla
  • la delega al agente adecuado

Agente Routing: elección entre agentes

Problema

Imagina que en el sistema hay varios especialistas:

  • UI Agent para tareas de frontend
  • Finance Agent para cálculos financieros
  • Code Agent para cambios técnicos

El usuario envía solicitudes diferentes, pero sin un paso de routing no se asignan por especialización, sino a un ejecutor "aleatorio".

El problema no es que los agentes sean débiles, sino que el sistema no sabe elegir de forma estable al ejecutor correcto.

Como resultado:

  • una solicitud especializada va al agente equivocado
  • la calidad baja por pérdida de especialización
  • el tiempo aumenta por intentos extra "fuera de su tema"
  • la ruta se vuelve impredecible

Ese es el problema: sin un paso de routing controlado, incluso una tarea simple puede ser ejecutada por el agente "equivocado" y dar un resultado débil.

Solución

Routing agrega una etapa separada de selección del ejecutor antes de la ejecución.

Analogía: es como un dispatcher en un centro de servicio. El dispatcher no repara por sí mismo, sino que decide a qué especialista enviar la solicitud. Eso es exactamente lo que reduce errores y reasignaciones innecesarias.

Principio clave: primero la elección correcta del ejecutor, luego la delegación de la tarea.

El Router no hace el trabajo por sí mismo. Su rol es controlar la ruta:

  1. Análisis (Analyze): clasificar la solicitud
  2. Decisión (Decide): elegir el agente según routing-rules
  3. Delegación (Delegate): pasar la tarea al ejecutor
  4. Reenrutamiento (Fallback, si hace falta): cambiar de ejecutor en caso de mismatch o error

El diagrama de abajo muestra la ruta básica: elegir un ejecutor y pasarle la tarea.

Esto da:

  • mayor precisión gracias a la especialización
  • menos pasos extra y menor latencia
  • una ruta transparente para depuración y control
  • menor riesgo de errores al elegir ejecutor

Funciona bien si:

  • existen reglas claras de clasificación
  • los roles de los agentes no se solapan de forma caótica
  • hay una ruta de respaldo (fallback) definida
  • el paso de routing (router) no se omite directamente por el usuario ni por la lógica del worker

Incluso si el modelo "quiere" delegar la tarea al primer agente disponible, la routing-policy es la que fija quién debe ejecutarla realmente.

Cómo funciona

Diagram

El Router no ejecuta la tarea por sí mismo.

Solo la delega a un agente especializado, que ejecuta la subtarea en su propio ciclo: Razonamiento (Think) -> Acción (Act) -> Observación (Observe).

Descripción del flujo completo: Analyze → Decide → Delegate

Análisis (Analyze)
El Router identifica el tipo de tarea, el dominio y la especialización necesaria.

Decisión (Decide)
El sistema elige el ejecutor más adecuado según routing-policy y confidence.

Delegación (Delegate)
La tarea se pasa al agente seleccionado, y el Router controla la ruta en caso de mismatch/error.

En código se ve así

PYTHON
agent = route(goal)  # El Router clasifica el goal y elige un ejecutor especializado.

result = agent.run(goal)  # La ejecución la hace el agente elegido, no el Router.
return result

Cómo se ve durante la ejecución

TEXT
Goal: "¿Cuánto impuesto hay que pagar por ingresos freelance?"
Analyze: tarea financiera
Decide: elegir Finance Agent
Route confidence: 0.92 (finance)
Delegate: el sistema pasa la tarea a Finance Agent
Observe: Finance Agent devuelve el cálculo

Goal: "Cambia el color del botón en la landing page"
Analyze: tarea frontend
Decide: elegir UI Agent
Route confidence: 0.89 (ui)
Delegate: el sistema pasa la tarea a UI Agent
Observe: UI Agent devuelve el componente actualizado

El Router solo elige al ejecutor y delega la tarea.

La calidad del resultado depende de lo correcto de esa elección.

Ejemplo completo de agente Routing

PYPython
TSTypeScript · pronto

Cuándo encaja - y cuándo no

Encaja

SituaciónPor qué este patrón encaja
Las tareas difieren por tipo o complejidadEl Router elige un ejecutor para un tipo de tarea concreto en lugar de enviar todo a un solo agente.
Hay agentes especializados para tareas diferentesEl routing permite aprovechar las fortalezas de cada agente.
La precisión de ejecución es importanteLa elección correcta del ejecutor reduce errores y reintentos.

No encaja

SituaciónPor qué este patrón no encaja
Todas las tareas son del mismo tipoUn paso extra de selección de ruta no aporta valor si el ejecutor siempre es el mismo.
En el sistema solo hay un agenteRouting duplica una llamada directa y solo complica el pipeline.
El routing no influye en el resultadoSi la calidad del resultado no cambia según el ejecutor elegido, esta capa sobra.

Porque Routing añade un paso adicional de procesamiento. Si las tareas no difieren, solo ralentiza la ejecución.

Cuándo usar Routing (vs otros patrones)

Usa Routing cuando lo principal es elegir correctamente a quién delegar la solicitud.

Prueba rápida:

  • si necesitas "identificar al mejor ejecutor" -> Routing
  • si necesitas "pasar la tarea por pasos claros" -> Orchestrator Agent
Comparación con otros patrones y ejemplos

Chuleta rápida:

Si la tarea se ve así...Usa
Hay que elegir un único mejor ejecutorAgente Routing
Existe una secuencia de pasos y el orden importaOrchestrator Agent
Se necesita policy-check antes del resultadoSupervisor Agent
Varios agentes deben llegar a una sola conclusiónMulti-Agent Collaboration

Ejemplos:

Routing: "El cliente pide un reembolso - envíalo a Billing, no a Sales".

Orchestrator: "Prepara el release: primero changelog, luego QA, luego despliegue".

Supervisor: "Antes de enviar un correo, revisa políticas, compliance y promesas prohibidas".

Multi-Agent Collaboration: "Marketing, Legal y Product deben acordar un único texto final de promoción".

Cómo combinarlo con otros patrones

  • Routing + Task Decomposition - primero se divide la tarea en partes, y luego Routing envía cada parte al agente adecuado.
  • Routing + Orchestrator - Routing elige al ejecutor, y Orchestrator coordina tareas paralelas y sus dependencias.
  • Routing + Supervisor - Supervisor verifica si la elección del ejecutor cumple políticas y nivel de riesgo.

Resumen

En resumen

Agente Routing:

  • Analiza la tarea
  • Elige el agente adecuado
  • La delega para ejecución

Ventajas y desventajas

Ventajas

envía rápido la tarea al agente correcto

elimina pasos innecesarios

mejora el tiempo de respuesta

facilita agregar rutas nuevas

Desventajas

un error de routing envía la tarea al lugar equivocado

hay que mantener las reglas de routing

los casos complejos requieren excepciones

FAQ

Q: ¿Puede el Router ejecutar la tarea por sí mismo?
A: No. Solo determina quién debe ejecutarla.

Q: ¿Hace falta Routing si solo hay un agente?
A: No. En ese caso añade un paso innecesario.

Q: ¿Se puede cambiar la ruta durante la ejecución?
A: Sí. Si el agente seleccionado no puede ejecutar la tarea o devuelve un error, el Router puede pasarla a otro agente.

Qué sigue

Routing permite elegir el agente adecuado.

Pero, ¿qué hacer si las tareas deben ejecutarse en paralelo?

⏱️ 9 min de lecturaActualizado Mar, 2026Dificultad: ★★☆
Continuación práctica

Ejemplos de implementación del patrón

Continúa con la implementación usando proyectos de ejemplo.

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.