DEV Community

Sahajmeet Kaur
Sahajmeet Kaur

Posted on

Why multi-agent orchestration is harder than it looks

One AI agent answering a question is useful. Five agents that divide a complex task, pass state to each other, and act on live enterprise systems is a meaningfully different category of system. It also carries a meaningfully different category of operational problems.

Multi-agent orchestration is the architectural pattern that makes the second case coherent. But a lot of teams prototype multi-agent systems in a weekend and then spend months figuring out why production is unpredictable, expensive, and impossible to audit.

Here's how it actually works, what the frameworks solve, and what they leave on the floor.

What multi-agent orchestration is

A single AI agent handles a task from start to finish, sequentially. Multi-agent orchestration distributes that work: each agent owns a defined role, capability, or subtask. An orchestration layer above them decides who runs when, what context each agent receives, what they're allowed to access, and how the system behaves when something fails.

The shift matters because complex tasks have natural decomposition boundaries. A research task has a retrieval step and a synthesis step. A code review has a static analysis step, a logic review, and a security scan. Running those through a single general-purpose agent loses the benefit of specialization. Orchestrating specialist agents over those steps — with clean handoffs and persistent state — produces a system that handles genuinely complex goals that would defeat a single-agent approach.

It also produces a system that fails in more interesting ways.

How the runtime works

Task decomposition
**An orchestrator agent receives the high-level objective and breaks it into discrete subtasks suited to specialist agents. It manages sequencing, dependencies, and what context each downstream agent needs. When results come back, the orchestrator scores each step and decides whether it passed, needs a retry, or should trigger an alternative path before moving on.
**Scoped execution

Sub-agents run inside a defined scope. Access is limited to the tools, data sources, and model capabilities their specific role requires. That scoping is one of the pattern's main security properties — when it's actually enforced, which frameworks alone don't guarantee. More on that below.
State persistence
Outputs from earlier steps feed later decisions. This is what distinguishes a multi-agent workflow from chained API calls — shared state accumulates across the full execution rather than starting fresh at each step.

This is also where things get fragile. A wrong fact written to shared state at step two can corrupt every downstream step. Debugging a multi-agent failure is significantly harder than debugging a single-agent one because cause and symptom are often several steps apart and the final output can look plausible even when it isn't.
Error handling — the part most prototypes skip
What happens when a sub-agent times out? When it returns malformed output? When the orchestrator receives a result that contradicts an earlier assumption?

Without explicit retry policies and escalation paths defined at the orchestration layer, you get two failure modes: the entire workflow stalls on a single point of failure, or the orchestrator pushes ahead with incomplete information and produces output that looks finished but is wrong in ways nobody catches until downstream.

Most tutorials spend two paragraphs on error handling. Production systems spend two months on it.

The current framework landscape
Four frameworks lead the space in 2026. They solve the coordination problem in meaningfully different ways.
LangGraph
Workflows in LangGraph take the shape of directed graphs. Nodes represent agent steps; edges represent transitions, including conditional ones. Every path through the workflow is under explicit developer control. Time-travel debugging across agent steps is built in, which matters considerably more in production than it sounds during a demo — being able to replay from an intermediate state when something goes wrong changes the debugging experience substantially.

The explicitness is the main advantage and the main cost. Complex workflows require upfront graph design. The tradeoff is usually worth it for teams with hard auditability requirements or workflows with significant conditional branching.
Microsoft Agent Framework
In October 2025, Microsoft converged AutoGen and Semantic Kernel into a single SDK. AutoGen had pioneered multi-agent conversation patterns — group chat, debate loops, reflection. Semantic Kernel contributed enterprise plumbing: telemetry, Azure integration, plugin architecture. Both predecessor frameworks entered maintenance mode as part of the consolidation.

One naming note worth making explicitly: AG2 is frequently confused with Microsoft Agent Framework. They're different things. AG2 is a community fork of the original AutoGen 0.2, maintained outside Microsoft by some of the framework's original contributors. If you're reading older documentation, pay attention to which one it's actually describing.
CrewAI
CrewAI uses a crew-of-roles abstraction that maps onto how teams already think about task division. Agents have named roles, goals, and tool sets. That mental model accelerates initial development — the onboarding story is fast and the initial prototype comes together quickly.

