Patrones
Patrón: Agent Router
El bloque start_agent como punto de entrada, clasificador y guardia.
Fuente: patterns/ascript-patterns-topic-selector.md
Todo mensaje del usuario empieza en start_agent. Da la bienvenida, clasifica la intención, enruta al subagente adecuado y controla qué subagentes están disponibles según el estado del usuario.
start_agent agent_router: description: "Welcome the user and determine the appropriate subagent based on user input" reasoning: instructions: -> | Select the best tool to call based on conversation history and user's intent. actions: go_to_orders: @utils.transition to @subagent.Order_Management description: "Handles order lookup, refunds, and order updates." go_to_faq: @utils.transition to @subagent.General_FAQ description: "Handles FAQ lookup and provides answers to common questions." go_to_escalation: @utils.transition to @subagent.Escalation description: "Escalate to a human representative."
Consejos
- Limita los subagentes: empieza por los imprescindibles. Menos opciones, decisiones de enrutado más claras.
- Usa el prefijo go_to_ para que el agente entienda que esa acción navega.
- Descripciones detalladas y únicas, sobre todo si hay subagentes parecidos.
- Oculta subagentes según el contexto con available when.
- Para decisiones críticas, usa transiciones condicionales en vez de confiar en el LLM.
Puedes designar otro subagente como inicial, o prescindir del router si controlas el enrutado de otra manera.
Temas relacionados