/pattern/coordination/

Coordination patterns

The Six Coordination Patterns

Orchestrator, Pipeline, Graph, Blackboard, Swarm, and Human-in-the-Loop. Almost every multi-agent system is one of these shapes — or a composition of them. Each card links to its full pattern entry.

  1. Orchestrator / Agent-as-Tool

    OrchestratorSpecialist ASpecialist B

    How it works

    1. One central LLM plans; every specialist is exposed as a typed tool call.
    2. The orchestrator picks a tool, invokes it, and receives a return value.
    3. After every call control returns to the center — specialists never talk to each other.

    Who holds the flow together? Who delegates to whom?

    Specialists are exposed as typed callables — tools — and the orchestrator sees only the signature, not the prompt or model. That boundary is what makes specialists hot-swappable across implementations and frameworks, including remote A2A agents.

  2. Pipeline / Workflow (DAG)

    InputStage AStage BOutput

    How it works

    1. Developers wire every stage and edge in code before the run.
    2. Each stage transforms the state and hands it to the next exactly once.
    3. The graph is identical on every run; only the model output inside the nodes varies.

    Which order is fixed? What can run in parallel?

    Control flow is fully wired in code: which nodes run, in what order, with what fan-out. The graph is identical every run; only the model-generated content inside nodes is non-deterministic.

  3. Graph (Fan-out / Fan-in)

    RouterNode ANode BFan-in

    How it works

    1. Nodes and edges are registered up front — the set stays closed.
    2. At conditional edges an LLM picks the next path from the registered set.
    3. Cycles are allowed, but a recursion limit bounds every loop.

    Are there conditional branches, and points where results converge?

    Pipeline plus two relaxations — conditional edges chosen by an LLM, and cycles bounded by a recursion limit. The node set is still closed and the state schema is still validated; only the path through them is runtime.

  4. Blackboard (Shared State)

    read / writeBlackboardAgent 1Agent 2Agent 3+Agent n

    How it works

    1. Agents never address each other — they read and write a shared board.
    2. Whoever's precondition matches the current state activates itself.
    3. Adding an agent is a subscription, not a rewiring of the topology.

    Where does the shared working state live? How does the knowledge of all agents grow?

    Communication runs through a shared state surface, not addressed messages. Adding an agent is a subscription, not a rewire — the other agents do not learn of its existence. The only pattern with an open agent set at runtime.

  5. Swarm (Self-Organizing Handoffs)

    no central controllerAgent AAgent BAgent C

    How it works

    1. Each agent declares the peers it may hand off to.
    2. A handoff transfers control completely — there is no return path.
    3. The route materializes at runtime; the graph is a trace, not a plan.

    Can the agents decide for themselves who takes over next?

    The graph is a runtime artefact. Each agent declares which peers it may hand off to; the path through the network materialises as the run progresses. Appropriate for problems where no static plan can be drawn in advance.

  6. Human-in-the-Loop

    pauseresumeAgentHumanExecute

    How it works

    1. The run pauses at a defined node and its state is persisted.
    2. A human answers a structured question — approve, edit, or reject.
    3. The run resumes exactly where it stopped — on top of any other pattern.

    Where must a human intervene, and with what question?

    Suspend the run at a designated node, persist state, ask a human a structured question, resume when the answer arrives. Innovation is in the time dimension — HITL composes with every other pattern instead of competing with them.

The trade-offs at a glance

PatternControls flowParallelismCyclesDeterminism
OrchestratorOrchestrator LLMYes (fan-out workers)NoMedium
PipelineDeveloperYesNoHigh (static edges)
GraphDeveloper + LLMYes (fan-out)YesMedium (LLM-chosen edges)
BlackboardAll agentsYes (async writers)YesMedium
SwarmAgents (handoffs)Yes (concurrent peers)YesLow
HITLHuman + systemNoNoHigh (system); human-bounded

Search

Search patterns, frameworks, and pages.