The limitation shows at scale. Fine-grained state management and complex branching scenarios require workarounds that teams running sustained production workflows often find limiting enough to migrate away from. Good for domain-specific workflows where the role decomposition is stable and well-understood.
Google Agent Development Kit (ADK)
Google ADK organizes agents into hierarchical trees: a central orchestrator delegates to sub-agents, which may themselves have sub-agents. Native support for the A2A (Agent-to-Agent) protocol enables cross-framework communication. That matters if you're building on agents from multiple providers that may use different frameworks underneath — increasingly common as the ecosystem fragments into specialized agents from many sources.
Rough guidance on when to use each
Framework
Strongest fit
LangGraph
Branching workflows, auditability requirements, teams comfortable with graph design
Microsoft Agent Framework
Azure-native teams, enterprise integration requirements
CrewAI
Domain-specific crew-style workflows, fast initial development
Google ADK
Hierarchical delegation, cross-framework agent interop, A2A protocol needs

None of these is a complete answer on its own. They solve coordination. They don't solve governance.

The governance gap
This is the part that surprises teams moving from demo to production.

Access control. No major framework enforces which agents or users can access which tools or models at the framework layer. That policy lives in application code — which scales inconsistently across teams and drifts over time. A sub-agent shouldn't inherit the permissions of the user or orchestrator that invoked it unless that's been deliberately specified. In practice, it often is implicit and unenforced.

Cost visibility. A five-agent workflow with three model calls per agent per step generates 15 or more inference calls per request. Nothing at the framework layer catches a runaway loop before it accumulates unbounded cost. Frameworks emit execution logs; they don't emit cost alerts or enforce token budgets.

Compliance audit trails. Framework logs tell you what ran. They don't tell you, in a format useful to a compliance team, who requested what, what data was accessed, and on whose authority. Producing that evidence requires layering external logging infrastructure on top of whatever the framework emits.

Model portability. Swapping an LLM across agent roles often requires framework-level refactoring rather than a configuration change. That constrains multi-cloud and multi-vendor model strategies more than most teams anticipate when they first adopt a framework.

What to look for when evaluating tooling in this space
Whether you're picking a framework or a governance layer, a few properties are worth pressure-testing before you commit.

State failure modes. How does the system behave when shared state contains a wrong value? Is there a mechanism for checkpoint replay? Time-travel debugging (LangGraph has this; others don't as of this writing) is a real operational advantage if you're running long multi-step workflows.

Access policy enforcement. Where exactly does agent access control live? Is it enforced at the framework layer, at an external gateway, or delegated entirely to application code? The further out the enforcement point, the more places it can drift or be inconsistently applied.

Cost observability. Can you set token budgets per workflow, per agent, or per request? Can you get a reconstructable audit of what each inference call cost, tied to the originating user request?

Cross-framework compatibility. If you're using multiple orchestration frameworks across teams (common in larger organizations), can governance policies apply uniformly across all of them from a single control point?

Audit log format. Are logs structured in a way that satisfies compliance requirements, or are they free-form execution traces that require custom parsing to produce usable evidence?

A separate governance layer that sits above the orchestration framework and handles access control, cost enforcement, and audit logging independently is a legitimate pattern. TrueFoundry's Agent Gateway does this — framework-agnostic, so the same policies apply regardless of whether the agent underneath was built with LangGraph or CrewAI. I work there, so weigh that accordingly, but the pattern itself is worth evaluating regardless of vendor.

The failure mode nobody demos
Multi-agent systems fail in compound ways that single-agent systems don't. A single-agent failure is usually obvious: bad output, developer sees it, developer fixes it. A multi-agent failure often involves a plausible-looking error introduced at step two that propagates through steps three, four, and five, producing a finished-looking output that's wrong in ways that surface only downstream.

That failure mode changes the production reliability requirements. Explicit error handling, defined retry policies, and circuit breakers that stop a runaway workflow before it completes on bad state and an inflated inference bill matter significantly more than most framework tutorials suggest.

The consistent lesson from teams that have moved multi-agent workflows into production: the coordination problem is largely solved by the frameworks. The governance, cost, and auditability problems are still early, and underestimated.

The honest tradeoff summary
Multi-agent orchestration genuinely extends what AI systems can do. The ability to compose specialist agents into workflows that handle complex, multi-step goals is real leverage. The frameworks for doing it have matured quickly and are usable today in production.

What hasn't kept up is the tooling for running those systems reliably at scale — with enforced access boundaries, controlled costs, and audit trails that a compliance team can actually use. Teams that treat governance as a first-class concern from the start spend considerably less time retrofitting it later.

If you're building multi-agent systems in production, I'm curious what your governance setup looks like and what problems you've actually hit. The framework documentation tends to be optimistic on this. The reality in most production deployments I've seen is messier and more interesting.

Top comments (0)