Multi-agent systems organize around a small number of topologies. Each has different failure modes, debuggability, and scaling characteristics. Mismatching topology to problem domain leads to brittle systems.
Hub-and-spoke (orchestrator)
Central orchestrator agent delegates to specialist agents. Easy to reason about, easy to trace. Bottleneck on orchestrator. Single point of failure. Right for: clearly hierarchical tasks (research → write → review).
Peer-to-peer (collaboration)
Agents talk directly to each other based on capability. More fluid, can adapt to runtime conditions. Harder to debug (loops, deadlocks). Right for: open-ended problems (debate, exploration).
Pipeline (linear)
Output of agent A feeds into agent B feeds into C. Simple, reliable, traceable. No backtracking. Right for: ETL-style data flows (extract → enrich → format → send).
Mesh with explicit coordination
All-to-all communication mediated by shared state (blackboard, message bus). Highly flexible, hardest to debug. Used in research, rare in production.
Picking
Start with hub-and-spoke. Move to pipeline if the flow is linear. Use peer-to-peer only when capability discovery at runtime is essential. Avoid mesh until you have hard evidence simpler patterns can't.