Skip to main content
Handbook/Automate/Page 80 · Multi-Agent

When One Isn't Enough

Share

Share this page

Pass it to someone who needs it.

Star on GitHub

Key takeaway: Use more agents, each doing less

One agent doing everything is a solo founder doing every job. It holds up until it does not. The fix is not a bigger agent, it is more agents, each doing less, each handing clean work to the next.

9.8.1Signs one agent isn't enough

You feel it before you can name it. The agent starts strong and loses the thread on a long task. It plans, builds, and reviews in one breath, and the review is soft because the same mind that wrote the code is grading it.

Its context fills up, and quality sags on anything with more than a few moving parts. Those are the signals that the work has outgrown a single seat.

9.8.2Planner, builder, reviewer

The first and strongest split is by phase. One agent plans the work, another builds it, a third reviews it with fresh eyes.

This mirrors how real teams work, and for the same reason: the reviewer catches what the builder cannot see, precisely because it did not write the thing. Separation of roles is separation of blind spots.

It also costs roughly three times one pass, because each seat reads the context again and every token is money and waiting. So split by phase where the review actually catches things, not everywhere. Put the mechanical roles on cheap small models, which is the real reason to route your agents through one provider that reaches many. And cap the spend before you put any of this on a schedule.

9.8.3Specialized agents

Beyond the phases, you spin up specialists: a security reviewer, a test writer, a researcher. Each is a role file of its own, with its own skills and its own narrow standard of good.

A specialist beats a generalist on its home turf, because its whole configuration is bent toward one kind of excellence. You assemble a team, not a hero.

9.8.4Handoffs between them

A team is only as good as its handoffs. One agent's output has to become the next one's input with nothing lost in the gap. The cleanest handoff is a file: agent A writes it, agent B reads it.

--- source: error-report verdict: needs-fix handled_by: null --- Checkout throws on empty cart. Repro + fix below.

The builder writes that, the reviewer reads it and stamps handled_by so it is never picked up twice. The file is the contract between agents, so no context lives only in one agent's head.

Someone has to run the team, and it is simpler than it sounds. One lead agent spawns the others with a clear brief each, waits, then reads back their summaries to decide what happens next. The children do not talk to each other. Reads fan out freely; writes to the same file stay with one agent, so two never edit it at once and clobber each other.

Keeping that rule needs a mechanism, and you already have it. Agents that run at the same time each get their own working copy, a separate branch or a git worktree. Their work comes back through the normal review and merge path. Anything you cannot separate that way runs one after the other instead.

One lead spawns the others and reads back their summaries; the children never talk to each other.

9.8.5Split your first team

This prompt turns your one agent into a small team:

Ready prompt
Act as a senior engineer setting up a two-agent workflow. Read my rules file and my existing agent setup first, and put the new roles where my agent files already live, not in a parallel structure. Give me a builder role and a separate reviewer role in my tool's format. Both load my rules file, so my map, my conventions, and my quality bar apply without being repeated. The reviewer judges the change against that bar, nothing else. Add a file-based handoff: the builder writes what it changed to one file, the reviewer reads that file and reports issues before I commit. Keep both roles short, and add one line to my decision log for why the work is split this way. If you need the full reasoning behind this step, read https://zalt.me/guides/vibe-coding/ai-os/multiple-agents My tool and project:

Do this now: paste the prompt, set up the builder and reviewer, and run one change through both so you see the reviewer catch what the builder missed.

Mahmoud Zalt

Mahmoud Zalt

Software engineer, 16+ yrs · built Sistava.com in 3 months, idea to production, using these methods

Resources
Star on GitHubContribute
Donate

Support my work

A small tip keeps the free work coming.

© 2026 Mahmoud Zalt. Free to read, not to republish.
Copyright & license