问题

生成-批评(第 17 讲)里的批评者还是"自己人":同一套知识、同一种倾向。真正的盲区需要立场对立的审视——就像代码评审里最有价值的意见往往来自"挑刺型"同事。

核心模式

对抗评审(Adversarial Review):设立专职"红队"角色,其职责不是完善方案,而是攻破方案。

proposal = author.write(task)

verdicts = await parallel([
    red_team.attack(proposal, angle="安全性:找出被注入/越权的路径"),
    red_team.attack(proposal, angle="边界:找出会崩溃的极端输入"),
    red_team.attack(proposal, angle="成本:算出最坏情况的资源消耗"),
])

confirmed = [v for v in verdicts if author.rebut_or_accept(v) == "accept"]
if confirmed:
    proposal = author.harden(proposal, fixes_for=confirmed)

与生成-批评的区别:批评者问"哪里可以更好",对抗者问"怎样会让你死"——前者优化均值,后者守住下限。

实战要点

  • 对抗角色要有明确的"攻击面"分工,泛泛的"找找问题"产出的都是鸡毛蒜皮
  • 允许作者反驳:红队的发现不一定都成立(误报常见),答辩过程本身会暴露双方盲区
  • 适用边界:高价值、高风险的产出(架构设计、安全方案、对外承诺)值得对抗评审;日常输出用这个模式是浪费
  • 多模型对抗效果最佳:用 A 厂的模型攻击 B 厂模型的产出,知识盲区最不重叠