Short answer: Multi-agent systems are setups where several AI agents, each with its own instructions and tools, work together on one job instead of a single agent doing everything. A lead agent may split the work. A router may pick a specialist. Agents may also pass the task along in a fixed order. They help when one agent has too many tools or too much context to choose well. For many tasks, one agent is still the better answer.
If you are new to the idea of an agent itself, start with What Is an AI Agent?. This guide covers the next step: why people connect several agents, the patterns they use and which framework on our AI agent frameworks list suits each pattern.
Multi-agent systems at a glance
| What it is | Two or more agents, each with its own instructions and tools, coordinating on one task |
| Main patterns | Orchestrator and workers, routing, handoffs, fixed pipelines |
| Why use it | Keep each agent’s context small, split a big task, run parts in parallel |
| Main cost | More model calls, more moving parts and more to debug |
| When to skip it | One agent with the right tools can already do the job |
| Frameworks that support it | LangGraph, CrewAI, OpenAI Agents SDK, Microsoft Agent Framework, Google ADK |
| Control style | Agents choose the path, or your code fixes it |
What is a multi-agent system?
A multi-agent system is a group of AI agents that share a goal and divide the work between them. Each agent is a model with its own instructions and tools. One might search the web, another might write code and a third might check the result.
The reason is practical, not fashionable. LangChain’s multi-agent guide names three: context management, distributed development and parallelization. It adds that the approach is especially useful when a single agent has too many tools and makes poor decisions about which to use. Smaller, focused agents each see only what they need.
Workflows versus agents
Before the patterns, one distinction from Anthropic’s Building effective agents helps. Workflows are systems where models and tools are orchestrated through predefined code paths. Agents are systems where models dynamically direct their own processes and tool usage.
Most multi-agent systems mix both. Your code fixes some steps, and agents decide the rest. Keep that split in mind as you read the patterns below.
The main multi-agent patterns
Orchestrator and workers
A central agent breaks the task into parts, hands each part to a worker and combines the results. Anthropic describes the key trait well: the subtasks are not pre-defined, they are determined by the orchestrator based on the specific input. A coding task that touches an unknown number of files is the classic fit.
LangGraph supports this directly. Its docs describe a Send API that lets you create worker nodes on the fly and send each one its own input. Each worker has its own state, and all outputs land in a shared state key the orchestrator reads.
Subagents as tools
This is a close relative. A main agent calls other agents the way it would call any tool, and all routing goes through it. LangChain calls this the subagents pattern. The OpenAI Agents SDK calls it agents as tools: a manager agent keeps control of the conversation and calls specialists through Agent.as_tool(). Pick it when one agent should own the final answer.
Routing
A routing step classifies the input and sends it to one or more specialist agents, then the results are combined. A support inbox is a good example: billing questions go to one agent, technical questions to another.
Handoffs
Here control moves. A triage agent hands the conversation to a specialist, and in the OpenAI Agents SDK that specialist becomes the active agent for the rest of the turn. LangChain describes handoffs as control moving between agents as behavior changes with state. Pick handoffs when the specialist should talk to the user directly.
Fixed pipelines and parallel runs
Sometimes you already know the order. Google’s Agent Development Kit calls these template workflows: fixed execution logic such as sequences, loops and parallel execution. Anthropic’s parallelization has two forms: sectioning, where independent subtasks run at once; and voting, where the same task runs several times for higher confidence.
ADK also describes a coordinator role, where a single agent directs a set of specified sub-agents, and graph-based workflows with decision branching.
Which framework fits which style?
You do not have to pick a pattern and a framework at the same time. Most frameworks support several patterns. These are the differences that matter in practice.
- LangGraph: a low-level, free and open-source framework (MIT license). It gives you the most control over state, so it suits custom orchestrator setups. See LangChain vs LangGraph if you are weighing the two.
- CrewAI: built around teams. Its docs describe Crews as teams of autonomous agents with specific roles, goals and tools. Flows manage state and control execution. The docs recommend using both. We pick it as the easiest way into role-based teams.
- OpenAI Agents SDK: two clear patterns, handoffs and agents as tools, which the docs say you can combine.
- Microsoft Agent Framework: graph-based workflows that connect agents and functions through explicit execution paths. Microsoft describes it as the successor to AutoGen and Semantic Kernel, built by the same teams.
- Google Agent Development Kit: template workflows for fixed order, plus a coordinator role for dynamic delegation.
- Claude Agent SDK: worth a look if you want agents that work with files and the shell.
All of them are free to install. You pay your model provider for the calls, and that is where multi-agent systems get expensive.
Do you need more than one agent?
Usually not at first. Anthropic advises finding the simplest solution possible and only increasing complexity when it demonstrably improves outcomes. For many applications, it says, one well-tuned model call with retrieval and examples is enough. LangChain says the same in its own words: not every complex task requires a multi-agent approach.
Microsoft’s docs put it bluntly: if you can write a function to handle the task, do that instead of using an AI agent.
Move to several agents when you see one of these:
- One agent has so many tools that it picks the wrong one.
- Its instructions and context have grown so long that quality drops.
- Parts of the job are independent and could run at the same time.
- Different parts need different permissions or different owners.
A worked example
Picture a team that wants a weekly competitor summary. One agent alone would need a search tool, a scraping tool, a spreadsheet tool and a writing prompt, all in one long context.
As a multi-agent system it looks different. An orchestrator reads the request and decides which competitors to cover. A research agent per competitor gathers sources, and the workers run in parallel. A writer agent turns the notes into a summary, and a checker agent compares each claim with its source. Each agent has three or four tools at most and a short prompt, so each one is easier to test.
Notice what is fixed and what is not. The order (research, write, check) is fixed by code. How many competitors to research is decided by the orchestrator at run time. That mix of fixed steps and dynamic delegation is what most production systems look like.
How to start without overbuilding
- Build one agent and write down where it fails: wrong tool, lost context or slow runs.
- Split off only the part that fails. If the tool choice is the problem, give those tools to a specialist and call it from the main agent.
- Add tracing before you add a third agent, so you can see which agent did what.
- Test each agent alone first, then the full system, on the same ten examples every time.
- Keep a person in the loop for anything that sends email, spends money or changes data.
What multi-agent systems cannot do
- Fix a weak task definition. Five agents given a vague goal produce vague work faster.
- Cost less. Every extra agent adds model calls, and agents that talk to each other add more.
- Stay easy to debug. When an answer is wrong you must trace which agent made the mistake. Pick a framework with tracing.
- Remove the need for checks. Have a person or a test review anything that matters before it ships.
Tools your agents can share
Agents get more useful with real tools. The Model Context Protocol lets any agent use the same outside systems, so each specialist can have its own set. Our MCP servers directory lists 100 servers in 10 categories. If you are still learning how a single agent is built, How to Build an AI Agent walks through it.
FAQ
What is a multi-agent system in AI?
It is a setup where two or more AI agents, each with its own instructions and tools, work together on one task. They may split the work, check each other or pass the task along in a set order.
What is the difference between a single agent and a multi-agent system?
A single agent handles everything alone, with all its tools and context in one place. A multi-agent system divides the job so each agent keeps a smaller context and a focused set of tools. The trade-off is more calls and more to manage.
What are the main multi-agent patterns?
The common ones are orchestrator and workers, subagents used as tools, routing, handoffs and fixed pipelines that run in sequence, in loops or in parallel. Most frameworks support more than one.
Which framework is best for multi-agent systems?
It depends on the style. CrewAI is the easiest for role-based teams, LangGraph gives the most control and the OpenAI Agents SDK keeps handoffs simple. Compare them on our AI agent frameworks page.
Are multi-agent systems always better than one agent?
No. Anthropic recommends starting with the simplest solution and adding complexity only when it clearly improves results. Many tasks run fine with one agent and the right tools.
Are these frameworks free?
The frameworks above are free to install. You still pay your model provider for the calls the agents make.
Ready to compare your options? Start with our AI agent frameworks page, which lists eight frameworks with pricing and a pick for each need.
