模式矩阵 /模式白皮书/C3

C3 · Adversarial Review · 对抗评审

字段
双轴坐标 协作 Collaboration × 循环 Loop(转)
成本档 ③(约 9× 单次调用,3 agent × 3 round)
课程对应 07-04
目录归属 全集 33 模式之一 · 协作模块 5 模式之一
一句话 把一个 generator agent 跟一个或多个独立 critic agent 配在一起,通过结构化对抗循环改进输出,critic 必须用不同模型、不同 family、不同 prompt 激励。

它解决什么问题

同一个 LLM 用三段不同 prompt 假装"独立审查",在监管审计师眼里不算独立——这三个 prompt 共享同一个底层模型的训练数据、同一套对齐偏差、同一份"它觉得什么对什么错"的先验。这就像一个法官同时担任控方、辩方和裁判,形式上有审查,结构上没有。

对抗评审解决的是高 stake 决策怎么经过 audit-grade 独立审查。它不是"加一个 critic 让 agent 更准"这么简单——在金融授信、医疗诊断、法律评估、监管合规这些场景里,独立审查是结构性要求而不是质量优化。SOC 2、HIPAA、FDA、EU AI Act 这些框架明确要求"不同的人、不同的模型、不同的激励"来审,这是上线门票,不是加分项。它和单 agent 自我审视(Generator-Critic)是同源不同 scale:前者一个 LLM 进程加两段 prompt,后者要 model routing、独立 trace、跨 vendor billing,工程基础设施完全两套。

为什么坐标是「协作 × 循环」

核心机制

一次对抗评审由三个角色和一个循环组成:

  1. proponent 提议:generator agent 产出初始方案。
  2. critic 反对:独立 critic agent 专门找问题,prompt 明示"找问题不是确认,找不到 issue 反而要重审"。critic 找不到问题在高 stake 场景是可疑信号,不是通过信号。
  3. proponent 修正:根据 critic 提出的 issue 修订方案,进入下一轮。
  4. judge 裁定:judge agent 综合双方论证,给出最终裁决(approve / conditional / reject)。

三个角色用不同 vendor 的模型,独立 trace 各自写进 audit log。轮数有上限——3 agent × 2 round 是学术实测的标准配置,2 轮已收敛大部分改进,超过 3 轮边际收益递减、还会引入震荡。critic 和 generator 的能力不能差太多,否则 critic 看不出 generator 的细微错误。跨 family 比跨 size 更重要:同一 vendor 的模型有相关的偏差分布和共同盲区,跨 family 才能引入独立训练历史的视角。

适合的生产场景

容易出错的地方

关键指标

最小骨架

AdversarialReview.review(task):
    校验 vendor 独立性(≥2 个不同 vendor)   # 不满足直接拒绝运行
    proposition = proponent(task)
    for round in 1..MAX_ROUNDS:            # 上限 3
        verdict = critic(task, current)    # 用不同 vendor 的 model
        if verdict.no_issues_found and round==1: continue  # 找不到问题=red flag
        if not verdict.issues: break
        current = proponent(task, current, verdict.issues) # 修正
    return judge(task, debate_log)         # 综合双方,落 audit log

CritiqueVerdict:
    issues: list           # 显式优于隐式
    severity: minor/major/critical
    no_issues_found: bool  # 注意:这是 RED FLAG 不是 PASS

四个工程要点:agent_vendors 必须真的跨 vendor(审计看 billing 验证);critic 的"找不到问题视为 red flag"是反谄媚核心;MAX_ROUNDS 设 3;compliance attestation 字段落 audit log 留 7 年。

企业落地一例

某区域银行的对公贷款 AI 决策辅助系统,agent 看完借款人的 43 份文档给出批/拒/增信后批的建议,第一版用单模型加三个角色 prompt(信贷分析、风险评估、合规审查),跑了半年准确率看着还行。但 SOC 2 audit 来了之后审计师问了三个问题:这个"批准"建议经过独立审查了吗?如果用的是同一个 LLM 加不同 prompt 怎么算独立?以后被监管处罚能拿出 audit trail 证明每笔决策都经过独立对抗审查吗?工程团队答不上来——这不是技术问题,是结构问题。第七个月彻底重构成对抗评审:generator 用 Claude Sonnet 出贷款建议,critic 用 GPT-5.4 当红队 reviewer(prompt 写"找问题不是确认,找不到 issue 视为 red flag 继续审"),judge 用 Claude Opus 仲裁,三个 agent 用三个不同 vendor 的模型,独立 trace 各自写进 audit log。第八个月通过 SOC 2 复审。代价是单笔决策 token 成本从约 0.30 美元涨到约 2.10 美元——7 倍成本换合规上线,金融场景这笔账划得来。这个价值不是提升了 5% 准确率,是从 0 到 1 的合规上线门票。

与其他模式的关系

一句话记住它

对抗评审的本质不是加个 critic 让 agent 更准,而是把人类几千年法治传统的程序正义编码进 agent 系统——真相不是从共识里浮现的,是从结构化分歧里浮现的,独立性是结构要求不是质量优化。


本页属于 ADPS 33 模式白皮书。返回 模式矩阵与白皮书目录, 或查看配套 可运行代码目录