Definition

What is a multi-agent system?

A multi-agent system is one where several specialised AI agents each handle part of a workflow and hand off to one another, coordinated by a routing or orchestration layer. It is worth the complexity when stages genuinely need different tools, models, or approval rules, and it is a common and expensive mistake when they do not.

In context

The appeal is intuitive: give each agent a narrow job and it will do that job better. That holds when the jobs really are different. It stops holding when a single agent was split up because its prompt got long, which is a tooling problem rather than an architecture one.

Each additional agent adds a handoff, and every handoff is a place to lose information. Passing prose between agents is the usual culprit. Systems that work pass validated, structured data at each boundary, which is more work up front and far less debugging later.

Cost is the other thing people discover late. A naive implementation resends the full conversation history to every agent, so five agents can cost far more than five times one agent. Passing structured state instead, and using small models for routing, is what keeps this affordable.

A concrete example

When splitting is justified

A document intake workflow has three genuinely different stages: extracting fields from a scanned PDF, checking those fields against contract terms in a database, and drafting a response. The first needs vision capability, the second needs database tools and no model creativity at all, the third needs good writing. Different tools, different failure modes, different approval rules. Splitting that is reasonable. Splitting one email-drafting agent into a researcher, a writer, and an editor usually is not.

Common questions

When should we not build a multi-agent system?

When the stages use the same tools and the same judgment, when you have not yet got one agent working reliably, or when the motivation is that the prompt got long. Better tool design fixes the last one with far less operational complexity.

How many agents is too many?

There is no fixed number, but every agent should be justifiable by naming what it does that no other agent does. If that sentence is hard to write, the agent should probably not exist.

Do agents talk to each other directly?

In robust designs, generally not. They read and write shared state through an orchestration layer, which keeps handoffs validated and gives you one place to trace the whole run. Direct agent-to-agent conversation is harder to debug and easier to get stuck in.

The work behind it

We build this, not just define it.

Multi-agent system is part of agent orchestration. See what that looks like as an engagement.