The Agent Orchestration pattern coordinates multiple specialized agents to collaboratively complete complex tasks that exceed the capabilities of a single agent.

This pattern divides complex work among specialized agents:
| Resource | Purpose |
|---|---|
| Context Store | Shared memory for task state |
| Task Queue | Ordered list of pending subtasks |
| Tool Registry | Available tools for agents |
Orchestrator
├── Planner
├── Executor 1
├── Executor 2
└── Reviewer
Planner → Executor → Reviewer → Orchestrator
Agent A ←→ Agent B ←→ Agent C
↓
Orchestrator
{
"message_type": "task_assignment",
"from": "orchestrator",
"to": "executor_1",
"payload": {
"task_id": "task_123",
"description": "Implement user authentication",
"context": { "relevant_files": ["auth.py"] },
"constraints": { "time_limit": 300 }
}
}
| State | Description |
|---|---|
PENDING |
Task awaiting assignment |
PLANNING |
Being decomposed by planner |
IN_PROGRESS |
Being executed |
REVIEW |
Awaiting quality check |
REVISION |
Needs rework |
COMPLETED |
Successfully finished |
FAILED |
Could not be completed |
| Benefit | Description |
|---|---|
| Specialization | Each agent optimized for its role |
| Scalability | Add agents as needed |
| Reliability | Review catches errors |
| Flexibility | Reconfigure for different tasks |
| Pattern | Relationship |
|---|---|
| LLM Tool Call | Agents use tools |
| Skills Pattern | Agents may have skills |
| Tool Chaining | Executors chain tools |