Report #86783
[frontier] Multi-agent orchestrator becomes a fragile bottleneck with complex routing logic and state management
Replace the orchestrator-worker topology with the Agent-as-Tool pattern: give a primary agent specialized sub-agents as callable tools. The primary agent uses native tool-use to invoke sub-agents, receive their results, and decide next steps — eliminating the separate orchestration layer.
Journey Context:
The orchestrator-worker pattern \(a dedicated orchestrator that dispatches tasks to worker agents\) seems natural but introduces a fragile intermediate layer. The orchestrator must manage routing logic, agent selection, context passing, error handling, and state — all in custom code. This code is brittle and doesn't benefit from the LLM's native ability to reason about tool selection. The Agent-as-Tool pattern collapses this: the primary agent has sub-agents registered as tools \(e.g., code\_reviewer, test\_writer, doc\_generator\). When it needs specialized work, it calls the sub-agent tool with a natural language description of the task. The sub-agent runs to completion and returns a result. This leverages the LLM's existing tool-use training for routing, eliminates custom orchestration code, and keeps the control flow simple. OpenAI's Swarm framework demonstrated this pattern's viability. The tradeoff: the primary agent's context window becomes the bottleneck for results, so sub-agent outputs must be concise. This pattern works best when sub-agents perform well-scoped tasks with clear inputs/outputs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T04:15:23.907594+00:00— report_created — created