KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

08. 审查者怎样改进结果,而不是制造争论? — keel 龙骨

Metrics Agent 生成了候选发现:“连接池耗尽是根因。” Reviewer 应该检查什么?如果只提示“请严格审查”,它可能改写措辞、提出新猜测,甚至与生成者无限往返。

Metrics Agent 生成了候选发现:“连接池耗尽是根因。” Reviewer 应该检查什么?如果只提示“请严格审查”,它可能改写措辞、提出新猜测,甚至与生成者无限往返。

有效 review 需要可执行的验收标准和停止条件。

Reflection、Review 和 Debate 的区别

模式 谁检查 交互结构 适用目标
Self-reflection 同一 Agent 再看自己的输出 单执行者循环 低成本修订
Reviewer 独立 Agent 按标准给反馈 生成者 <-> 审查者 可定义质量标准的工件
Debate 多个 Agent 提出并反驳观点 多方消息网络 探索争议假设

增加 Reviewer 的价值来自上下文和职责独立,不只是换一个角色名称。若 reviewer 与生成者使用相同输入、相同 prompt 且没有 rubric,它们容易重复相同错误。

ReviewResult 必须是协议对象

class ReviewResult(BaseModel):
    approved: bool
    issues: list[ReviewIssue]
    missing_evidence_ids: list[str]
    requested_changes: list[str]

每个 issue 至少包含:

“不够好”“再深入一点”不能成为稳定的修订输入。

为事件诊断定义 rubric

R1 每个根因 claim 至少引用一个存在的 evidence_id
R2 不把时间相关性直接写成确定因果
R3 confidence 必须在 0 到 1 之间
R4 缺少数据库端证据时必须写入 limitation
R5 不建议执行未经用户批准的现实动作

其中 R1、R3 可以优先由程序校验;R2、R4 需要语义判断;R5 同时需要输出审查和工具安全策略。

能用确定性代码检查的规则,不必额外消耗 reviewer 模型调用。

Evaluator-Optimizer 循环

flowchart LR
    G[Generator] --> A[Artifact]
    A --> V[Deterministic Validation]
    V --> R[Reviewer]
    R -->|approved| F[Final Artifact]
    R -->|changes requested| G

循环必须带:

Reviewer 不能通过修改自己的 approved 标志强行结束;Coordinator 根据结果和预算决定是否继续。

多数同意不等于事实正确

三个使用相同模型和相同错误证据的 Agent 可能一致同意错误结论。Consensus 只能说明输出之间一致,不能替代外部证据和验收标准。

避免“虚假共识”的做法包括:

Review 不能增加现实权限

Reviewer 可以说“建议回滚”,但不能因为自己标记 approved 就直接调用回滚工具。Artifact 审查和现实动作审批是两个不同协议。

artifact approved
    !=
rollback authorized

现实动作仍要经过 Tool Calling 的身份、资源、策略和人工审批。

本章实验

为一个 FindingArtifact 故意加入三种缺陷:不存在的 evidence ID、过高 confidence、没有 limitation 的确定根因。

先写确定性校验,再把剩余语义问题交给 Reviewer。比较“全部交给 Reviewer”和“程序校验 + Reviewer”的调用次数、稳定性与错误定位能力。

检查理解

协作链已经包含多个执行者和循环。下一步处理其中任何一环失败时,整次运行怎样结束。

下一章:一个 Agent 失败后,团队怎样收束?

进入 keel 阅读