The 5 Multi-Agent Patterns
- ▸Name and describe all 5 multi-agent patterns
- ▸Know when each pattern is the right fit
- ▸Understand the concept of context engineering across agents
Once you decide to go multi-agent, the next question is: how should the agents communicate and coordinate? There are five established patterns, each with distinct trade-offs. Let's walk through them.
1. Subagents (Supervisor pattern)
A supervisor agent orchestrates child agents. It decides which subagent to call, passes context, and synthesizes results. The subagents do not talk to each other directly — all communication goes through the supervisor.
When to use: When you need centralized control and the supervisor must make strategic decisions about which agents to invoke and in what order.
2. Handoffs (Sequential transfer)
Agents pass control to each other in a conversation-like flow. Agent A handles the first part of a task and then "hands off" to Agent B with the relevant context. The conversation state flows from one agent to the next.
When to use: Conversational systems where different stages require different specializations — like triage, then specialist, then follow-up.
3. Skills (Tool-like agents)
Agents are exposed as tools that a parent agent can call. Each "skill" agent is a black box — the parent calls it with inputs and gets outputs back, just like calling a function. The skill agent manages its own context internally.
When to use: When sub-tasks are well-defined and self-contained. The parent does not need to see the skill agent's internal reasoning — just the result.
4. Router (Dynamic dispatch)
A lightweight routing layer examines the input and dispatches it to the right specialized agent. Unlike the supervisor pattern, the router does minimal processing — it just classifies and routes. The selected agent handles the entire task.
When to use: When you have clearly distinct domains and inputs naturally fall into categories — customer support with billing, tech, and general queues.
5. Custom (Hybrid patterns)
Real-world systems often combine multiple patterns. A router might dispatch to subagent clusters. A handoff chain might invoke skill agents at certain steps. Custom patterns emerge when no single pattern fits your constraints.
When to use: When your requirements span multiple patterns, or when you need to optimize for a specific constraint (latency, cost, accuracy) that no single pattern addresses.
Comparison matrix
| Centralized control | Context isolation | Parallelism | Conversational | Composable | |
|---|---|---|---|---|---|
| Subagents | |||||
| Handoffs | |||||
| Skills | |||||
| Router | |||||
| Custom |