~/VibeHandbook
PDF Gratis

Bab 19 · 05

Multi-Agent: Fan-Out, Lawan, Sintesis

Ada satu jenis kedua dari "banyak " yang berjalan di dalam satu tugas alih-alih melintasi tugas-tugas terpisah. Alih-alih satu agent melakukan segalanya, kamu membagi perannya:

  • Fan-out untuk keluasan (breadth). Beberapa agent menangani masalah yang sama dari sudut pandang berbeda — atau menjelajahi bagian-bagian berbeda dari basis kode yang besar — lalu melaporkan kembali. Berguna ketika kamu ingin cakupan (coverage): "temukan setiap tempat kita memanggil fungsi usang ini" bisa diparalelkan dengan baik.
  • Peninjau yang bersifat lawan (adversarial reviewer). Satu agent menulis; agent kedua satu-satunya tugasnya adalah menyerang keluaran agent pertama — menemukan bug, kasus tepi ( case) yang terlewat, kesalahan yang tidak ditangani. Peninjau yang diarahkan ke sebuah diff dengan instruksi "anggap ini salah dan cari tahu kenapa" menangkap hal-hal yang membuat agent penulis meyakinkan dirinya sendiri secara keliru.
  • Sintesis. Tahap terakhir mengumpulkan temuan-temuan dan menghasilkan satu hasil yang koheren — kode yang berfungsi plus catatan singkat tentang apa yang ditandai peninjau dan bagaimana itu diselesaikan.
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.

Ketiga peran itu membentuk sebuah pipeline dengan gerbang di ujungnya: tidak ada yang mencapai sampai peninjau yang bersifat lawan sudah melakukan pemeriksaannya dan sintesis sudah menyelesaikan apa yang ditemukannya.

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

Peninjau yang bersifat lawan layak disiapkan bahkan ketika kamu satu orang tanpa armada agent — karena penulis dari sebuah perubahan adalah orang yang paling buruk untuk menemukan kekurangannya sendiri, baik itu manusia maupun AI. Sebuah pemeriksaan kedua dengan yang bermusuhan adalah asuransi yang murah.

Mau versi offline?

Unduh seluruh buku sebagai PDF atau EPUB — gratis.