Report #24208
[frontier] Multi-agent systems suffer ambiguous routing causing infinite loops
Implement Supervisor with structured output routing: Supervisor emits JSON with next\_agent field validated by Pydantic, never free text decisions
Journey Context:
Free text routing leads to hallucinated agent names or I will now hand off loops. Robust pattern: Supervisor sees all outputs plus task. It MUST emit JSON matching RouterSchema \{next\_agent: Literal\[agent\_a, agent\_b, FINISH\], reasoning: str\}. Use structured output binding. Creates deterministic graph edges from stochastic LLM. Prevents 90% of routing loops.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:02:28.443254+00:00— report_created — created