Arahkan pekerja latar belakang
Panduan ini menunjukkan cara menjalankan sebuah percakapan sebagai pengarah, bukan sebagai pekerja: sesi membaca dan memverifikasi, sementara agen-agen latar belakang yang melakukan penyuntingan.
Apa yang berubah saat Anda mengetik /vibe
Bagian berjudul “Apa yang berubah saat Anda mengetik /vibe”Ada dua hal, dan hanya yang pertama yang ditegakkan oleh mekanismenya:
- Alat milik sesi itu sendiri turun menjadi hanya-baca, ditambah lima verb pekerja. Satu-satunya cara sesi memengaruhi repo adalah melalui seorang pekerja, dan satu-satunya cara sesi mengetahui apa yang terjadi adalah dengan membaca berkas yang disentuh pekerja.
- Sesi diberi tahu untuk memverifikasi dengan membaca, bukan dengan mempercayai. Laporan seorang pekerja adalah klaim tentang apa yang dikerjakannya, bukan bukti bahwa pekerjaan itu berhasil.
Yang pertama adalah yang menanggung beban. Pengarah yang masih bisa menjalankan grep dan menyunting akan mengerjakan sendiri pekerjaan itu saat tertekan, dan itulah mode kegagalan yang ingin dicegah oleh mekanisme ini.
/vibe migrate the auth module to the new session APIPekerja dimulai dalam keadaan kosong
Bagian berjudul “Pekerja dimulai dalam keadaan kosong”Seorang pekerja belum pernah melihat percakapan Anda dan tidak akan pernah. Instruksi adalah seluruh konteksnya.
Itulah yang membuat pola ini murah — dua puluh pekerja yang masing-masing memegang riwayat pengarah akan memakan konteks dua puluh kali lipat konteks pengarah — dan itu juga satu hal yang membuat instruksi sulit ditulis. “Sekarang kerjakan yang satu lagi juga” terbaca sebagai perintah yang lengkap bagi pengarah dan tidak berarti apa-apa bagi sesi yang baru.
Instruksi yang baik menyebutkan berkas, perintah, dan definisi selesai:
Di dalam
lib/features/auth/, ganti setiap pemanggilanSessionStore.read(key)denganSessionStore.get(key). Metode baru mengembalikanFuture<String?>sedangkan metode lama mengembalikanString?, sehingga pemanggilnya memerlukanawait. Jalankanfvm flutter analyze lib/features/authsetelah selesai dan laporkan galat apa pun yang tidak dapat Anda perbaiki.
Lima verb
Bagian berjudul “Lima verb”| Verb | Apa fungsinya |
|---|---|
vibe_spawn |
Memulai seorang pekerja berdasarkan sebuah instruksi. Langsung kembali. |
vibe_list |
Tingkat, status, waktu berlalu, dan hasil terakhir untuk semua pekerja |
vibe_send |
Giliran lanjutan untuk pekerja yang sudah selesai |
vibe_wait |
Memblokir sampai satu pekerja selesai |
vibe_kill |
Menghentikan satu pekerja |
Peluncuran bersifat asinkron karena desainnya memang begitu. Pengarah yang memblokir pada setiap peluncuran menjalankan pekerja satu per satu, yang merupakan cara lebih lambat untuk melakukan apa yang sudah dikerjakannya sendiri. Gunakan vibe_wait hanya saat Anda benar-benar tidak dapat melanjutkan tanpa jawaban tertentu.
Dua tingkat
Bagian berjudul “Dua tingkat”| Tingkat | Untuk |
|---|---|
fast |
Pekerjaan mekanis dengan spesifikasi yang jelas — penyuntingan, penggantian nama, draf, eksekusi perintah |
good |
Desain, pertimbangan, atau peninjauan atas apa yang dihasilkan pekerja fast |
Pola yang umum adalah menyebarkan beberapa pekerja fast ke berkas-berkas yang independen, lalu meluncurkan satu pekerja good untuk meninjau apa yang mereka kerjakan bersama.
Memverifikasi
Bagian berjudul “Memverifikasi”Bagian inilah yang menentukan apakah pola ini berguna sama sekali.
vibe_list→ w1 [fast] auth-migrate — done (48s): Edited lib/features/auth/session.dart … w2 [fast] tests — running (12s)Lalu bacalah berkas yang disebutkannya. Pengarah memiliki read, search, lsp, dan ast_grep; itulah inti dari mempertahankannya. Pengarah yang menelan laporan itu mentah-mentah hanyalah peringkas optimisme agen-agen lain.
lsp(action: "diagnostics", file: "*") setelah satu putaran pekerja biasanya adalah pemeriksaan tunggal yang tercepat.
Saat pekerja kehilangan jejak
Bagian berjudul “Saat pekerja kehilangan jejak”Matikan dan tulis instruksi baru. Instruksi baru yang sudah diperbaiki lebih murah daripada berdebat, dan vibe_send hanya berfungsi pada pekerja yang sudah menyelesaikan gilirannya.
vibe_kill(worker_id: "w2")vibe_spawn(brief: "…corrected…", label: "tests", tier: "fast")Batasan
Bagian berjudul “Batasan”- Delapan pekerja serentak. Ini plafon pengeluaran, bukan batas teknis: masing-masing adalah sesi model yang utuh, dan pengarah yang menyebarkan dua puluh pekerja sudah berhenti memantau apa yang sedang dilakukan semuanya.
- Tidak ada pekerja yang hidup lebih lama daripada modenya. Saat run berakhir, semuanya dihentikan dan transkrip menyebutkan berapa jumlahnya. Agen latar belakang yang masih menyunting berkas setelah percakapan beralih ke hal lain adalah satu kegagalan yang tidak boleh terjadi di sini.
- Di balik layar, pekerja adalah subagen biasa. Batas kedalaman yang sama, kebijakan pagar pengaman yang sama, anak log run yang sama. Vibe mengubah siapa yang mengemudikannya, bukan apa yang boleh mereka lakukan — jadi prompt persetujuan tetap muncul untuk panggilan tulis dan exec milik pekerja.
Kapan tidak menggunakannya
Bagian berjudul “Kapan tidak menggunakannya”Mode vibe ditujukan untuk pekerjaan yang terurai menjadi instruksi-instruksi yang independen. Jika langkah berikutnya bergantung pada keluaran langkah sebelumnya, Anda sedang mendeskripsikan pipeline atau orkestrasi, dan keduanya mengungkapkan dependensi dengan benar alih-alih membuat pengarah menyimulasikannya dengan vibe_wait.
Terkait
Bagian berjudul “Terkait”- Jalankan agen secara paralel — cara-cara lain untuk menyebarkan pekerjaan
- Orkestrasi — saat pekerjaan memiliki bentuk
- Alat agen bawaan — verb beserta argumennya