Bỏ qua để đến nội dung

Đ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.

  1. Mở PR và chuyển đến tab Tổng quan của nó
  2. 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.

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 đó.

Mở Cài đặt → Không gian làm việc → Mẫu quy trình, mở một mẫu, rồi:

  1. Thêm một node Reviewer (prompt) từ bảng chọn
  2. 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}})
  3. Đặ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.

Để một quy trình đánh giá tự khởi chạy:

  1. Mở mẫu tại Cài đặt → Không gian làm việc → Mẫu quy trình
  2. 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)
  3. 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.

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.

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.

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.