Skip to content
Agentic Architectures & Multi-Agent PatternsOrchestrator–worker

Lead · 8 chapters

Orchestrator–worker

A parent decomposing work dynamically, dispatching workers, and synthesizing their results

This pattern earns its complexity only when parallel specialist work improves outcomes enough to offset coordination overhead, extra tokens, and more failure surfaces.

Read these first

What you will know

  • Build an orchestrator that decomposes work dynamically

    Poor task boundaries create duplicated effort, missing dependencies, or prompts too large for workers to execute reliably.

  • Dispatch workers and synthesise their results

    The parent needs explicit contracts, correlation, deadlines, and a bounded aggregation path rather than an unstructured pile of responses.

  • Handle a worker that fails or returns garbage

    Timeouts, malformed outputs, confident fabrications, and partial completion require validation and recovery without silently corrupting the final answer.

  • Instrument synthesis quality and failure causes across representative runs

    A final answer can look coherent while omitting the strongest evidence, so traces must connect worker outputs, selection decisions, and evaluator judgments.

  • Show it beating a single agent on a real task

    The comparison should include answer quality, latency, token spend, and operational failure rate, not just one favorable example.


Chapters

  1. 1

    Reconciling conflicting worker results is the new reasoning step

    A planner–executor split decides a sequence and carries it out; an orchestrator must additionally fold several workers' results into one answer when those results disagree. That reconciliation is a judgement with no counterpart in a sequential design — which is why correlation identifiers and deadlines, needed wherever work is dispatched and awaited, are the wrong thing to name as the difference.

  2. 2

    A decomposition is an artefact to check before it is dispatched

    Six worker tasks where three cover substantially the same ground and a sub-question the answer needed went to nobody: the defect sits upstream of every worker. Require the orchestrator to emit scopes it claims are disjoint and whose union it claims covers the goal, then verify both properties in code before dispatch and re-plan when they fail. Bad boundaries also produce prompts too large to execute reliably.

  3. 3

    Some goals cannot be scoped until the first worker returns

    Validating a decomposition assumes one can be written before dispatch, and there are tasks where it cannot: a research goal whose later sub-questions are defined by what an earlier worker found admits no set of scopes that is both disjoint and covering at planning time. That sequential dependence is a property of the task you can name before building anything, and it is the strongest reason to choose a sequential planner over an orchestrator — quite separate from the empirical case a token bill and a tail latency make later. Recognising it early also stops you from forcing a decomposition and getting the duplicated-and-missing scopes as a consequence.

  4. 4

    An answer built from four of five workers reads exactly as whole

    One worker times out on 6% of runs, the orchestrator synthesises from what came back, and the result is indistinguishable in tone and structure from a complete answer — for two months. No prompt instruction repairs this: the synthesiser sees four documents and cannot perceive that a fifth was expected. Coverage lives in dispatch state, so carry it through contracts, correlation and deadlines into what you return.

  5. 5

    Contradicting workers need a merge rule, not a bigger window

    This is the step with no counterpart in a sequential design, and it has to be built rather than left to a prompt. Decide in advance what happens when worker A and worker B assert incompatible facts: prefer the claim with the stronger evidence span, prefer the more recent source, keep both and mark the conflict for the reader, or send the pair back for a targeted re-check. Then decide how the outputs get combined at all when they do not fit one window — staged aggregation in batches, or a tree that merges pairs upward — because a bounded aggregation path is what stops the parent from degrading into an unstructured pile of responses whose last entries fall out of context.

  6. 6

    One worker's fabricated statistic becomes the answer's claim

    A well-formatted paragraph containing an invented number passes every structural check and is folded into an otherwise sound answer. Timeouts and malformed output announce themselves; confident fabrication does not. Require each worker claim to carry the evidence span it came from, validate that at the aggregation boundary, and treat any load-bearing claim supported by exactly one worker as needing a check first.

  7. 7

    What the synthesiser discarded is a policy nobody recorded

    Reviewers can see the strongest evidence sitting in the worker outputs and missing from the final answer, while the aggregate score has not moved. Selection is the unmeasured step: nothing records which worker outputs the synthesis used and which it dropped. Instrument that, score its recall against the evidence reviewers rate highest, and a prompt change becomes something you can tell the effect of.

  8. 8

    Runs that produce nothing belong inside the quality number

    Six points above a single agent on 200 tasks, at 3.4x the tokens, 2.8x the p95, and 4% of runs failing outright with coordination errors. Those runs return no answer, so they belong inside the quality figure rather than beside it as follow-up work. The experiment that would most change the decision: give the single agent the same 3.4x token budget and see how much of the gap closes.

External resources