What is a multi-agent system?
A multi-agent system is an arrangement in which several AI agents, each with its own role, instructions, tools, and permissions, work on parts of a larger task and pass results between them. One agent might read incoming documents, another might query a database, a third might check the output against policy, and a fourth might coordinate the others. Each agent runs its own reasoning loop with its own context window.
The split can follow function (research, drafting, review), data domain (customer data, inventory data, finance data), or system boundary (one agent per ERP, CRM, or ticketing system). Agents communicate by passing messages or by writing to shared state that the others read. The term comes from a much older branch of computer science; in current use it almost always means several LLM-based agents.
Why a multi-agent system matters
A single agent with twenty tools and a long system prompt gets confused. It picks the wrong tool, loses track of earlier steps as the context fills, and is hard to test because every change affects every behavior. Splitting the work gives each agent a short prompt, a few tools, and a narrow set of permissions. That makes each one easier to test, cheaper to run on a smaller model, and safer, since the agent that reads outside email never holds credentials for the payment system.
The cost is coordination. Messages between agents add latency and tokens, and errors compound when one agent trusts another’s output without checking it.
Multi-agent system in practice
A freight forwarder handles shipment exceptions with three agents. A monitoring agent watches carrier feeds and flags containers that miss a milestone. A research agent pulls the booking, the customs status, and the customer’s service terms, then summarizes what happened. A communications agent drafts the customer notice and the carrier claim, both of which a coordinator approves before anything is sent. Each agent has only the access its job needs, and the handoffs between them are logged, so an operations manager can see exactly why a customer was told a container would arrive three days late.
What to watch for
- Start with one agent and split it only when a specific problem (context overload, permission scope, or testability) calls for it.
- Give each agent its own identity and least-privilege credentials rather than letting them share one service account.
- Decide how agents verify each other’s output, because a confident but wrong summary will be acted on downstream.
- Budget for the extra tokens and latency; a five-agent chain can use several times the compute of one agent on the same task.