AI Systems
Multi-agent systems: one agent until it can't
Most agent teams should be one agent
Four reasons that hold
01
Records that don't fit together
The context is the limit
The job needs more material than one context can hold well. A specialist reading only job records, and another reading only warranty files, each sees what it needs and nothing else.
a coordinator that ends up reading everything anyway.
02
Permissions that should stay apart
Least privilege, per role
One part reads customer records; another may book visits. Separate agents with separate tools keep a mistake in one from reaching the other's systems.
a shared tool that quietly gives every agent the same access.
03
Work that can run at the same time
The wait matters
Independent parts, like history and warranty checks, run side by side instead of one after the other.
“parallel” parts that each need the other's answer.
04
Parts you can test on their own
One brief, one set of cases
A specialist with a narrow brief can have its own test cases, so a change to one doesn't need a rerun of everything.
specialists whose output only makes sense after the coordinator rewrites it.
A handoff is a contract
brief · Coordinator → Warranty
- task
- Find open warranty claims for Acme's 14 units
- inputs
- unit list and serial numbers, from agreement SA-88
- may use
- check_warranty, supplier_status (both read only)
- returns
- per unit: claim id, status, source document
- budget
- 30 tool calls, 2 minutes
- stop and report if
- a claim needs a decision, or a serial doesn't match
- never sees
- prices, customer messages, the calendar
Agents don't chat their way to an answer. The coordinator sends a brief with a defined shape, and the specialist returns findings with a defined shape, each pointing at the records it came from.
What a specialist never sees matters as much as what it does. The Warranty specialist can't see prices or the calendar, so it can't act on them, and its findings can be checked against the warranty records alone.
One run, one trace
Run r-2140 · Acme SA-88 renewal pack
- done
Coordinatorplan
3 specialists; History and Warranty at the same time
- done
Historybrief received
units 1–14, jobs since January 2023
- done
Historyfind_jobs × 14
31 visits
- done
Historyfinding returned
31 visits, 3 repeat calls (4B, 7A, 11C)
- done
Warrantybrief received
open claims, units 1–14
- done
Warrantycheck_warranty × 14
2 claims open
- done
Warrantysupplier_status
4B: waiting on the supplier since Oct 3
- waiting
Warrantyfinding returned
4B open with the supplier; needs a person
- done
Plannerbrief received
with History's finding
- done
Plannerread_agreement
SA-88: two visits a year per system
- done
Plannerfinding returned
4 visits proposed for 2027
- done
Coordinatorcheck
every finding points at its records
- waiting
Coordinatordraft pack v1
waiting for the account manager
Thirteen steps across four agents. Two things wait for a person: the 4B claim and the pack itself.
What a multi-agent system hands off
In
Out
Worth splitting when you can name the reason
Good fit
- The parts need different records or permissions that shouldn't mix.
- Independent parts can run at the same time, and the wait matters.
- Each part can be tested on its own, and someone will read the traces.
Not the right fit
- One agent with better context and tools would do the job. Try that first.
- The steps are known in advance. That's a workflow, with no agent at all.
- Nobody will watch the runs or own the test cases.
Questions about multi-agent systems
When do you recommend more than one agent?
Rarely, and only after a single agent has been tried with better context and tools. The usual reasons are records that shouldn't mix, permissions that should stay separate, or independent work that can run at the same time.
Don't several agents check each other's work?
A second model reviewing the first can catch some mistakes, but it doesn't replace checks in code and tests on fixed cases. We add a reviewing agent only where your test cases show it helps.
What does a split cost?
More model calls, more traces and more to test. That's why it has to pay for itself in something you can name: work that wouldn't fit one context, access that needs separating, or time saved by running in parallel.
Which framework do you use?
Whatever fits the system, often plain code around the model provider's tool calling. The roles and the shape of each handoff matter more than the framework that carries them.