Agent Architecture/Workflow Patterns
Advanced11 min

Orchestrator-Worker: Plan, Delegate, Synthesize

The Orchestrator-Worker pattern breaks complex tasks into subtasks, delegates to specialized workers via the Send API, and synthesizes results — ideal for parallel, multi-step work.

Quick Reference

  • Orchestrator plans the work → workers execute in parallel → orchestrator synthesizes results
  • LangGraph Send API dynamically creates worker nodes at runtime based on the plan
  • Workers have their own state and write results to a shared state key via reducers
  • Unlike Router (one hop) or Supervisor (iterative), Orchestrator plans upfront then delegates
  • Best for tasks with clear decomposition: research, analysis, code generation across files
  • Workers can be different agent types — each with specialized tools and system prompts

What Is Orchestrator-Worker?

OrchestratorPlans subtasksSend APIWorker AResearchWorker BAnalysisWorker CCodingoperator.addOrchestratorSynthesizes resultsFinal output

Orchestrator plans → Send API fans out to workers → reducer collects → orchestrator synthesizes

Definition

The Orchestrator-Worker pattern is a two-phase approach: (1) an orchestrator LLM analyzes the task and creates a plan of subtasks, then (2) worker agents execute each subtask in parallel. The orchestrator collects all results and synthesizes a final output. This is the go-to pattern when work is decomposable into independent parallel subtasks.

PhaseActorAction
1. PlanOrchestratorAnalyze task → break into subtasks with clear inputs
2. DelegateSend APIDynamically spawn one worker per subtask
3. ExecuteWorkersEach worker completes its subtask independently
4. CollectReducerWorker results aggregate into shared state
5. SynthesizeOrchestratorCombine all results into final output