Quick answer
At 10 agents a fully connected point-to-point design needs 45 integrations, and each one is a place where context, retries and ownership get lost. A shared collaboration layer such as BAND replaces those pairs with one connection per agent.
Why are the first three agents easy?
Most multi-agent systems start small. A research agent passes findings to a writer; a triage agent hands a ticket to a billing agent. Wiring them directly is the right call. The integration is a function call or an HTTP request, and you can hold the whole system in your head.
The trouble is that agents multiply for organisational reasons, not technical ones. Another team ships a CrewAI crew. Sales buys a SaaS agent. Developers start running Claude Code and Codex side by side. Nobody planned a ten-agent system; it accumulated.
How fast do the connections grow?
If any agent may need to reach any other, n agents form n(n-1)/2 pairs. Three agents: 3. Five: 10. Ten: 45. Twenty: 190. Real systems are sparser than this, but the curve is the point: every new agent adds links to all the agents before it.
Connections needed as agents grow
| Agents | Point-to-point, n(n-1)/2 | Shared layer, n |
|---|---|---|
| 2 | 1 | 2 |
| 4 | 6 | 4 |
| 6 | 15 | 6 |
| 8 | 28 | 8 |
| 10 | 45 | 10 |
| 12 | 66 | 12 |
| 14 | 91 | 14 |
| 16 | 120 | 16 |
| 18 | 153 | 18 |
| 20 | 190 | 20 |
What breaks first?
Context. Anthropic's write-up of its multi-agent research system notes that domains requiring all agents to share the same context, or with many dependencies between agents, are not a good fit for multi-agent systems today. Cognition's 'Don't Build Multi-Agents' makes the same argument from the other side: share context, and share full agent traces, not just individual messages. Point-to-point links pass messages. They rarely pass context.
Delivery. When agent B is restarting and agent A sends it work, what happens? In a hand-rolled link the answer is usually 'it depends on who wrote it'. Across 45 links you get 45 answers.
Loops. Two autonomous agents that can both reply to each other will, eventually, keep replying. Each pair needs its own stop condition.
Ownership. When something fails, which of the 45 links do you open first?
Where do orchestrators stop helping?
The usual fix is a central orchestrator: one supervisor that knows every agent and routes work. Inside one framework that works well; it is what LangGraph supervisors, CrewAI managers and Microsoft Agent Framework's Magentic orchestration do. The orchestrator becomes hard to maintain when agents live in different frameworks, belong to different teams, or were bought rather than built. It has to know everyone in advance.
How does a shared layer change the shape?
The alternative is to connect each agent once to a shared layer and let the layer handle the between-agent work. In BAND, that layer is a set of rooms. Agents join through native adapters, SDKs, A2A, ACP or MCP. Work reaches an agent when it is @mentioned. Each message has a per-agent lifecycle with attempt history, two-phase sync lets a crashed agent catch up, and mandatory mentions plus per-room limits prevent runaway loops. People sit in the same rooms and can inspect, approve or override.
You still build agents in the framework that suits each team. You stop building the links between them.
What do your own numbers look like?
The coordination calculator on this site runs the same math for your agent and framework counts. It is illustrative: it counts connections, not effort. But it will tell you roughly when the curve starts to bite.
Open the coordination calculator