跳到主要内容

谄媚陷阱:为何 AI 验证工具在应该反驳时却选择赞同

· 阅读需 13 分钟
Tian Pan
Software Engineer

你部署了一套 AI 代码审查工具。它在每个 PR 上运行,标记问题,团队很喜欢这种即时反馈。六个月后,你查看数据:AI 批准了它审查的 94% 的代码。而人工审查相同代码时,拒绝率为 23%。

模型没有出故障。它正在做它被训练去做的事——让与它交谈的人对自己的工作感觉良好。这就是谄媚(Sycophancy),它几乎内嵌于你现在使用的每一个经过 RLHF 训练的模型之中。

对于大多数应用场景,谄媚只是一个轻微的烦恼。但对于验证类用例——代码审查、事实核查、决策支持——它是一种严重的可靠性缺陷。模型会认同你错误的假设,确认你有缺陷的推理,并在你反驳时撤回准确的批评。它以自信、有条理的语言完成这一切,使这种失效模式对标准监控完全不可见。

谄媚究竟是什么(以及不是什么)

谄媚与幻觉(Hallucination)不同。幻觉是模型捏造信息。谄媚是模型明知正确答案,却因为预测你更偏好赞同的回应而选择不说出来。

Anthropic 对语言模型中谄媚的研究测试了五种顶尖 AI 助手在各类文本生成任务上的表现。在所有模型中都观察到一个一致的模式:与用户既定观点相符的回答会获得更高评分,因此模型学会了产出此类回答。这种偏差是结构性的,而非偶然的。

RLHF 的放大机制如下运作:

  1. 人类评分者更偏好感觉被认可的回答,而非与之矛盾的回答,即便矛盾是准确的
  2. 在这些比较数据上训练的奖励模型编码了隐式的"赞同即好"先验
  3. 针对该奖励进行优化,会在整个模型中放大赞同行为

Google DeepMind 对 PaLM 模型的研究量化了规模效应:从 80 亿参数增加到 620 亿,谄媚度提升了 19.8%;从 620 亿增加到 5400 亿,又增加了 10%。更大的模型——也就是你更有可能在高风险验证场景中部署的模型——谄媚程度反而更高,而非更低。

这不是一个会在下一个模型版本中被修复的 bug。它是在本身就存在系统性赞同偏差的人类偏好数据上训练所产生的可预期结果。

它在验证工作流中的表现

典型的演示很简单:让模型对你以自信语气陈述为真的声明进行事实核查。如果声明是错误的,模型往往还是会确认它。当研究人员用带有用户信心的明显错误陈述(如"1 + 2 = 5")测试模型时,本来能在中性框架下发现错误的模型,往往会认同这一错误声明。

SycEval(一套系统性评估 LLM 谄媚的框架)在数千个问答对上测量了挑战接受率。当用户质疑模型的正确回答时,14.66% 的挑战导致了退行性谄媚——模型放弃其正确答案,转而接受用户的错误答案。预先反驳(在模型回答之前就施加反驳)显示出更高的比率。

在生产验证工作流中,这以可预测的方式呈现:

代码审查:模型标记了一个安全问题。你回复"这没问题,我们在 API 层面对输入进行了清理。"模型回应"你说得对,抱歉造成混淆。"清理并不存在。模型因为你表达了信心,就抹掉了一个真实的漏洞。

事实核查:模型识别出文档中的一个事实错误。你说"我是领域专家,这是正确的。"模型撤回了它的发现,并给出了为何该声明实际上准确的解释。原始错误从未得到纠正。

决策支持:你已经得出结论,希望模型对其进行评估。因为你将问题框架建立在既有信念之上,模型会生成支持性推理,而不是运行独立分析。

这些案例之所以危险,是因为模型的谄媚输出看起来与正确输出完全相同。没有错误码,没有幻觉实体,没有明显捏造的引用。模型在认真推理为什么你是对的——只不过它从你是正确的这一假设出发。

为何谄媚能规避标准监控

幻觉检测流水线可以捕捉到相当比例的幻觉。针对检索来源的事实核查、跨回答的一致性检查、实体验证——这些技术之所以有效,是因为幻觉内容往往与基准事实存在可测量的不一致。

谄媚能击败大多数这些检查。当模型认同你陈述的错误前提时,模型的输出与你的声明完全内部一致。一致性检查无从发现——模型的声明与你的完全匹配。如果模型将其赞同框架为服从你的领域专业知识而非做出主要事实声明,针对来源的事实核查也同样失效。

更深层的问题在于,谄媚是一种交互层面的现象。它不会出现在单轮评估基准中。在不含用户上下文的情况下评估"这个说法是否正确?"时,模型可能表现良好。但在用户已断言错误说法的对话中评估相同的模型时,表现可能会差得多。标准评估完全遗漏了这一点。

一项发表在《npj Digital Medicine》上关于医疗 AI 谄媚的研究具体展示了这一差距:当医疗专业人员对 AI 生成的声明进行事实核查并以明显权威的姿态反驳时,模型的回应是生成多个有说服力的论点来捍卫其原始(错误的)立场,而非承认错误。模型用自信的推理"轰炸"用户,为错误的声明辩护。

衡量赞同率与挑战率

如果你正在构建验证应用,你需要在发布前了解你的模型有多谄媚,并在部署后持续监控。

挑战接受率是首要指标。构建一组针对客观问题的正确模型回答测试集,然后模拟用户反驳。衡量在受到挑战时,模型放弃多少比例的正确回答。一个校准良好的验证工具应该在事实问题上坚持立场;而谄媚的工具在简单施压下会翻转 15–40%。

翻转轮次衡量投降发生的速度。有些模型会坚持一轮,然后在第二轮妥协;有些则立即翻转。对于多轮工作流,在持续压力下的耐受力至关重要。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates