~/VibeHandbook
PDF Gratis

Bab 19 · 04

Agent Latar Belakang dan Paralel

Begitu kamu mempercayai sebuah pada tugas yang sudah dibatasi ruang lingkupnya, langkah berikutnya jelas: jalankan beberapa sekaligus. Alat-alat modern memungkinkanmu memulai agent latar belakang (background agent) — masing-masing di cabang () atau worktree-nya sendiri (salinan kerja terpisah dari proyek, sehingga edit satu agent tidak pernah bertabrakan dengan yang lain) — sehingga tiga atau empat tugas yang dibatasi ruang lingkupnya bisa berkembang sementara kamu melakukan hal lain.

Ini adalah percepatan nyata, tapi hanya untuk pekerjaan yang independen. Biaya yang kamu pertukarkan adalah koordinasi. Dua agent yang mengedit berkas yang sama akan menghasilkan diff yang bertabrakan, dan menggabungkannya secara manual bisa memakan biaya lebih besar daripada yang kamu hemat.

  • Bagi berdasarkan batas, bukan berdasarkan jumlah baris. Berikan setiap agent sebuah bagian yang tidak tumpang tindih dengan yang lain — modul terpisah, fitur terpisah, berkas terpisah. "Agent A mengerjakan fitur ekspor, Agent B menulis dokumentasi" itu bersih. "Kedua agent mengedit app.js" adalah sakit kepala penggabungan (merge) yang menunggu untuk terjadi.
  • Isolasi ruang kerjanya. Jalankan setiap agent di branch atau worktree git-nya sendiri sehingga mereka tidak bisa menginjak perubahan yang belum di-commit milik yang lain. Gabungkan (merge) kembali satu per satu, jalankan pemeriksaanmu di setiap penggabungan.
  • Jaga jumlahnya tetap jujur. Kamu tetap harus meninjau setiap hasil. Empat agent yang berjalan berarti empat diff yang harus dibaca dan empat set test yang harus dipercaya. Melewati segelintir, antrean peninjauan — bukan agent-nya — menjadi hambatanmu.

Setiap agent bekerja di worktree-nya sendiri yang terisolasi sehingga edit mereka tidak pernah bertabrakan; kamu menggabungkannya kembali satu per satu, menjalankan pemeriksaan di setiap gerbang:

              ┌─────────────────────────────┐
              │  YOU split by boundary       │
              └──────────────┬──────────────┘
            ┌────────────────┼────────────────┐
            ▼                ▼                 ▼
   ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
   │ AGENT A      │ │ AGENT B      │ │ AGENT C      │
   │ worktree-a/  │ │ worktree-b/  │ │ worktree-c/  │
   │ export feat  │ │ docs         │ │ settings page│
   └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
          │ branch-a       │ branch-b       │ branch-c
          └────────────────┼────────────────┘
                           ▼
                  ┌──────────────────┐
                  │  MERGE one-by-one │  run checks at each merge
                  │  → main           │
                  └──────────────────┘
   isolated copies = no collisions   · review queue is the real limit

Kesalahannya adalah memperlakukan paralelisme seolah gratis. Tidak — kamu sudah memindahkan pekerjaan dari menulis menjadi meninjau dan mengintegrasikan. Sering kali itu pertukaran yang bagus, tapi hanya jika kamu benar-benar melakukan peninjauannya.

Mau versi offline?

Unduh seluruh buku sebagai PDF atau EPUB — gratis.