Why orchestration exists
A single LLM call has a context window ceiling, a fixed inference budget, and no memory across turns. Multi-agent orchestration sidesteps all three by decomposing a large task into units that fit comfortably inside one model call each, then stitching results together.
The mental model: think of it like a process supervisor (supervisord, Kubernetes, a build graph). An orchestrator issues tasks; subagents execute them. The orchestrator can be another LLM, a deterministic scheduler, or plain application code. Subagents are usually stateless LLM calls — sometimes tool-using, sometimes pure text.
This decomposition unlocks parallelism, specialization, and iterative refinement. But every subagent invocation costs tokens, latency, and coordination complexity. The central engineering question is: does the output quality gain exceed that cost?
