Điều phối agent đánh giá
Hướng dẫn này chỉ cho bạn cách điều phối các agent đánh giá để xem xét pull request.
Từ chế độ xem PR
Phần tiêu đề “Từ chế độ xem PR”- Mở PR và chuyển đến tab Tổng quan của nó
- Mở menu tràn ⋯ và chọn Hỏi AI
Thao tác này khởi động quy trình pr_review có sẵn, quy trình này mở space đánh
giá của PR và điều phối những người đánh giá theo mức đánh giá của không gian
làm việc — mặc định là ba (các agent qa, architect và engineer được
tạo sẵn) — rồi cho agent chủ trì hợp nhất. Trên đường này bạn không tự chọn vai
trò. Muốn kiểm soát vai trò nào chạy và mỗi vai trò xem những tệp nào, hãy dùng
công cụ MCP hoặc một bước quy trình bên dưới.
Qua công cụ MCP dispatch_reviewers
Phần tiêu đề “Qua công cụ MCP dispatch_reviewers”Gọi nó từ bên trong một space đánh giá sẵn có:
dispatch_reviewers( space_id: "...", workspace_id: "...", reviewers: [ {role: "reviewer"}, {role: "security", scope: "src/auth/**"} ])space_id, workspace_id và reviewers đều bắt buộc. Mỗi đặc tả người đánh
giá nhận một role, cùng một scope glob tệp tùy chọn và một
prompt_override thay thế đề bài mặc định. Một concurrency tùy chọn (1–8)
giới hạn số lượt điều phối song song; khi bỏ qua, thiết lập
review_concurrency của không gian làm việc sẽ được áp dụng (mặc định 3, đặt
tại Cài đặt → Không gian làm việc → Chung).
Công cụ trả về ngay với hai danh sách dispatched và unmatched. Mỗi người
đánh giá được điều phối sẽ được thêm vào space với tư cách người tham gia, được
thông báo bằng một tin nhắn hệ thống và được điều phối kèm đề bài của nó. Các
phát hiện xuất hiện dưới dạng tin nhắn review_node trong space đó.
Từ một bước quy trình
Phần tiêu đề “Từ một bước quy trình”Mở Cài đặt → Không gian làm việc → Mẫu quy trình, mở một mẫu, rồi:
- Thêm một node Reviewer (prompt) từ bảng chọn
- Chọn agent cần điều phối và viết prompt cho người đánh giá, dùng các
placeholder
{{key}}cho đầu ra thượng nguồn (ví dụ{{repo_local_path}},{{pr_number}}) - Đặt khóa đầu ra (mặc định
reviewer_findings) để các bước hạ nguồn đọc được các phát hiện
Bước này điều phối agent và tạm dừng cho đến khi lượt chạy đó kết thúc. Sau đó
engine thu hoạch payload submit_output của lượt chạy vào trạng thái quy trình
dưới khóa đầu ra của node. (Phần mô tả trong bảng chọn vẫn nói bước này chờ một
lời gọi complete_task — công cụ đó không tồn tại; hãy bỏ qua chuỗi đó.)
Tỏa nhánh bằng cách nối nhiều node đánh giá vào cùng một bước thượng nguồn, rồi hợp nhất đầu ra của chúng bằng một node Consolidate (join).
Trình chỉnh sửa nối lại terminal ẩn tới mọi nút đích tiếp cận được, nên một node bạn thêm sau Step được tạo sẵn vẫn chạy. Các node tỏa nhánh được nối vào cùng một bước thượng nguồn sẽ chạy song song.
Tự động điều phối khi có PR mới
Phần tiêu đề “Tự động điều phối khi có PR mới”Để một quy trình đánh giá tự khởi chạy:
- Mở mẫu tại Cài đặt → Không gian làm việc → Mẫu quy trình
- Kéo PR được xuất bản hoặc PR bên ngoài được mở từ mục Bộ kích hoạt của thư viện nút vào canvas (hoặc chọn nó từ ô giữ chỗ mờ Thêm bộ kích hoạt)
- Chọn node mới và bật Đã bật trong trình kiểm tra của nó, rồi bật mẫu
Có hai sự kiện quan trọng ở đây và chúng không thể thay thế cho nhau:
| Sự kiện | Kích hoạt khi | Khóa payload |
|---|---|---|
PullRequestPublished |
Một PR được mở qua Control Center — bề mặt soạn thảo, hoặc một agent gọi pr_lifecycle.publish |
pr_id, workspace_id, repo_owner, repo_name |
ExternalPrDetected |
Dịch vụ thăm dò PR phát hiện một PR được mở trực tiếp trên GitHub | repo_owner, repo_name, pr_number, pr_title, author |
Một PR được mở trên github.com không bao giờ phát PullRequestPublished, nên
một mẫu chỉ được nối với sự kiện đó sẽ không thấy nó. Cũng lưu ý rằng
PullRequestPublished không mang theo pr_number — một bước có script hoặc
prompt tham chiếu {{pr_number}} phải được cấp dữ liệu từ ExternalPrDetected,
hoặc từ một lần chạy thủ công có cung cấp giá trị đó.
Điểm kiểm tra: sau khi bật, hãy mở Pipelines và xác nhận một lần chạy xuất hiện cho PR khớp tiếp theo. Một mẫu bị bỏ tắt khiến trình kích hoạt của nó kích hoạt vào khoảng không — engine từ chối một mẫu bị tắt và trả về mà không khởi chạy lần chạy nào.
Cách một vai trò được khớp với agent
Phần tiêu đề “Cách một vai trò được khớp với agent”dispatch_reviewers chấm điểm mọi agent trong không gian làm việc dựa trên từng
nhãn vai trò được yêu cầu, không phân biệt chữ hoa chữ thường:
| Khớp | Điểm |
|---|---|
| Một skill chứa nhãn vai trò | +3 |
| Một tiêu đề chứa nhãn vai trò | +2 |
| Một tên agent chứa nhãn vai trò | +1 |
Điểm số cộng dồn và tổng cao nhất sẽ thắng (nếu hòa, ứng viên được tìm thấy đầu
tiên thắng). Nếu không ứng viên nào đạt điểm lớn hơn không, đặc tả đó sẽ quay
lại trong danh sách unmatched của công cụ thay vì được điều phối — nên một vai
trò không ai khớp sẽ được báo cáo, chứ không bao giờ bị âm thầm bỏ qua.
Space đánh giá
Phần tiêu đề “Space đánh giá”Một PR có đúng một space đánh giá, chứ không phải một space cho mỗi người
đánh giá. Space này được pr.ensureSpace tạo theo cách idempotent, được liên kết
với PR qua một ReviewSpaceAssociation và được cấp phát dựa trên head ref của
PR. Mọi người đánh giá được điều phối đều tham gia space đó và đăng các phát
hiện review_node của mình ở đó, chính điều này khiến các phát hiện có thể so
sánh được và cho phép agent chủ trì đạt được đồng thuận giữa chúng.
Theo dõi lượt điều phối
Phần tiêu đề “Theo dõi lượt điều phối”Mỗi người đánh giá được điều phối có AgentRunLog riêng. Theo dõi tiến độ trong:
- Space đánh giá, nơi các phát hiện truyền về trực tiếp
- Tab Đánh giá của PR, nơi hiển thị thanh trạng thái đánh giá và kết luận
- Quan sát → Trực tiếp (
/workspaces/:id/observability), danh sách agent với trạng thái từng lượt chạy, thời gian trôi qua trực tiếp, ngăn kéo bản ghi hội thoại và nút dừng. Không có phím tắt cho mục này — hãy vào từ chân thanh bên.