~/VibeHandbook
PDF gratis

Capítulo 19 · 05

Multiagente: expansión, adversario, síntesis

Hay un segundo tipo de "muchos agentes" que se ejecuta dentro de una sola tarea en lugar de a través de tareas separadas. En vez de que un haga todo, divides los roles:

  • Expansión (fan-out) para amplitud. Varios agentes abordan el mismo problema desde ángulos diferentes — o exploran distintas partes de un código base grande — y luego informan de vuelta. Útil cuando quieres cobertura: "encuentra cada lugar donde llamamos a esta función obsoleta" se paraleliza bien.
  • Un revisor adversarial. Un agente escribe; el único trabajo de un segundo agente es atacar la salida del primero — encontrar el bug, el caso límite faltante, el error no manejado. Un revisor apuntado a un diff con la instrucción "asume que esto está mal y averigua por qué" detecta cosas que el agente autor se autoconvenció de que estaban bien.
  • Síntesis. Un pase final recopila los hallazgos y produce un resultado coherente — el código funcional más una nota breve sobre lo que el revisor señaló y cómo se resolvió.
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.

Los tres roles forman una tubería con una puerta al final: nada llega a un hasta que el revisor adversarial ha hecho su pase y la síntesis ha resuelto lo que encontró.

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

El revisor adversarial vale la pena configurarlo incluso cuando eres una sola persona sin una flota de agentes — porque el autor de un cambio es la peor persona para encontrar sus fallos, humano o IA. Un segundo pase con un hostil es un seguro barato.

¿Lo quieres sin conexión?

Descarga el libro entero en PDF o EPUB — gratis.