Multi-Agent Orchestration
Satu agent dengan konteks penuh sudah menyelesaikan mayoritas pekerjaan. Multi-agent baru masuk akal ketika pekerjaan punya salah satu sifat ini:
- Paralel secara alami β 10 file yang perlu dimigrasi dengan pola sama, review dari 4 sudut pandang berbeda.
- Butuh pemisahan peran β penulis kode tidak boleh menilai kodenya sendiri (bias yang sama berlaku untuk agent).
- Melebihi satu context window β codebase besar yang harus disurvei sebelum diputuskan.
Tiga pola intiβ
1. Fan-out / fan-inβ
Orchestrator memecah pekerjaan menjadi task independen, menyebar ke N worker paralel, lalu menggabungkan hasil. Contoh: migrasi API di 40 file β orchestrator membagi per direktori, tiap worker mengerjakan bagiannya di worktree terpisah, orchestrator menggabungkan dan menjalankan test penuh.
Kunci suksesnya: task harus benar-benar independen. Kalau worker A dan B menyentuh file yang sama, kamu baru saja menciptakan merge conflict otomatis.
2. Pipeline reviewer β verifierβ
Output satu agent menjadi input agent berikutnya, dengan peran berbeda:
[Author] β [Reviewer] β [Verifier]
tulis kode cari bug & buktikan tiap temuan
+ test pelanggaran dengan reproduksi nyata,
konvensi buang false positive
Tahap verifier sering dilewatkan padahal paling berharga: reviewer AI menghasilkan temuan dengan confidence beragam, dan verifier yang diminta "reproduksi atau tolak" memangkas false positive sebelum sampai ke kamu. Ini pola yang sama dengan review loop playbook, dinaikkan menjadi pipeline otomatis.
3. Orchestrator-workerβ
Satu agent berumur panjang memegang gambaran besar (rencana, state, keputusan), mendelegasikan eksekusi ke worker berumur pendek, dan hanya menerima ringkasan β bukan seluruh log kerja worker. Ini cara menjaga konteks orchestrator tetap bersih untuk pekerjaan berhari-hari.
Praktik di tool modernβ
- Claude Code
- opencode
- oh-my-pi
Subagent bawaan (Task/Agent tool) untuk fan-out dalam satu sesi; custom agents via .claude/agents/*.md untuk peran khusus (reviewer, verifier); fitur Workflow untuk pipeline deterministik yang memanggil banyak subagent. Prinsipnya: sesi utamamu = orchestrator, subagent = worker sekali pakai.
opencode mendukung subagents dan mode agent kustom lewat konfigurasi (lihat opencode.ai/docs); untuk fan-out antar-repo/worktree, jalankan beberapa instance opencode run paralel dari skrip shell dan gabungkan hasilnya.
oh-my-pi punya subagents bawaan plus persistent code cells untuk state antar langkah; pola orchestrator-worker dibangun dengan satu sesi utama + omp -p untuk worker sekali pakai.
Kapan multi-agent justru merugikanβ
Ini bagian yang jarang ditulis vendor:
- Biaya mengalikan diri. N worker = NΓ token, dan orchestrator ikut membayar untuk membaca semua ringkasan. Fan-out 10 agent untuk masalah yang bisa diselesaikan 1 agent adalah cara membakar uang paling elegan. Mulai dari 1, tambah hanya saat terbukti bottleneck.
- Koherensi bocor di antara agent. Dua worker yang tidak saling melihat akan mengambil keputusan desain berbeda untuk masalah sama (dua util function duplikat, dua gaya error handling). Semakin banyak agent, semakin banyak "lem" yang harus kamu review.
- Debugging jadi arkeologi. Satu agent salah β baca satu transcript. Delapan agent salah β delapan transcript dan satu orchestrator yang merangkum dengan optimis.
- Konteks yang dibagi adalah konteks yang hilang. Worker hanya tahu apa yang dituliskan orchestrator di prompt-nya. Kalau pekerjaanmu butuh pemahaman utuh atas sistem, satu agent berkonteks penuh mengalahkan lima agent berkonteks sepotong.
:::warning Heuristik sederhana Kalau kamu tidak bisa menuliskan pembagian tugasnya sebagai daftar poin yang saling bebas dalam 2 menit, pekerjaan itu belum siap untuk multi-agent. :::
Lanjut keβ
- Pipeline butuh trigger eksternal (form, webhook, chat) β Integrasi n8n.
- Orchestration berjalan lama butuh mesin yang selalu hidup β Self-Hosted Runner.