~/VibeHandbook
$39

Chapter 19 · 05

Multi-Agent: Fan-Out, Adversary, Synthesis

There's a second flavor of "many agents" that runs within a single task rather than across separate ones. Instead of one doing everything, you split the roles:

  • Fan-out for breadth. Several agents tackle the same problem from different angles — or explore different parts of a large codebase — then report back. Useful when you want coverage: "find every place we call this deprecated function" parallelizes well.
  • An adversarial reviewer. One agent writes; a second agent's only job is to attack the first one's output — find the bug, the missing case, the unhandled error. A reviewer pointed at a diff with the instruction "assume this is wrong and find out why" catches things the author agent talked itself into.
  • Synthesis. A final pass collects the findings and produces one coherent result — the working code plus a short note on what the reviewer flagged and how it was resolved.
Reviewer agent brief:

You are reviewing a diff written by another agent. Assume it contains
at least one bug and find it. Specifically check:
- Does it actually satisfy the original goal, or just pass the tests?
- Edge cases: empty input, nulls, the largest realistic input.
- Anything deleted or changed that the task didn't ask for.

Report concrete problems with file and line. Do not rewrite the code —
just report. If you find nothing after a genuine look, say so plainly.

The three roles form a pipeline with a gate at the end: nothing reaches a until the adversarial reviewer has had its pass and synthesis has resolved what it found.

   ┌──────────────────── within ONE task ────────────────────┐
   │                                                         │
   │   ┌──────────┐                                          │
   │   │ FAN-OUT  │  several agents, different angles         │
   │   │ agents   │  ── breadth / coverage ──┐               │
   │   └──────────┘                          ▼               │
   │   ┌──────────┐                  ┌──────────────┐        │
   │   │ AUTHOR   │── writes diff ──▶│  REVIEWER     │       │
   │   │ agent    │                  │ "assume it's  │       │
   │   └──────────┘                  │  wrong, find  │       │
   │                                 │  the bug"     │       │
   │                                 └──────┬───────┘        │
   │                                        ▼                │
   │                                 ┌──────────────┐        │
   │                                 │  SYNTHESIS    │  merge │
   │                                 │  fix + note   │  finds │
   │                                 └──────┬───────┘        │
   └────────────────────────────────────────┼───────────────┘
                                             ▼
                                      ── GATE ──▶ commit ✓

The adversarial reviewer is worth setting up even when you're one person with no fleet of agents — because the author of a change is the worst person to find its flaws, human or AI. A second pass with a hostile is cheap insurance.

Want it offline?

Get the PDF + EPUB + downloadable prompt library + version updates.

$ Get the PDF — $39