One step beyond orchestrator–workers: there, the workers were single LLM calls. In a multi-agent system, each participant is a full agent — its own loop, its own tools, its own context — and a lead agent coordinates them toward one goal.

The analogy

A project team, not a foreman with laborers. The project lead briefs a researcher, a builder and an inspector. Each works autonomously for hours, uses their own equipment, and reports conclusions — not raw notes. The lead never sees how the researcher searched; they see what was found.

The principle

flowchart TB
    L["lead agent — owns the goal, briefs & merges"] --> R["research agent + its tools"]
    L --> C["coding agent + its tools"]
    L --> V["review agent + its tools"]
    R -->|findings| L
    C -->|diff & tests| L
    V -->|verdict| L
  • Each sub-agent runs its own agent loop in a fresh context — it can take dozens of turns without polluting anyone else.
  • Communication happens at the edges: a brief goes in, a summary comes out. The lead’s context only holds conclusions.
  • Specialization is real: each agent gets only the tools and instructions for its role — the reviewer can read but not edit.

A concrete example

“Audit this codebase for security issues”:

lead    → briefs 3 agents:
  agent A → crawls dependencies, checks known CVEs      (40 turns)
  agent B → greps and reads auth & input-handling code  (60 turns)
  agent C → tries to actually exploit A & B's findings  (30 turns)
lead    → merges: 2 confirmed issues, 5 false alarms discarded

One agent doing all of this serially would blow its context long before the end; three agents each stay small.

When to use it

  • The task is too large for one context even with memory — big audits, migrations, research sweeps.
  • Sub-tasks need genuinely different specialists (tools, permissions, instructions).
  • An adversarial split helps: one agent produces, another independently verifies.

When to avoid it

  • Most tasks. This is the most hyped and most over-applied pattern. One good agent with good tools beats five mediocre ones coordinating.
  • Sub-tasks that constantly need each other’s intermediate state — the briefing walls become the bottleneck.
  • Tight budgets: every agent multiplies token costs.

The classic trap

Mistaking conversation for progress. Agents happily “discussing” with each other burn thousands of tokens producing politeness, not work. Structure the collaboration like a real team: clear briefs, defined deliverables, and a lead who decides — not a group chat.