What Is Orchestration
Orchestration is the design work of coordinating multi-step workflows and multiple AI agents so that they add up to one completed job. Like a conductor holding an orchestra together, it decides the order of steps, who handles each one, and where a human reviews the result.
Why Orchestration Is Needed
An AI agent can execute tasks autonomously, but handing one agent an entire long process tends to create these problems.
| Problem | Description |
|---|---|
| Context growth | More steps mean longer history, which dilutes the important instructions |
| Mixed responsibilities | Combining research, implementation, and verification in one instruction blurs the criteria |
| Hard to locate failures | It becomes difficult to trace which step went wrong |
| Costly re-runs | Redoing one part requires redoing the whole thing |
Splitting the work into steps, each with a suitable handler and completion condition, improves all of these considerably.
The Four Decisions Orchestration Makes
graph LR
Split["Split the work\nwhere to draw boundaries"] --> Assign["Assign handlers\nwho does what"]
Assign --> Flow["Control the flow\nsequential, branching, parallel"]
Flow --> Check["Verify and recover\ncompletion conditions, failure handling"]- Split the work — draw boundaries so each step has a single purpose
- Assign handlers — an agent, a subagent, ordinary program code, or a human
- Control the flow — sequential execution, conditional branching, or parallel execution
- Verify and recover — define completion conditions and where to fall back on failure
Do Not Hand Everything to AI
A commonly missed decision in orchestration is that deterministic work belongs in ordinary program code. File input and output, format conversion, and test execution follow fixed procedures, so running them as code is faster, more stable, and cheaper than asking an LLM to reason through them every time.
What belongs to AI is the part that cannot be reduced to a fixed procedure: judgment, summarization, generation, and handling exceptions.
Pages in This Section
| Page | Content |
|---|---|
| Orchestration Patterns | Comparison of single-agent, multi-agent, and hierarchical structures |
| Comparing Orchestration in Claude, ChatGPT, and Codex | Compare the controls exposed by Chat, Cowork, Code, Work, and Codex |
| Parent-Child Agent Design in Claude Code | Concrete examples of .claude/agents/, Skills, models, effort, and worktrees |
| Parent-Child Agent Design in Codex | Concrete examples of .codex/agents/, .agents/skills/, AGENTS.md, and reasoning effort |
| Agent Frameworks | Comparison of LangGraph, OpenAI Agents SDK, Claude Agent SDK, Google ADK, and other options |
| State and Handoff | Designing how information passes between steps |
| Failure Detection and Recovery | Detecting and recovering from mid-process failures |
Summary
- Orchestration coordinates the overall flow across multiple steps and multiple agents
- It decides four things: splitting work, assigning handlers, controlling flow, and verification with recovery
- Fixed procedures belong in program code; AI handles the parts that require judgment