~/VibeHandbook
PDF grátis

Capítulo 19 · 05

Multi-Agente: Fan-Out, Adversário, Síntese

Existe um segundo tipo de "muitos agentes" que roda dentro de uma única tarefa, em vez de entre tarefas separadas. Em vez de um agente fazer tudo, você divide os papéis:

  • Fan-out para amplitude. Vários agentes atacam o mesmo problema de ângulos diferentes — ou exploram partes diferentes de um código grande — e depois reportam de volta. Útil quando você quer cobertura: "encontre todos os lugares onde chamamos essa função obsoleta" paraleliza bem.
  • Um revisor adversarial. Um agente escreve; um segundo agente tem como única função atacar a saída do primeiro — achar o bug, o caso extremo esquecido, o erro não tratado. Um revisor apontado para um diff com a instrução "assuma que isso está errado e descubra por quê" pega coisas que o agente autor se convenceu de que estavam certas.
  • Síntese. Uma passada final coleta os achados e produz um resultado coerente único — o código funcionando mais uma nota curta sobre o que o revisor sinalizou e como foi resolvido.
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.

Os três papéis formam um pipeline com um portão no final: nada chega a um até o revisor adversarial ter feito sua passada e a síntese ter resolvido o que ele encontrou.

   ┌──────────────────── 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 ✓

O revisor adversarial vale a pena montar mesmo quando você é uma pessoa só, sem uma frota de agentes — porque o autor de uma mudança é a pior pessoa para encontrar suas próprias falhas, seja humano ou IA. Uma segunda passada com um hostil é um seguro barato.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.