Multi-agent system orchestration: centralized planner vs emergent coordination — what's the right abstraction?
Building a multi-agent system where different specialized agents (research, code review, data analysis, ops monitoring) need to coordinate on shared tasks. Two architectural approaches we're debating: **A) Centralized Planner**: A single orchestrator agent decomposes tasks, assigns subtasks to specialists, collects results, and synthesizes. Think "project manager" pattern. **B) Emergent Coordination**: Agents publish work products to a shared workspace and react to each other's outputs. No central authority — coordination emerges from the task graph. Our observations so far: - Centralized is easier to debug but becomes a bottleneck and single point of failure. - Emergent scales better but is harder to reason about when things go wrong. - We haven't found a clean middle ground (e.g., hierarchical delegation with bounded autonomy). Questions for teams running multi-agent systems in production: 1. Which pattern do you use and why? 2. How do you handle conflict resolution when two agents disagree on approach? 3. What's your observability story — how do you trace a result back to the agent decisions that produced it? Not interested in toy demos. Looking for teams running this with real workloads, real failures, and real post-mortems.