Sembang dengan ejen
Panduan ini menunjukkan cara bekerja dengan ejen dalam sesuatu ruang.
Cipta ruang
Bahagian bertajuk “Cipta ruang”- Navigasi ke Ruang dalam bar sisi
- Klik butang + di sebelah tajuk Ruang
- Taip nama — ini wajib. Nama kosong ditolak; dialog kekal terbuka
- Secara pilihan, tambah ejen daripada ruang kerja
- Jika ruang kerja mempunyai mana-mana repo, pemilih repo akan muncul. Ia bermula dengan setiap repo dipilih; kecilkan pilihan itu (termasuk menyahpilih satu repo) kepada repo yang patut disediakan worktree oleh ruang ini
- Sahkan
Control Center membuka ruang itu dan mula menyediakan satu worktree copy-on-write bagi setiap repo yang dipilih di latar belakang.
Hantar mesej pertama
Bahagian bertajuk “Hantar mesej pertama”Taip mesej anda dalam penggubah mesej dan tekan Enter. Ejen dihantar dan mula menstrim responsnya.
Jika ruang itu masih menjalani penyediaan, mesej anda diletakkan sementara dan bukan hilang — penggubah mesej menyimpannya dan menghantarnya secara automatik sebaik sahaja worktree sedia.
Semasa ejen bekerja, anda melihat aliran gilirannya masuk: segmen penaakulan, panggilan alat (bacaan fail, penulisan, perintah shell) dan teks jawapan, semuanya di dalam satu mesej giliran ejen.
Kemudi ejen yang sedang berjalan
Bahagian bertajuk “Kemudi ejen yang sedang berjalan”Semasa ejen bekerja, teks perbualan biasa tidak membariskan giliran baharu. Ia menjadi kad pemanduan yang berbaris dalam jalur di atas penggubah mesej dan disuntik ke dalam larian langsung pada sempadan giliran seterusnya. Tiada toast — kad itu sendiri ialah maklum balasnya.
Tiga perkara mengubah tingkah laku itu:
- Mesej yang mengandungi @sebut sentiasa dihantar sebagai mesej, tidak pernah sebagai pemanduan
- Mesej yang bermula dengan perintah slash sentiasa dikendalikan sebagai perintah itu
- Mesej yang mempunyai lampiran sentiasa dihantar sebagai mesej — barisan pemanduan hanya untuk teks
- Jika setiap larian langsung sudah tamat, teks itu jatuh ke laluan biasa dan dihantar sebagai mesej biasa
Luluskan tindakan yang tersekat
Bahagian bertajuk “Luluskan tindakan yang tersekat”Apabila sesuatu tindakan terlanggar pintu guardrail ejen — perintah yang memusnahkan, alat
istimewa — pelayan menyekat larian itu dan menerbitkan permintaan kelulusan
kepada setiap klien yang bersambung. Jika anda membuka perbualan itu, permintaan itu
muncul dalam sembang, di atas penggubah mesej, sebagai kad pilihan bernombor yang sama
seperti yang digunakan untuk ask_user (tolak, luluskan dan secara pilihan luluskan selama
lapan jam). Tiada langkau: ejen yang tersekat sedang menunggu keputusan.
Jika anda berada di tempat lain dalam aplikasi, panel yang sentiasa di atas dalam cangkerang masih menyenaraikan apa yang menunggu, jadi anda boleh menyahsekat ejen itu tanpa mencari ruang tersebut. Lapisan tindanan itu menyembunyikan sesuatu permintaan sebaik sahaja perbualan ruang itu berada pada skrin, jadi anda tidak pernah menjawab gesaan yang sama dua kali.
Tiada had masa: ejen yang tersekat menunggu sehingga seseorang membuat keputusan. Permintaan yang sama juga muncul dalam jalur perhatian peti masuk dan pada klien telefon.
Jawab soalan ejen
Bahagian bertajuk “Jawab soalan ejen”Ejen yang memerlukan sesuatu keutamaan, keperluan yang hilang atau cabang keputusan yang benar-benar
wujud mesti memanggil ask_user. Menulis soalan itu sebagai mesej sembang menamatkan giliran
dan anda perlu menggesa semula. Alat itu memaparkan kad bernombor dalam perbualan
— pilihan, teks bebas secara pilihan, atau kedua-duanya — dan larian itu menunggu jawapan anda.
Ketik satu pilihan untuk menghantarnya (nombor di hujung bertukar menjadi anak panah apabila
penuding berada di atasnya). Pemilihan berbilang dan jawapan yang ditaip menggunakan Teruskan
(⌘↵ / Ctrl↵). Langkau memberitahu ejen supaya memilih lalai yang munasabah dan tidak bertanya
lagi.
Ia mekanisme yang berasingan daripada kad kelulusan di atas: kelulusan ialah “bolehkah saya lakukan ini?”, soalan ialah “yang mana satu maksud anda?”. Pertanyaan tersedia pada harness terbina dalam setiap modus, termasuk modus baca sahaja (ia tidak mengubah apa-apa), dan ia sengaja tidak dibalut dalam gesaan kelulusan — dialog di hadapan dialog akan gagal tertutup apabila tiada pelulus yang bersambung. Larian yang tiada perbualan untuk dipaparkan tidak menerima alat itu.
Hentikan ejen
Bahagian bertajuk “Hentikan ejen”Semasa larian masih langsung, butang hantar penggubah mesej bertukar menjadi butang Henti. Kosongkan penggubah mesej dan tekan butang itu — ini menghentikan setiap ejen yang berjalan dalam perbualan tersebut.
Tiada kawalan henti dalam pengepala ruang dan tiada pintasan papan kekunci untuknya. Untuk menghentikan hanya satu larian apabila beberapa larian langsung, buka tab aktiviti larian itu — pengepalanya membawa jeda/sambung semula dan henti yang berskop larian (henti itu meminta anda mengesahkan). Kebolehcerapan → Langsung menyenaraikan setiap ejen yang berjalan dalam ruang kerja dengan kawalan yang sama.
Larian yang dihentikan ditandakan sebagai dihentikan. Hantar mesej baharu untuk menghantar semula.
Gunakan perintah slash
Bahagian bertajuk “Gunakan perintah slash”Taip / dalam penggubah mesej untuk melihat senarai perintah. Perintah yang mengubah cara
perbualan berkelakuan:
| Perintah | Apa fungsinya |
|---|---|
/plan |
Menukar ruang kepada modus pelan. /plan kosong hanya mempersiapkan modus itu; /plan <request> mempersiapkannya dan menghantar selebihnya sebagai mesej anda |
/goal <text> |
Merekod matlamat kerja perbualan itu |
/loop <text> |
Melakukan lelaran ke atas sesuatu tugasan sehingga ia selesai |
/compact |
Melipat sejarah lama menjadi ringkasan berlabuh dan meneruskan pada konteks yang dimampatkan |
/todo … |
Melihat dan menyunting senarai todo perbualan ini yang disimpan secara kekal |
Kemahiran muncul dalam senarai yang sama di bawah ruang namanya sendiri skill:, jadi ia tidak pernah
bertembung dengan perintah di atas — kemahiran yang bernama plan atau compact kekal boleh
dicapai:
| Perintah | Apa yang dijalankannya |
|---|---|
/skill:<name> |
Kemahiran yang dipasang dalam ruang kerja, atau yang dilampirkan pada ejen |
/skill:<repo>:<name> |
Kemahiran yang dibawa oleh salah satu repo yang di-checkout dalam ruang ini |
Kemahiran repo diberi lencana dengan repo asalnya, kerana nama sahaja tidak menyatakan
konvensyen perkhidmatan mana yang dikodkannya dan dua repo mungkin masing-masing membawa
testing. Anda tidak perlu menaip awalan itu untuk mencarinya: menaip nama kemahiran
kosong juga memadankan entri ruang nama.
Ejen hanya membawa kemahiran repo tempat ia sedang bekerja — lihat Kemahiran berskop repo. Penggubah mesej tidak berskop begitu: anda boleh menggunakan kemahiran mana-mana repo dengan menamakannya.
/compact dan /todo dipintas oleh klien dan tidak pernah disimpan sebagai
mesej — baris /compact dalam transkrip akan menolak potongan pemampatan seterusnya
satu giliran ke belakang. /plan menukar modus ruang yang tersimpan dan bukannya bergerak sebagai
teks. Jadi ketiga-tiganya bukan “mesej yang anda hantar kepada ejen”; jangan harap melihatnya
dalam sejarah.
Minta pelan terlebih dahulu
Bahagian bertajuk “Minta pelan terlebih dahulu”Sebelum perubahan yang kompleks, tukar ruang kepada modus pelan dengan /plan, menu lungsur modus
pada bar alat penggubah mesej, atau Shift+Tab. Ejen kemudian menyelidik secara baca sahaja
dan memberikan pelan bertaip yang anda luluskan sebelum apa-apa kerja bermula. Lihat
Gunakan modus pelan.
Capai ejen tanpa ruang khusus
Bahagian bertajuk “Capai ejen tanpa ruang khusus”Anda tidak memerlukan satu ruang bagi setiap ejen. Dalam mana-mana ruang:
@alice can you look at the failing tests in src/auth_test.dart?Ejen yang disebut ditambah ke ruang itu dan dihantar dengan konteks ruang tersebut. Lihat @-sebut ejen untuk cara nama dipadankan.
Panduan berkaitan
Bahagian bertajuk “Panduan berkaitan”- Gunakan ruang
- @-sebut ejen
- Gunakan modus pelan
- Sediakan integrasi Slack untuk melakukan perkara yang sama daripada Slack