The Coordinator Pattern - One Agent to Orchestrate Them All

Fazm Team··2 min read

The Coordinator Pattern

When you have multiple agents working together, someone needs to be in charge. The coordinator pattern puts one agent at the center - it does not do the work itself, but it decides who does what, when, and in what order.

Why Peer-to-Peer Fails

The instinct is to let agents talk directly to each other. Agent A finishes a task, hands it to Agent B, who passes results to Agent C. It sounds clean on a whiteboard. In practice, it creates a mess. Agents start duplicating work. They disagree on priorities. They get stuck in loops where A is waiting on B, B is waiting on C, and C is waiting on A.

Peer-to-peer communication scales terribly. With 5 agents, you have 20 possible directional connections. With 10 agents, you have 90. Each connection is a potential failure point.

How the Coordinator Works

The coordinator agent maintains a task queue, assigns work to specialized agents, collects results, and decides what happens next. It is the only agent that sees the full picture. The worker agents only know about their current task.

This creates clear boundaries:

  • Single source of truth - the coordinator tracks overall state
  • No circular dependencies - work flows from coordinator out and results flow back
  • Easy to add agents - new workers register with the coordinator, existing ones do not need to change
  • Clear failure handling - if a worker fails, the coordinator decides whether to retry, reassign, or skip

The Tradeoff

The coordinator is a single point of failure. If it goes down, everything stops. But this is actually easier to handle than distributed failure - you monitor one thing, you restart one thing, and the system recovers from a known state.

The coordinator also becomes a bottleneck at scale. But for most real-world multi-agent systems running under 20 agents, a single coordinator handles the load without issues.

When to Use It

Use the coordinator pattern when your agents have different specializations and tasks have dependencies. Skip it when you have truly independent, parallel tasks that do not need to share results.

More on This Topic

Fazm is an open source macOS AI agent. Open source on GitHub.

Related Posts