Skip to main content
BlogDevOps

Agen Claude Code Paralel Dengan Git Worktrees

Jalankan beberapa sesi Claude Code sekaligus tanpa tabrakan dengan memberi tiap sesi git worktree sendiri, plus cara mengisolasi port dan dependensi dan kapan paralelisme sepadan.

Matthews Wong

Software Engineer

Agustus 20269 menit baca
Agen Claude Code Paralel Dengan Git Worktrees

Ringkasan Utama

Git worktrees mengecek keluar beberapa branch ke folder terpisah dari satu repositori, sehingga Anda bisa menjalankan banyak sesi Claude Code sekaligus tanpa mereka menimpa berkas satu sama lain. Ini cara terbersih memparalelkan tugas independen, tetapi melipatgandakan biaya token dan menuntut Anda mengisolasi port, database, dan dependensi per worktree.

Salah satu cara tercepat mendapat lebih banyak dari Claude Code adalah berhenti menjalankannya satu tugas dalam satu waktu. Jika Anda punya tiga pekerjaan independen, tiga agen bisa menggarapnya sekaligus. Halangannya bukan tool-nya; melainkan satu direktori kerja tidak bisa menampung tiga set perubahan yang berbeda arah tanpa kekacauan.

Git worktrees menyingkirkan halangan itu. Panduan ini menjelaskan masalah tabrakan, cara worktree menyelesaikannya, alur kerja untuk menjalankan beberapa agen secara paralel, dan jebakan runtime yang menjerat orang pada kali pertama.

Masalah dengan satu direktori kerja

Sebuah clone biasa punya satu direktori kerja yang terikat pada satu branch yang dicek keluar. Arahkan dua sesi Claude Code ke sana dan mereka menyunting berkas yang sama, menumpuk staging satu sama lain, dan memaksa Anda terus berpindah branch, yang mereset pekerjaan setengah jadi semua orang. Agen paralel dalam satu direktori tidak bekerja sama; mereka saling merusak.

Anda bisa saja meng-clone repositori beberapa kali untuk menyiasati ini, tetapi clone penuh boros dan saling melenceng. Gesekan itu muncul sebagai:

  • Perubahan yang belum di-commit dari satu agen lenyap ketika agen lain berpindah branch.
  • Senam merge dan stash hanya untuk memindahkan perhatian dari satu tugas ke tugas lain.
  • Clone penuh ganda yang masing-masing mengunduh ulang riwayat dan tak lagi sinkron.

Cara git worktrees menyelesaikannya

Sebuah git worktree adalah direktori kerja tambahan yang terpasang pada repositori yang sama. Perintah git worktree add membuat folder baru dengan branch yang dicek keluar sendiri sambil berbagi basis data objek di baliknya, jadi Anda mendapat berkas terisolasi tanpa menggandakan riwayat repositori. Tiap worktree adalah panggung bersih yang independen.

Dengan satu worktree per tugas, Anda membuka sesi Claude Code terpisah di tiap folder. Agen tidak pernah menyentuh berkas satu sama lain karena, di disk, mereka bekerja di direktori berbeda pada branch berbeda. Ketika sebuah tugas selesai Anda merge branch-nya dan menghapus worktree dengan git worktree remove.

Namai tiap worktree sesuai tugasnya dan simpan di folder saudara di samping checkout utama, bukan di dalamnya. Tata letak yang dapat diprediksi membuat jelas agen mana yang memiliki direktori mana dan menjaga worktree liar tetap di luar pohon kerja utama Anda.

Alur kerja paralel yang tahan banting

Begitu worktree siap, satu loop yang dapat diulang menjaga beberapa agen tetap produktif tanpa kehilangan jejaknya.

  • Buat satu worktree dan branch per tugas independen, dinamai agar Anda bisa membedakannya sekilas.
  • Luncurkan satu sesi Claude Code di tiap worktree dan beri masing-masing satu tujuan mandiri yang utuh.
  • Review dan merge tiap branch sendiri-sendiri; sebuah tampilan pemantauan membantu Anda mengawasi agen yang berjalan berdampingan.
  • Pangkas worktree yang selesai dengan segera agar daftarnya tetap pendek dan Anda tidak kehilangan jejak apa yang masih aktif.

Menjaga agen paralel dari tabrakan

Worktree mengisolasi berkas, tetapi tidak mengisolasi segala hal lain yang disentuh proyek Anda saat runtime. Dua agen yang masing-masing menjalankan dev server di port yang sama, memigrasi database yang sama, atau menulis ke cache bersama akan tetap saling mengganggu meski pohon sumbernya terpisah.

