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.