What it is
In the orchestrator-workers workflow, a central LLM dynamically breaks down a task, delegates the pieces to worker LLMs, and synthesizes their results. The key difference from parallelization: the subtasks are NOT predefined — the orchestrator decides them at run time.
How it works
Input ─▶ [ Orchestrator LLM ]
│ decides subtasks at run time
├─▶ [ Worker 1 ] ─┐
├─▶ [ Worker 2 ] ─┼─▶ [ Orchestrator synthesizes ] ─▶ Output
└─▶ [ Worker N ] ─┘When to use it
Well-suited for complex tasks where you can't predict the subtasks needed. — Anthropic
- The number and shape of subtasks depend on the input and only emerge at run time.
- A central 'mind' is needed to plan, dispatch, and stitch results back together.
- Parallelization isn't enough because you can't pre-list the subtasks.
Trade-offs
- More moving parts than the earlier workflows — harder to debug and evaluate.
- Everything hinges on the orchestrator's planning quality.
- OpenAI's caution: maximize a single agent first; add agents only when prompts/tools overload.
Concrete examples
- Coding products that make complex changes across multiple files at once.
- Search tasks that gather and analyze information from many sources, then synthesize.
- Examples from Anthropic; the manager-pattern framing is from OpenAI.