Report #55699
[frontier] Static LangGraph workflows break when user intent spans multiple domains or requires runtime adaptive delegation between specialized agents
Implement IntentRouter: use a lightweight LLM call to classify intent against semantic descriptions of available agents/tools, route to sub-graphs dynamically based on confidence scores, and maintain routing history to prevent thrashing. Use 'clarification' edges for low-confidence classifications.
Journey Context:
Hardcoded edges in LangGraph work for simple flows but fail on complex multi-agent scenarios where the required agent depends on nuanced intent. The evolution is from 'if-else' to 'semantic routing'. LlamaIndex has RouterModules but production implementations add 'routing context' to prevent thrashing \(avoiding rapid switching between agents\). Key insight: the router itself should be a lightweight LLM call with few-shot examples of edge cases, not a complex embedding model. Tradeoff: latency increases by one LLM call \(100-500ms\). Alternative is embedding-based routing \(faster but less accurate on complex intent\). Anti-pattern is routing based on keyword matching or single embeddings; use semantic similarity on agent capability descriptions with explicit examples.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:59:10.308356+00:00— report_created — created