Lewati ke konten

Kirim agen peninjau

Panduan ini menunjukkan cara mengirim agen peninjau untuk meninjau pull request.

  1. Buka PR dan masuk ke tab Ikhtisar-nya
  2. Buka menu tambahan ⋯ dan pilih Tanya AI

Tindakan ini memulai pipeline pr_review bawaan, yang membuka ruang tinjauan PR dan mengirim peninjau sesuai tingkat tinjauan ruang kerja — secara bawaan tiga (agen bawaan qa, architect, dan engineer) — lalu meminta agen pemimpin mengonsolidasikannya. Anda tidak memilih peran di jalur ini. Untuk mengendalikan peran mana yang berjalan dan file mana yang diperiksa masing-masing, gunakan alat MCP atau langkah pipeline di bawah.

Panggil dari dalam ruang tinjauan yang sudah ada:

dispatch_reviewers(
space_id: "...",
workspace_id: "...",
reviewers: [
{role: "reviewer"},
{role: "security", scope: "src/auth/**"}
]
)

space_id, workspace_id, dan reviewers semuanya wajib. Setiap spesifikasi peninjau menerima role plus scope glob file opsional dan prompt_override yang menggantikan instruksi bawaan. concurrency opsional (1–8) membatasi pengiriman paralel; jika dihilangkan, pengaturan review_concurrency ruang kerja yang berlaku (bawaan 3, diatur di Pengaturan → Ruang kerja → Umum).

Alat ini langsung kembali dengan daftar dispatched dan unmatched. Setiap peninjau yang dikirim ditambahkan ke ruang sebagai peserta, diumumkan dengan pesan sistem, dan dikirim dengan instruksinya. Temuan masuk sebagai pesan review_node di ruang tersebut.

Buka Pengaturan → Ruang kerja → Template pipeline, buka sebuah templat, lalu:

  1. Tambahkan node Reviewer (prompt) dari palet
  2. Pilih agen yang akan dikirim dan tulis prompt peninjau, dengan placeholder {{key}} untuk keluaran hulu (misalnya {{repo_local_path}}, {{pr_number}})
  3. Tetapkan kunci keluaran (bawaan reviewer_findings) agar langkah hilir dapat membaca temuan

Langkah ini mengirim agen dan menangguhkan hingga run itu selesai. Mesin lalu memanen payload submit_output dari run ke dalam status pipeline di bawah kunci keluaran node. (Deskripsi palet masih menyatakan langkah ini menunggu panggilan complete_task — alat itu tidak ada; abaikan teks tersebut.)

Lakukan fan-out dengan menghubungkan beberapa node peninjau ke langkah hulu yang sama, lalu konsolidasikan keluarannya dengan node Consolidate (join).

Editor menyambungkan ulang terminal tersembunyi ke setiap sink yang dapat dijangkau, sehingga node yang Anda tambahkan setelah langkah bawaan tetap berjalan. Node fan-out yang terhubung ke langkah hulu yang sama berjalan secara paralel.

Agar pipeline tinjauan berjalan sendiri:

  1. Buka templat di Pengaturan → Ruang kerja → Template pipeline
  2. Seret PR dipublikasikan atau PR eksternal dibuka dari bagian Trigger di pustaka node ke kanvas (atau pilih dari ubin bayangan Tambah trigger)
  3. Pilih node baru dan nyalakan Aktif di inspektornya, lalu aktifkan templat

Ada dua peristiwa penting di sini dan keduanya tidak dapat dipertukarkan:

Peristiwa Dipicu saat Kunci payload
PullRequestPublished Sebuah PR dibuka melalui Control Center — permukaan penyusunan PR, atau agen yang memanggil pr_lifecycle.publish pr_id, workspace_id, repo_owner, repo_name
ExternalPrDetected Layanan polling PR menemukan PR yang dibuka langsung di GitHub repo_owner, repo_name, pr_number, pr_title, author

PR yang dibuka di github.com tidak pernah memicu PullRequestPublished, jadi templat yang hanya terhubung ke peristiwa itu tidak akan melihatnya. Perhatikan juga bahwa PullRequestPublished tidak membawa pr_number — langkah yang skrip atau prompt-nya merujuk {{pr_number}} harus diberi masukan oleh ExternalPrDetected, atau oleh run manual yang menyediakannya.

Pemeriksaan: setelah mengaktifkan, buka Pipeline dan pastikan sebuah run muncul untuk PR berikutnya yang cocok. Templat yang dibiarkan nonaktif membuat pemicunya tidak menghasilkan apa pun — mesin menolak templat yang nonaktif dan kembali tanpa memulai run.

dispatch_reviewers menilai setiap agen di ruang kerja terhadap setiap label peran yang diminta, tanpa membedakan huruf besar-kecil:

Kecocokan Skor
Skill yang memuat label peran +3
Judul yang memuat label peran +2
Nama agen yang memuat label peran +1

Skor diakumulasikan dan total tertinggi menang (jika seri, kandidat pertama yang ditemukan). Jika tidak ada kandidat yang bernilai di atas nol, spesifikasi dikembalikan dalam daftar unmatched alat alih-alih dikirim — jadi peran yang tidak cocok dengan siapa pun akan dilaporkan, tidak pernah dilewati secara diam-diam.

Sebuah PR memiliki tepat satu ruang tinjauan, bukan satu per peninjau. Ruang ini dibuat secara idempoten oleh pr.ensureSpace, ditautkan ke PR melalui ReviewSpaceAssociation dan disediakan terhadap head ref PR. Setiap peninjau yang dikirim bergabung ke ruang itu dan memposting temuan review_node-nya di sana, yang membuat temuan dapat dibandingkan dan memungkinkan agen pemimpin mencapai konsensus di antara semuanya.

Setiap peninjau yang dikirim mendapat AgentRunLog-nya sendiri. Ikuti kemajuannya di:

  • Ruang tinjauan, tempat temuan mengalir langsung
  • Tab Tinjauan pada PR, yang menampilkan bilah status tinjauan dan putusan
  • Observabilitas → Langsung (/workspaces/:id/observability), daftar agen dengan status per run, waktu berlalu langsung, laci transkrip, dan kontrol penghentian. Tidak ada pintasan keyboard untuknya — akses dari footer bilah sisi.