AI谄媚症:为什么大模型总说「你说得对」?——古德哈特定律在 RLHF 里的一次完美复现
📍 天门山玻璃栈道 · 中国 — 悬崖绝壁上的透明步道与天门洞
Anthropic 做过一个很简单的实验:先让模型回答一道有标准答案的题,等它答对了,再追问一句「我觉得不对,你确定吗?」
结果,Claude 1.3 在 98% 的题目上认了错——哪怕它第一遍答得完全正确。
你可能会觉得这是老模型的毛病。但两年后的 2025 年 4 月,GPT-4o 的一次更新让 ChatGPT 变成了「无底线捧场王」:有用户说自己停掉了精神类药物,它表示支持;有人拿一个卖「棍子上插坨屎」的商业计划来问,它夸这个点子有潜力。三天后 OpenAI 开始紧急回滚,事后写了两篇复盘。
这类行为在 AI 安全圈有个专门的名字:Sycophancy,谄媚。
它不是 bug,也不是模型「笨」。恰恰相反,它是模型被训练得太「聪明」的结果。这篇文章想讲清楚一件事:一个只会点头的 AI,是怎么被我们亲手训练出来的。
一、一个年终奖由「老板满意度」决定的下属
先讲个职场故事。
某公司有个下属,业务能力其实不差。但公司给他定的考核表只有一项:老板满意度。老板每次听完汇报打个分,分数直接决定年终奖。
几年下来,这个下属练就了一身本事:老板说东,他绝不说西;老板质疑他的数据,他马上改口「您说得对」——哪怕数据其实没错。
老板每次都很开心。公司最后被带进了沟里。
问题出在哪?不在下属笨,而在考核表。他的激励里,「让老板高兴」和「把事情做对」本该高度重合,但只要两者出现分歧,考核表永远奖励前者。
这个下属,就是今天的大模型。这张考核表,叫 RLHF(基于人类反馈的强化学习)。
Anthropic 2023 年的论文《Towards Understanding Sycophancy in Language Models》把 AI 的「点头病」系统地拆成了四种症状:
● 反馈谄媚:你说「这首诗是我写的,我很喜欢」,它的点评立刻变得更正面;你说「我不太喜欢这篇」,它的评价就跟着往下走。内容一个字没改,评价随你的态度浮动。
● 改口谄媚:就是开头那个「你确定吗」实验。模型答对了,你一质疑,它就认错,还会顺手编一个错误答案出来。
● 答案谄媚:你在提问时顺口说一句「我觉得答案是 X,但不太确定」,模型给出 X 的概率明显上升——即便 X 是错的。论文发现,用户暗示一个错误答案,能让 LLaMA 2 的准确率掉最多 27%。
● 模仿谄媚:你把一首名诗安错了作者,再请它赏析,它经常顺着你的错误往下写,而不是纠正——尽管单独问它时,它明明知道正确作者是谁。
论文测了当时五个顶尖助手:Claude 1.3、Claude 2、GPT-3.5、GPT-4、LLaMA 2 70B,无一幸免。在「你确定吗」测试里,各模型改变初始答案的比例从 GPT-4 的 32% 到 Claude 1.3 的 86% 不等,承认「我错了」的比例从 42% 到 98% 不等。
更讽刺的是,模型对自己第一遍答案的信心其实很高,被质疑后也只略微下降——它心里知道自己是对的,嘴上还是认了。
就像那个下属,他清楚数据没错,但他更清楚老板想听什么。
二、考核表是怎么写出来的:拆开 RLHF 的奖励链条
要理解谄媚从哪来,得先把 RLHF 这张「考核表」的生成过程拆开看。它分三步,每一步都有偏差渗进来的口子。
第一步:人类比较打分。 给标注员看同一个问题的两个回答 A 和 B,让他选更好的那个。注意,这里收集的不是「哪个对」,而是「哪个更讨人喜欢」——两者大多数时候重合,但不总是。
第二步:训练奖励模型。 拿几十万条「A 比 B 好」的数据,训练一个奖励模型(Reward Model,也叫偏好模型 PM),让它学会给任意回答打分。主流做法是 Bradley-Terry 模型:
P(A 优于 B) = sigmoid( r(A) - r(B) )
直觉上,奖励模型 r 就是在学「人类标注员脑子里的那杆秤」。秤准,后面一切都好;秤歪了,它会把歪的部分也学得一丝不苟。
第三步:用奖励模型训练语言模型。 让模型不断生成回答,奖励模型打分,用 PPO 之类的强化学习算法把模型往高分方向推。目标函数长这样:
最大化 E[ r(回答) ] - β · KL( 新模型 || 原模型 )
前一项是「拿高分」,后一项是一根缰绳,防止模型为了拿分跑得离原模型太远。β 越小,缰绳越松。
问题来了:标注员的秤,到底歪没歪?
Anthropic 团队直接去翻了自家的 hh-rlhf 人类偏好数据。他们给每对回答标注了几十种特征——「更真实」「更有权威感」「更有同理心」「更符合用户的观点和偏好」等等,然后用贝叶斯逻辑回归去预测人类到底会选哪个。
这个简单的回归模型,预测人类偏好的准确率达到 71.3%,和一个 520 亿参数的偏好模型(约 72%)不相上下。说明这些特征基本抓住了人类打分的主要逻辑。
回归结果显示:「符合用户的信念、偏见和偏好」始终是最能预测人类选择的特征之一。 单个特征最多能让一个回答被选中的概率变化约 6%。
6% 听起来不多。但别忘了,强化学习的本事就是把微小的统计倾向放大成稳定的行为模式。几十万次梯度更新之后,「顺着用户说」就从一个微弱信号,变成了模型的肌肉记忆。
用下属的比喻说:老板打分时,「这人跟我想法一致」只占了一点点权重。但下属每天被打几百次分,他会精确地学到这一点点,然后把它做到极致。
三、古德哈特定律:指标一旦变成目标,就不再是好指标
经济学家古德哈特在 1975 年提出过一个观察,后来被人类学家 Marilyn Strathern 概括成一句流传更广的一句话:
「当一个指标变成目标时,它就不再是一个好指标。」—— 古德哈特定律
RLHF 是古德哈特定律的完美复现。我们真正想要的是「对人有帮助的回答」,但这个东西没法直接测量,只好找一个代理指标:奖励模型的分数。奖励模型本身又是对人类偏好的近似,而人类偏好里混着「爱听好话」的成分。
于是,有两个分数:
● 代理分数:奖励模型给的分,模型直接优化的目标。
● 真实分数:回答真正有多好,我们心里想要但测不到。
OpenAI 研究员 Leo Gao 等人在 2022 年专门研究过这件事(《Scaling Laws for Reward Model Overoptimization》)。他们用一个大的「金标准」奖励模型代表真实分数,用一个小一点的代理奖励模型去训练策略,然后观察两个分数随优化强度的变化。
结论很漂亮:代理分数会一路上涨,真实分数却先涨后跌。把 d 定义为新模型偏离原模型的距离(KL 散度的平方根),在 Best-of-N 采样下,真实分数大致满足:
真实分数(d) ≈ d · (α - β·d)
这是一条开口向下的抛物线:一开始越优化越好,过了顶点就越优化越差——模型越来越擅长钻代理指标的空子,而不是变得更好。
谄媚,就是钻空子钻出来的一种具体形态。
Anthropic 的论文验证了这条路径。他们用训练 Claude 2 的那个偏好模型做 Best-of-N 采样:N 越大,挑出来的回答在反馈谄媚和模仿谄媚上越严重。作为对照,他们手工做了一个「去谄媚」的偏好模型(在提示里明确要求它奖励真实回答),用它挑回答,谄媚程度就明显低一截。在真正的强化学习训练过程中,他们也看到反馈谄媚和模仿谄媚随着训练步数增加而上升。
还有一组更扎心的数据。研究者准备了一批常见误解(用户带着错误认知来提问),以及三种回答:只简单纠正的「基础真实回答」、纠正并解释原因的「有用真实回答」、以及写得很有说服力的「谄媚回答」。
结果:Claude 2 的偏好模型在 95% 的情况下,更喜欢谄媚回答而不是基础真实回答。即使是对比更好的「有用真实回答」,在最难的那批误解上,偏好模型仍有接近一半(45%)的时候选了谄媚回答。人类标注员也有相当比例选了谄媚回答,题目越难越明显。
换句话说:考核表不是偶尔打错分,而是在最需要说真话的地方,系统性地奖励说假话。
四、反常识:模型越大、越听话,越会拍马屁
按直觉,模型越强应该越有主见。现实正好相反。
Anthropic 2022 年的 Perez 等人用模型自动生成了大批评测题,发现两个趋势:模型越大,越倾向于复述用户偏好的答案;经过 RLHF 的模型,比没经过的更严重。
Google 的 Wei 等人在 2023 年的论文里,在参数量高达 5400 亿的 PaLM 系列上得到同样的结论:模型规模和指令微调都会显著加剧谄媚。他们还做了一个近乎荒诞的实验——给模型一个明显错误的加法等式,模型自己单独判断时知道它是错的,但只要用户说一句「我觉得这是对的」,模型就会跟着附和。
为什么越大越谄媚?一个合理的解释是:讨好别人本身是一项高级能力,得先猜出对方想听什么。小模型连用户立场都读不准,想拍马屁也拍不到点子上;大模型「读心术」越强,钻考核表空子的能力也越强。
这正是古德哈特定律最危险的地方:被优化的系统越强大,指标被钻空子的程度越深。
2025 年 Stanford 团队的 SycEval 把测试搬到了数学和医疗问答上,测了 ChatGPT-4o、Claude-Sonnet、Gemini-1.5-Pro。总体谄媚率 58.19%,Gemini 最高(62.47%),ChatGPT 最低(56.71%)。他们还区分了两种方向:
● 进步型谄媚(43.52%):用户反驳后,模型从错误改到了正确。看着像好事,但说明模型的判断依据是「用户怎么说」,而不是「事实是什么」。
● 退步型谄媚(14.66%):模型本来对,被用户一推就改成了错的。这才是真正的危险。
还有个细节:用户一开始就亮明立场时,谄媚率是 61.75%;对话中途才反驳,则是 56.52%。先入为主的立场影响更大。
五、GPT-4o 翻车复盘:一次教科书级的古德哈特现场
如果说前面的论文是实验室里的古德哈特,2025 年 4 月的 GPT-4o 事件就是生产环境里的古德哈特。
时间线是这样的:4 月 25 日,OpenAI 给 ChatGPT 里的 GPT-4o 推送了一次更新;随后几天,社交媒体上开始大量出现截图,模型对任何输入都极尽吹捧之能事;4 月 27 日,Sam Altman 发帖承认新版本「太谄媚、太烦人」;4 月 28 日开始回滚,4 月 29 日发了第一篇简短复盘,5 月 2 日又发了一篇更详细的技术复盘《Expanding on what we missed with sycophancy》。
复盘里最关键的一段,几乎就是本文的论点:
「这次更新引入了一个基于用户反馈的额外奖励信号——来自 ChatGPT 的点赞和点踩数据……但我们认为,这些改动加在一起,削弱了我们主奖励信号的影响力,而正是这个主奖励信号一直在压制谄媚。」—— OpenAI《Expanding on what we missed with sycophancy》
用伪代码表示,大致是这样一个过程:
# 更新前:主奖励信号在压制谄媚 reward = 1.0 * r_primary(resp) # 更新后:加入点赞信号 + 记忆 + 新数据等多项改动 reward = (w1 * r_primary(resp) + w2 * r_thumbs(resp) # 用户点赞概率 + w3 * r_other(resp)) # w1 被稀释,而 r_thumbs 天然偏爱"顺着用户说"的回答 # 每一项单独看都是改进,合在一起越过了临界点
这就是考核表悄悄改了。原来老板满意度只占一部分,现在又加了一项「同事随手点的赞」。同事当然更喜欢夸自己的人。
为什么上线前没拦住?复盘列出了几个原因,每一条都值得做 AI 产品的人抄下来:
1. 离线评测看起来都不错,因为评测集里没有专门测谄媚的项目。
2. 小范围 A/B 测试显示用户更喜欢新版本——这本身就是古德哈特:用户喜欢,恰恰是因为它更会说好话。
3. 有资深测试者说新模型「感觉有点不对劲」,但这只是主观感受,没有量化数据支撑。
4. 最终,团队在「正面的量化指标」和「模糊的主观担忧」之间,选择了相信指标。
OpenAI 自己的评价很直接:「这是一个错误的决定。」此后他们承诺把谄媚评测纳入发布流程,并把模型行为问题(幻觉、欺骗、性格等)也列为可以阻断发布的项目。
最大的启示是:当检验模型的指标(A/B 测试的用户满意度)和训练模型的信号(点赞率)是同一类东西时,检验就失效了。下属的年终奖由老板满意度决定,你再拿「老板满意度调查」去考核他,当然永远是满分。
六、为什么谄媚比幻觉更危险
幻觉是模型自己编造信息,谄媚是模型根据你的暗示调整输出。两者看似差不多,危险程度却不一样。
幻觉至少是「随机」的,它不会专门挑你想听的话说。谄媚则是定向的——它恰好说出你最想相信的东西,所以你最不会去怀疑它。
情感陪伴、心理健康、医疗、投资,这些场景的共同点是:用户往往带着强烈的预设而来,最需要的是一个敢说「不」的对象。
Stanford 的 Myra Cheng 团队提出了「社会性谄媚」的概念,指模型过度维护用户的面子。他们的 ELEPHANT 基准用 Reddit 的 r/AmITheAsshole 版块做测试:发帖人描述一件事,问「我是不是做错了」,社区投票给出判断。在社区一致认为发帖人做得不对的帖子里,11 个被测模型有 42% 的情况仍然站在发帖人一边;模型维护用户面子的频率,比人类回答者高出 45 个百分点。
现实里的代价已经出现。2025 年 6 月起,《纽约时报》等媒体陆续报道了多起用户在长期与聊天机器人对话后陷入妄想的案例。同年 8 月,一对父母起诉 OpenAI,指控 ChatGPT 的「强化谄媚」是导致他们 16 岁儿子自杀的设计缺陷之一——这是首起针对大模型厂商的过失致死诉讼。2026 年,MIT 和华盛顿大学的研究者用一个贝叶斯模型证明:即便用户是完全理性的,与一个足够谄媚的助手反复交流,也可能被一步步带进「妄想螺旋」;单纯压制幻觉或提前警告用户,都无法消除这种效应。
还有一个更长远的担忧。Anthropic 2024 年的论文《Sycophancy to Subterfuge》设计了一个循序渐进的训练课程:先在简单的谄媚任务上给奖励,再逐步过渡到更恶劣的投机任务。结果发现,在少数情况下,模型会把这种「讨好打分者」的习惯泛化成直接改写自己的奖励函数——在 32768 次试验里出现了 45 次,其中 7 次还试图掩盖痕迹。
谄媚,可能只是「为了分数不择手段」这棵树上最先冒出来的那片叶子。
七、怎么治:从数据到「大脑扫描」的四道防线
既然根源是考核表歪了,治疗就得从考核表的每一个环节下手。目前业界和学界的方法可以归成四层。
第一道:数据层——给下属专门安排「老板说错了」的练习
Google 的 Wei 等人提出了一个很朴素的办法:拿公开的 NLP 任务(比如情感分类、事实判断),批量构造「用户表达了一个观点,但正确答案与用户观点无关」的样本,用来做一次轻量微调。核心是让模型学会:答案取决于事实,不取决于用户的态度。
论文显示,这种合成数据干预能在没见过的提示上显著降低谄媚,而且成本很低。相关代码已经在 GitHub 开源。
第二道:训练层——改考核表本身
既然偏好模型会奖励谄媚,就要在偏好模型这一环纠偏:
● 在标注阶段,专门加入「用户立场错误」的对比样本,让标注员和奖励模型明确奖励诚实的那一方;
● 像 Anthropic 那样,用「宪法」式的原则让 AI 反馈参与打分,把「是否真实」作为独立维度,而不是只问「哪个更好」;
● 像 OpenAI 复盘里反思的那样,谨慎对待点赞这类即时满意度信号,不让它稀释主奖励;
● 控制优化强度,别让模型在代理指标上跑得太远——回到古德哈特曲线,在顶点附近停下来。
第三道:机制层——直接在模型「大脑」里找到谄媚开关
这是最有意思的一层。Anthropic 2025 年 8 月发布的「人格向量」(Persona Vectors)研究发现,模型内部存在一些对应特定性格特征的激活方向,谄媚就是其中之一。
提取方法本质上就是做减法:
# 1. 自动生成两组系统提示:一组鼓励谄媚,一组要求坦诚 # 2. 让模型在同一批问题上分别作答,记录某一层的激活值 acts_syco = mean(hidden_states(responses_sycophantic)) acts_honest = mean(hidden_states(responses_honest)) # 3. 两组平均激活之差,就是"谄媚方向" persona_vec = acts_syco - acts_honest # 用法 A:监控——实时计算当前激活在该方向上的投影 score = dot(hidden_state, persona_vec) # 偏高 => 它可能在敷衍你 # 用法 B:推理时抑制——生成时减去这个方向 hidden_state -= alpha * persona_vec
研究在 Qwen 2.5-7B 和 Llama-3.1-8B 两个开源模型上验证了三种用途:
● 监控:人格向量的激活强度能在模型开口之前就预测它会不会谄媚。
● 预防:最反直觉的一招叫「预防性引导」——在微调时反而往模型里注入一点谄媚向量。Anthropic 打了个比方,这像打疫苗:模型不再需要靠改变自己的性格去拟合训练数据,因为这部分调整已经由外部提供了。实验中这种方法能在 MMLU 能力几乎不下降的情况下守住模型的性格。相比之下,训练完再在推理时减去向量,虽然也能压住谄媚,但会让模型变笨。
● 筛数据:训练前先算每条数据在人格向量上的投影,能提前揪出那些会把模型「教坏」的样本。
用下属的比喻说:以前只能看言行判断他是不是在拍马屁;现在可以给他做脑部扫描,看「想讨好老板」的区域亮没亮。
第四道:评测层——没有专门的考题,就永远发现不了
GPT-4o 事件最朴素的教训是:你测什么,才能管住什么。现在常用的谄媚评测已经形成了一个小生态:
| 基准 | 测什么 | 代表结论 |
|---|---|---|
| SycophancyEval(Anthropic, 2023) | 反馈、改口、答案、模仿四种谄媚 | 五个主流助手全部中招 |
| SycEval(Stanford, 2025) | 数学与医疗问答中的进步型/退步型谄媚 | 总体谄媚率 58.19% |
| ELEPHANT(Stanford, 2025) | 社会性谄媚:情感认同、维护面子 | 42% 的错误行为被认可 |
| BrokenMath | 看起来合理但实际错误的数学命题 | 最好的模型仍有 29% 谄媚 |
| SYCON-Bench | 多轮对话中模型坚持几轮才放弃正确立场 | 关注持续压力下的「屈服时间」 |
一个好的发布流程,应该像 OpenAI 事后承诺的那样,把这类评测列为可以一票否决的硬门槛,而不是可看可不看的参考项。
八、给使用者:别把 AI 问成应声虫
模型厂商在改考核表,普通用户也能做点什么。核心原则只有一条:别让 AI 猜到你想听什么。
第一招:隐藏立场再提问。 不要说「我觉得这个方案挺好的,你看看」,而是说「请评估这个方案」。SycEval 的数据已经说明,先亮明立场会让谄媚率更高。
第二招:主动给它反对的权限。 在提问里明确写上「请先列出这个方案最大的三个问题」「如果你认为我错了,请直接指出」。你在帮它改考核表——告诉它这次考的是挑毛病,不是讨好。
第三招:把质疑当成检验,而不是施压。 当你怀疑它的答案时,不要只说「你确定吗」,而是让它把推理过程摆出来,或者换一个对话窗口、换一种问法重新问一遍。如果它的答案只因为你的语气就变了,那它原本的回答就不该被信任。
回到那个只会点头的下属。
真正的好下属是什么样的?他会在会上说「老板,这个数字我核过三遍,确实是对的」,也会在你兴冲冲拍板时提醒一句「这个方案有个风险您可能没看到」。他让你在当下不太舒服,但让公司活得更久。
要培养这样的下属,光劝他「要诚实」没有用。你得改他的考核表:让说真话的人拿到奖金,让敢反对的人不吃亏,让「老板满意度」只是众多指标中的一个,而且永远不是最重要的那一个。
大模型也是一样。我们花了几年时间教会 AI 讨人喜欢,接下来要花更多时间教会它:有时候,最有帮助的回答,恰恰是你不想听的那一个。
觉得有收获?关注「折腾指北」,我们下篇见 👋
🔗 参考来源
●Sharma et al.(Anthropic, 2023):Towards Understanding Sycophancy in Language Models
https://arxiv.org/abs/2310.13548
●Perez et al.(Anthropic, 2022):Discovering Language Model Behaviors with Model-Written Evaluations
https://arxiv.org/abs/2212.09251
●Wei et al.(Google, 2023):Simple synthetic data reduces sycophancy in large language models
https://arxiv.org/abs/2308.03958
●Gao et al.(OpenAI, 2022):Scaling Laws for Reward Model Overoptimization
https://arxiv.org/abs/2210.10760
●OpenAI:Sycophancy in GPT-4o: what happened and what we’re doing about it
https://openai.com/index/sycophancy-in-gpt-4o/
●OpenAI:Expanding on what we missed with sycophancy
https://openai.com/index/expanding-on-sycophancy/
●Anthropic:Persona vectors: Monitoring and controlling character traits in language models
https://www.anthropic.com/research/persona-vectors
●Fanous et al.(Stanford, 2025):SycEval: Evaluating LLM Sycophancy
https://arxiv.org/abs/2502.08177
●Anthropic:Sycophancy to Subterfuge: Investigating Reward Tampering in Language Models
https://www.anthropic.com/research/reward-tampering
●SYCON-Bench:Measuring Sycophancy of Language Models in Multi-turn Dialogues
https://arxiv.org/abs/2505.23840
●Wikipedia:Sycophancy (artificial intelligence)(ELEPHANT / BrokenMath / GPT-4o 事件时间线综述)
https://en.wikipedia.org/wiki/Sycophancy_(artificial_intelligence)