Perbaikannya adalah membuat runtime seterisolasi berkasnya: beri tiap worktree port sendiri, database atau schema sendiri, dan instalasi dependensi sendiri di mana ekosistemnya membutuhkannya. Sedikit konfigurasi per worktree di awal mencegah kegagalan membingungkan yang terlihat seperti bug tetapi sebenarnya dua agen berebut satu sumber daya.

Worktree mengisolasi filesystem, bukan sistem yang berjalan, dan paralelisme melipatgandakan biaya token. Tiga agen bisa membakar kira-kira tiga kali lipat token dari satu agen, dan port atau database bersama akan tetap bertabrakan. Paralelkan hanya pekerjaan yang benar-benar independen, dan pastikan runtime terisolasi sebelum Anda menekan mulai.

Kapan paralelisme sepadan, dan kapan tidak

Menjalankan banyak agen adalah pengganda daya untuk pekerjaan yang tepat dan gangguan untuk pekerjaan yang salah. Faktor penentunya biasanya seberapa independen tugasnya dan seberapa banyak review yang bisa Anda serap.

  • Sepadan ketika tugas independen, seperti perbaikan bug terpisah atau fitur yang tidak menyentuh berkas yang sama.
  • Merugikan ketika tugas terkait erat, karena Anda menghabiskan lebih banyak upaya menyelesaikan konflik daripada yang Anda hemat dari berjalan paralel.
  • Kapasitas review Anda sendiri adalah plafon sesungguhnya; tiga agen menghasilkan tiga diff, dan keluaran paralel yang tak di-review adalah beban, bukan kemenangan.

Git worktrees adalah cara terbersih menjalankan agen Claude Code secara paralel karena memberi tiap sesi berkasnya sendiri sambil berbagi satu repositori. Pasangkan dengan port dan database terisolasi, paralelkan hanya tugas independen, dan ingat bahwa kapasitas review Anda, bukan tool-nya, yang menetapkan batas sesungguhnya berapa banyak agen yang bisa Anda jalankan secara berguna.

FAQ

Pertanyaan Umum

Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.

Apa itu git worktree dan mengapa memakainya dengan Claude Code?

Sebuah git worktree adalah direktori kerja tambahan yang terpasang pada repositori yang sama, masing-masing dengan branch yang dicek keluar sendiri tetapi berbagi satu basis data objek. Dengan Claude Code, ia memungkinkan Anda menjalankan beberapa sesi sekaligus, masing-masing di foldernya sendiri, sehingga agen tak pernah menimpa berkas satu sama lain. Ini cara terbersih memparalelkan tugas independen.

Bagaimana cara menyiapkan git worktree untuk agen paralel?

Pakai git worktree add untuk membuat folder baru pada branch-nya sendiri, lalu buka sesi Claude Code terpisah di dalamnya. Beri tiap sesi satu tujuan mandiri yang utuh, review dan merge tiap branch sendiri-sendiri, dan hapus worktree yang selesai dengan git worktree remove. Menamai tiap worktree sesuai tugasnya menjaga tata letaknya mudah diikuti.

Apakah agen Claude Code paralel bisa bertabrakan?

Bisa. Worktree mengisolasi berkas tetapi bukan sumber daya runtime, jadi dua agen yang menjalankan dev server di port yang sama, memigrasi database yang sama, atau menulis ke cache bersama akan tetap saling mengganggu. Perbaikannya adalah memberi tiap worktree port sendiri, database atau schema sendiri, dan instalasi dependensi di mana ekosistemnya membutuhkannya.

Apakah menjalankan agen paralel berbiaya lebih mahal?

Ya. Tiap agen menjalankan sesinya sendiri dan mengonsumsi tokennya sendiri, jadi tiga agen bisa membakar kira-kira tiga kali lipat token dari satu agen. Paralelisme adalah pengganda daya untuk pekerjaan yang benar-benar independen, tetapi boros untuk tugas terkait erat di mana Anda menghabiskan lebih banyak upaya menyelesaikan konflik daripada yang Anda hemat.

Kapan paralelisme dengan worktree tidak sepadan?

Ketika tugas terkait erat atau ketika kapasitas review Anda sendiri menjadi penghambat. Tiga agen menghasilkan tiga diff, dan keluaran paralel yang tak di-review adalah beban ketimbang kemenangan. Paralelkan hanya pekerjaan yang benar-benar independen, dan berhenti menambah agen begitu Anda tak lagi bisa me-review keluarannya dengan cermat.