Lewati ke konten

@-mention agen

Panduan ini menunjukkan cara menyebut agen dan rekan tim dengan @ di sebuah space.

Ketik @ di composer lalu pilih agen dari pelengkapan otomatis, atau ketik sendiri namanya:

@alice fix the login bug

Agen yang disebutkan ditambahkan ke space sebagai peserta bila belum menjadi peserta, lalu dikirim dengan konteks dan mode space tersebut. Peserta yang tidak disebutkan melihat pesannya tetapi tidak dikirim.

Jika Anda mengirim pesan tanpa sebutan agen, Control Center memilih sendiri agen yang merespons: agen yang terakhir berbicara di percakapan itu, jika tidak ada maka pemilik percakapan bila percakapan itu memilikinya, jika tidak maka agen tingkat teratas pertama di antara peserta space tersebut. Di space dengan satu agen, pilihannya selalu agen tunggal itu.

Token sebutan dicocokkan tanpa memedulikan huruf besar/kecil, berdasarkan nama persis atau awalan. Jadi @arch mencapai agen bernama architect dan @Alice mencapai alice.

Dua konsekuensi yang perlu Anda perhitungkan sejak awal:

  • Token pendek bukanlah error. Jika dua agen berbagi awalan yang sama, agen pertama yang ditemukan yang menang, dan agen mana itu bergantung pada urutan — bukan pada aturan pemecah seri apa pun. Gunakan nama lengkap setiap kali nama saling tumpang tindih.
  • Hanya huruf, angka, dan garis bawah yang menjadi bagian dari token. Pengurai mencocokkan @(\w+), sehingga @code-reviewer dibaca sebagai token code dan @my agent sebagai my. Agen yang namanya memuat tanda hubung, titik, atau spasi tidak dapat disebutkan secara andal — termasuk melalui pelengkapan otomatis, yang menyisipkan nama itu sebagai teks biasa. Beri nama agen dengan satu kata, atau dengan garis bawah.

Sebutan dihapus dari teks sebelum teks itu mencapai agen. Pesan yang hanya berisi sebutan (@alice) karena itu tidak mengirim apa pun — berilah pesan itu sesuatu untuk dikerjakan.

@alice refactor the auth module. @bob write tests for it.

Kedua agen dikirim secara paralel ke percakapan yang sama dan keduanya menerima pesan lengkapnya.

Keduanya juga berbagi worktree space tersebut. Worktree repo disediakan per space, bukan per agen; setiap agen mendapat direktori kerja overlay-nya sendiri untuk AGENTS.md, skill, dan konfigurasinya, dengan repo bersama yang ditautkan secara baca-tulis. Jadi dua agen yang disebutkan bersamaan dapat melihat — dan bertabrakan dengan — hasil edit satu sama lain.

@token apa pun yang tidak cocok dengan agen akan dicoba terhadap anggota manusia di ruang kerja itu, berdasarkan handle, dengan aturan nama persis atau awalan yang sama dan tetap tanpa memedulikan huruf besar/kecil.

Sebutan manusia yang berhasil dicocokkan tidak mengirim apa pun. Sebutan itu hanya menumpang pada metadata pesan agar router notifikasi dapat memberi tahu orang tersebut.

Nama agen selalu dicoba terlebih dahulu, dan token yang sudah diklaim agen tidak pernah ditawarkan ke daftar anggota — satu @word hanya dapat mengarah ke satu prinsipal.

Agen yang dikirim menerima blok “Summons” di prompt-nya yang menyebut siapa yang memanggilnya dan mencantumkan daftar anggota space — agen-agen lain (ditandai tingkat teratas atau bawahan) dan anggota manusia — sehingga ia tahu kepada siapa ia dapat mengalihkan pekerjaan. Blok itu juga memberitahunya bahwa menyebut agen lain dalam balasannya akan membangunkan agen tersebut dan bahwa menyebut dirinya sendiri akan diabaikan.

Agen dapat mengalihkan pekerjaan dalam balasannya sendiri. Saat sebuah giliran selesai dengan bersih, sebutan di dalam teksnya diresolusikan, lalu agen-agen itu ditambahkan ke space dan dikirim ke percakapan yang sama, dengan giliran yang menyebut sebagai prompt mereka. Giliran yang gagal atau yang terinterupsi tidak membangunkan siapa pun — giliran itu berhenti di tengah jalan.

Aturannya sengaja dibuat lebih ketat daripada aturan composer, karena tidak ada yang mengawasi untuk mengoreksi tebakan yang salah:

  • Hanya nama persis. Tanpa pencocokan awalan. @arch mencapai architect saat diketik manusia; dari agen, sebutan itu tidak mencapai siapa pun. Nama yang cocok dengan dua agen juga tidak mencapai siapa pun.
  • Kode bukan prosa. Sebutan di dalam blok berpagar atau `backticks` diabaikan, sehingga mengutip anotasi @Override atau pip install foo@1.2 tetap aman. Pagar yang tidak ditutup mengosongkan semua yang ada setelahnya.
  • @ yang menempel pada token sebelumnya bukan sebutan — sam@host.com, pkg/@scope, dan node@20 tidak mengarah ke siapa pun.
  • Tanda hubung dipertahankan, sehingga @code-reviewer mengarah pada dirinya sendiri, bukan sebagai token code.
  • Paling banyak tiga agen per giliran. Agen yang mencantumkan enam rekan tim dalam sebuah ringkasan sedang mencantumkan mereka, bukan memanggil mereka.

Rantai pembangunan dibatasi dengan cara yang sama seperti delegasi: kedalaman 3, dan agen yang sudah ada di rantai itu tidak dapat dibangunkan lagi olehnya (tidak ada A → B → A). Pasangan berurutan juga dibatasi lajunya lintas rantai. Pembangunan yang ditolak akan memposting pesan sistem ke percakapan yang menyebutkan sebutan mana yang tidak terkirim dan mengapa — nama yang tidak terselesaikan tidak melakukan itu, karena jika tidak, setiap @ dalam sebuah kalimat akan menarasikan dirinya sendiri.

Untuk pengalihan yang tidak boleh bergantung pada prosa — permintaan/balasan, atau menjangkau agen di luar space — gunakan alat send_to_agent, ask_agent, dan delegate_task sebagai gantinya.