F8.3 F8

Five Orchestration Patterns: From Simple Chains to Dynamic Coordination

Not every agentic system needs the same architecture. Five orchestration patterns cover the range from simple fixed pipelines to complex dynamic coordination. The right choice depends on how much flexibility the task requires.

The five patterns, low to high complexity

1. Prompt Chaining (Low)

A fixed sequence: step A → step B → step C. Each step’s output feeds into the next step’s input. The sequence is predetermined — it doesn’t change based on the data.

Example: Extract data → validate format → generate report. Always these steps, always this order.

2. Routing (Low)

A classifier examines the input and directs it to ONE appropriate handler. Like a switchboard: the input goes to exactly one destination based on its characteristics.

Example: Classify a support ticket as billing/technical/general → send to the matching department handler.

3. Parallelization (Medium)

Multiple independent tasks run simultaneously. Results are combined. This is NOT limited to “same input, majority vote” — different inputs can be processed in parallel, and results can be combined in various ways.

Example: Three agents analyze the same PR for security, style, and performance simultaneously, then findings are merged.

4. Orchestrator-Workers (High)

A coordinator dynamically decomposes the task into subtasks and delegates each to a specialized worker agent. Workers execute and return results. The coordinator synthesizes the combined outputs.

Example: Research coordinator splits a topic into sub-questions → assigns to web researcher, paper analyst, report reader → combines findings into a comprehensive report.

5. Evaluator-Optimizer (High)

Generates output, evaluates its quality, provides feedback, and iterates. The loop continues until quality criteria are met.

Example: Generate marketing copy → evaluator scores it → feedback sent back → regenerate → repeat until quality threshold met.

Routing vs Orchestrator-Workers: the key distinction

Routing selects one handler for the entire input. Orchestrator-Workers decomposes the input into multiple subtasks and assigns multiple workers. Routing is 1-to-1 dispatch. Orchestrator-Workers is 1-to-many delegation with synthesis.

Both can use AI for decision-making. Both can be sync or async. The structural difference is decomposition and multi-worker delegation vs single-handler selection.

Choosing the right pattern

Start simple. If a fixed sequence solves the problem → Prompt Chaining. If you need to dispatch to one of several handlers → Routing. If independent subtasks can run in parallel → Parallelization. If the task requires dynamic decomposition and specialist delegation → Orchestrator-Workers. If quality needs iterative refinement → Evaluator-Optimizer.

Don’t use Orchestrator-Workers when Prompt Chaining suffices. Each step up in complexity adds coordination overhead.


One-liner: Five patterns from simple to complex: Prompt Chaining (fixed sequence) → Routing (single dispatch) → Parallelization (concurrent tasks) → Orchestrator-Workers (dynamic decomposition) → Evaluator-Optimizer (iterative refinement).