Agent fan-out dan git worktree: edit paralel tanpa tabrakan
Paralelisme itu gampang dijanjikan, susah dibikin aman. Jawaban Muse Code: teknologi git yang tua dan membosankan, dipakai dengan cara yang tepat.
Polanya: satu induk, banyak anak yang boleh menulis
Muse Code dibangun di atas satu aturan sederhana: ketika sebuah pekerjaan bisa dipecah jadi beberapa tugas terpisah, tugas-tugas itu otomatis di-fan-out ke agent yang berbeda. Agent induk melahirkan satu agent anak yang punya akses tulis untuk tiap tugas. Kamu tidak perlu mengonfigurasi apa pun, tidak perlu menyalakan “mode paralel” khusus — dekomposisi dan pembagian tugas adalah perilaku default begitu pekerjaannya cukup besar untuk mendapat manfaat.
Pertanyaan yang langsung muncul: kalau beberapa agent bisa menulis kode di saat yang sama, di repository yang sama, kenapa semuanya tidak berakhir jadi lautan merge conflict dan file yang saling timpa?

Sesi fan-out sungguhan: enam tugas untuk satu game, empat sudah di-merge, dua masih jalan — masing-masing di worktree-nya sendiri di bawah .muse/worktrees/, sementara checkout utama tidak tersentuh sama sekali.
Worktree: isolasi ala git asli
Setiap agent anak mendapat git worktree miliknya sendiri — checkout terpisah dari repository yang berbagi history dengan salinan utamamu, tapi punya working directory dan branch sendiri. Dua agent anak bisa mengedit file yang sama di worktree masing-masing tanpa pernah melihat perubahan satu sama lain di tengah jalan. Secara struktural, tabrakan memang tidak mungkin terjadi.
Yang sama pentingnya: working copy milikmu tetap bersih. Direktori yang sedang kamu buka di editor tidak pernah jadi tempat agent mengubah-ubah kode. Tidak ada yang bergerak di bawah kursormu, tidak ada edit setengah jadi dari agent yang tiba-tiba nongol di diff-mu, dan membatalkan pekerjaan sebuah agent semurah membuang worktree-nya. Perubahan baru masuk ke branch-mu setelah pekerjaannya selesai dan sudah di-review.
Kenapa bukan branch biasa? Atau container?
Branch biasa berbagi satu working directory — berpindah branch di tengah tugas sama saja menarik karpet dari bawah kaki agent yang sedang jalan. Container penuh atau clone repo memang bisa, tapi terlalu berat: object store terduplikasi, setup lambat, merge jadi canggung. Worktree ada tepat di titik manisnya. Nyaris instan dibuat, berbagi database objek git yang sama, dan me-merge branch anak yang sudah selesai kembali ke induk adalah operasi git biasa — tidak ada lapisan sinkronisasi buatan yang harus kamu percayai, tidak ada state proprietary yang harus kamu debug.
Enam fitur sekaligus, dan terbukti
Demo peluncurannya memang bertumpu berat pada mekanisme ini: di contoh pengembangan game, Muse Code membangun enam fitur game secara bersamaan, tiap agent di worktree-nya sendiri, dan semua branch ter-merge bersih. Itulah keuntungan praktisnya — waktu nyata sebuah sprint multi-fitur menyusut mendekati durasi tugas tunggal terpanjangnya, bukan penjumlahan semuanya.
Coba resepnya
Agent fan-out adalah satu dari tiga pola yang Meta sediakan resep cookbook-nya — pecah satu pekerjaan besar ke beberapa subagent tanpa ada yang bertabrakan di tengah jalan. Versi yang bisa langsung dijalankan ada di cookbook. Dan karena pekerjaan yang di-fan-out justru jenis pekerjaan yang paling ingin kamu audit belakangan, setiap spawn, tool call, dan merge dari tiap agent anak terekam di event log — tidak ada yang terjadi di luar catatan hanya karena terjadinya secara paralel.