派发审查智能体
本指南介绍如何派发审查智能体来审查 pull request。
从 PR 视图
标题为“从 PR 视图”的部分- 打开该 PR,进入它的概览标签页
- 打开 ⋯ 溢出菜单,选择询问 AI
这会启动预置的 pr_review 流水线,它会打开该 PR 的审查空间,并按工作区的
审阅级别派出审查者——默认三个(预置的 qa、architect 和 engineer
智能体)——然后由主导智能体进行汇总。在这条路径上,你无法选择角色。如果你想
控制由哪些角色审查、以及每个角色查看哪些文件,请使用下面的 MCP 工具或流水线
步骤。
通过 dispatch_reviewers MCP 工具
标题为“通过 dispatch_reviewers MCP 工具”的部分在已有的审查空间内部调用它:
dispatch_reviewers( space_id: "...", workspace_id: "...", reviewers: [ {role: "reviewer"}, {role: "security", scope: "src/auth/**"} ])space_id、workspace_id 和 reviewers 都是必填项。每个审查者条目接受一个
role,以及可选的、用于文件通配的 scope,还有一个会替换默认任务说明的
prompt_override。可选的 concurrency(1–8)会限制并行派发的数量;省略时,
将采用工作区的 review_concurrency 设置(默认 3,在设置 → 工作区 → 通用中
设置)。
该工具会立即返回 dispatched 和 unmatched 两个列表。每个被派发的审查者都会
作为参与者加入该空间,并会以一条系统消息公告,然后带着自己的任务说明被派发。
发现项会以 review_node 消息的形式落到该空间中。
通过流水线步骤
标题为“通过流水线步骤”的部分打开 设置 → 工作区 → 流水线模板,打开一个模板,然后:
- 从节点库中添加一个 Reviewer (prompt) 节点
- 选择要派发的智能体并编写审查者提示词,使用
{{key}}占位符引用上游输出 (例如{{repo_local_path}}、{{pr_number}}) - 设置输出键(默认
reviewer_findings),以便下游步骤可以读取发现项
该步骤会派发智能体,并挂起,直到那次运行结束。随后,引擎会把该次运行的
submit_output 载荷收集到流水线状态中,存放在该节点的输出键下。(节点库中的
说明仍然称该步骤会等待一次 complete_task 调用——该工具并不存在,请忽略这段
文字。)
把多个审查者节点接到同一个上游步骤即可实现扇出,然后用一个 Consolidate (join) 节点汇总它们的输出。
编辑器会把隐藏的终端重新接到每一个可达的汇点,因此你在预置的 Step 之后添加的 节点仍会运行。接到同一个上游步骤的扇出节点会并行运行。
在新 PR 上自动派发
标题为“在新 PR 上自动派发”的部分要让审查流水线自行触发:
- 在 设置 → 工作区 → 流水线模板 中打开该模板
- 从节点库的触发器区域把 PR 已发布 或 外部 PR 已打开 拖到画布上 (或从添加触发器占位磁贴中选取)
- 选中新节点,在其检查器中打开 已启用,然后启用该模板
这里有两个事件很重要,它们不能互换:
| 事件 | 触发时机 | 载荷键 |
|---|---|---|
PullRequestPublished |
某个 PR 通过 Control Center 打开时——经由撰写界面,或由智能体调用 pr_lifecycle.publish |
pr_id、workspace_id、repo_owner、repo_name |
ExternalPrDetected |
PR 轮询服务发现某个 PR 直接在 GitHub 上打开时 | repo_owner、repo_name、pr_number、pr_title、author |
在 github.com 上打开的 PR 绝不会触发 PullRequestPublished,因此只接了该事件的
模板不会看到它。还要注意,PullRequestPublished 不携带 pr_number——脚本或
提示词中引用了 {{pr_number}} 的步骤,必须由 ExternalPrDetected 提供该值,
或者由一次手动运行提供。
检查点:启用后,打开流水线,确认下一个匹配的 PR 会出现一次运行。模板若一直 处于禁用状态,它的触发器触发的将是空转——引擎会拒绝已禁用的模板并直接返回,不会 启动运行。
角色如何匹配到智能体
标题为“角色如何匹配到智能体”的部分dispatch_reviewers 会把工作区中的每个智能体与每个请求的角色标签逐一评分比对,
不区分大小写:
| 匹配方式 | 分值 |
|---|---|
| 技能中包含该角色标签 | +3 |
| 标题中包含该角色标签 | +2 |
| 智能体名称中包含该角色标签 | +1 |
分值会累加,总分最高者胜出(分数相同时,取最先找到的候选者)。如果没有任何候选者
的得分高于零,该条目会出现在工具的 unmatched 列表里,而不会被派发——因此没有人
匹配的角色会被报告出来,绝不会被悄悄跳过。
审查空间
标题为“审查空间”的部分一个 PR 恰好有一个审查空间,而不是每个审查者一个。它由 pr.ensureSpace
幂等地创建,通过 ReviewSpaceAssociation 与 PR 关联,并针对 PR 的 head ref 完成
预配。每个被派发的审查者都会加入该空间,并把自己的 review_node 发现项发布在
那里——正是这一点让各项发现项可以相互比较,并让主导智能体能够在它们之间达成
共识。
监控派发
标题为“监控派发”的部分每个被派发的审查者都有自己的 AgentRunLog。你可以在以下位置跟踪进度:
- 审查空间,发现项会实时流入
- PR 的评审标签页,其中显示审查状态栏和判定
- 可观测性 → 实时(
/workspaces/:id/observability),即智能体名册,包含每次 运行的状态、实时已用时长、转录抽屉和终止控件。它没有键盘快捷键——从侧边栏页脚 进入。