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.