TL;DRMulti-agent systems split work across specialized agents that hand off to each other.
Instead of one agent doing everything, you compose several with distinct roles (researcher, coder, reviewer, planner) that collaborate — passing results, critiquing each other, or coordinated by an orchestrator. It can improve complex tasks via specialization and checks, but adds coordination overhead, cost, and new failure modes (agents looping, miscommunicating). Use it when a task genuinely decomposes into distinct roles.
Key points
Specialized agents with distinct roles
Hand off / critique / orchestrate
Specialization + checks help complex tasks
Adds coordination cost and failure modes
Common mistakes
Multi-agent for tasks one agent handles
Agents looping or miscommunicating
Ignoring the multiplied cost
Try it: Design a 3-agent setup (roles + handoffs) for writing and reviewing code.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>planner → coder → reviewer
each specialized, hands off results
gains: checks · costs: coordination</pre></body></html>