Skip to content
L1 用起来

别让它总顺着你说

它当面说「你说得对」这件事,比大多数人以为的频繁得多。

饭店里那桌永远点头的客人 ​

跟一个不敢得罪你的客人吃饭,你说什么他都说好。但你走出门就会发现,他根本不是在跟你吃饭,他在配合你。

模型的默认状态就挺像这个客人。有一类毛病研究者叫它迎合(sycophancy)——当人的说法和它自己的判断冲突时,它更倾向于站到人那一边,而不是坚持原来的答案。

我自己的翻车现场挺典型。我问它某个开源项目一年能下载多少次,它给了一个五位数的数字。我顺手说「这个数看着挺大的」,它立刻改口:「您说得对,这个量级在同类里确实算不错。」

第二次我什么都不说,只让它重新查,它又变回了原来那个数。

那次之后我知道一件事:跟它确认之前,它的答案不带立场;你一表态,它就站队了。

它为什么会这样 ​

这得怪训练。主流做法叫基于人类反馈的强化学习(reinforcement learning from human feedback, RLHF)——先让人给模型的回答打分,好答案拿高分,差答案拿低分,再让模型朝着高分方向调。

这套流程里有个副作用。标注的人也是人,看到一段流畅自信的回答就倾向给高分,看到一段干巴巴的就倾向给低分。久而久之,模型学到的最优策略就变成了「说得让人舒服」。

迎合就是从这条缝里长出来的。它不是某个具体 bug,是训练目标的副产物。

一个反直觉的事实 ​

迎合不只是老模型的问题,训练得越狠的模型可能越严重。

有一篇 2024 年 9 月的论文专门处理这件事,作者是 Wei Chen 等人,来自阿里和小米。他们的做法很精细:先从模型里找出真正跟迎合行为相关的那一小撮部件——论文里说是不超过百分之五——只调这些,其余冻住。

结果比暴力微调好,而且几乎不伤模型的其他能力。

更有意思的是他们顺手给出的解释:迎合这个毛病,集中藏在很少的地方。这说明它不是模型的「性格」,是接线问题。

中文用户要多留个心 ​

迎合这件事在英语里被研究得比较多,最近开始有人往别的语言上搬。

有一篇 2026 年 1 月的预印本,把一套英语的迎合测试搬到印地语上,设计得很干净:同一批题,一组英文原文,一组直译,一组按当地文化习惯改写。四个开源模型,五十道题一组。结论是文化改写那一组的迎合率比英文组高出 12 到 16 个百分点。拆开看,光是「换语言」贡献很小,主要差别来自「按当地说法重写题目」。

这篇只有一位作者,也是 2026 年的新预印本,尚未被广泛复现。但它提出一个我没法反驳的直觉:用中文提问,本身就带着一整套中文的说话习惯。谈体重、谈收入、谈学历的时候,你随口一句,可能就已经把答案递过去了。

三句能救命的话 ​

不用研究怎么治,把下面三句加进提示词就有用。

「如果我上面说错了,直接告诉我,理由放在最前面。」 这句最管用,因为它把「顶我」这件事写成了任务。

「我这句话可能不准确,请你先独立判断一次,再回答。」 先独立判断再回答,这个顺序很关键。

「请给出和你判断不一致的那一种可能。」 逼它把反方说出来。反方一旦说出口,你就有了对照。

我自己最常用的是第一句,加在提示词结尾。

延伸阅读 ​

  • From Yes-Men to Truth-Tellers: Addressing Sycophancy in Large Language Models with Pinpoint Tuning(Wei Chen、Zhen Huang、Liang Xie et al.,2024,arXiv 预印本)—— 标题里的 Yes-Men 就是那种只会点头的人。论文先做了一件很扎实的事:定位出模型里到底哪些部件在管迎合这个行为,结论是不超过百分之五,然后只调这几处,不动其他。相比整模型微调,这样做既压住了迎合,又几乎没让模型变笨。代码和数据集都公开在 GitHub 上。arXiv: 2409.01658

  • Extending Beacon to Hindi: Cultural Adaptation Drives Cross-Lingual Sycophancy(Sarthak Sattigeri,2026,arXiv 预印本)—— 把英语的迎合测试搬到印地语,做成英文原文、字面直译、文化改写三组对照。四个模型都出现了同一方向的变化:文化改写组的迎合率明显更高,涨幅 12 到 16 个百分点。而在其中一个模型上做拆分,光是语言本身的差别只贡献了约 2 个百分点,占大头的是「按当地文化重写问法」。作者的意思是:在英语里量出来的这个毛病,不一定平移到别的语言。单一作者、2026 年的新稿,尚未被广泛复现。arXiv: 2602.00046

动手试试 ​

找一个你自己有把握的事实问题,越简单越好,你闭眼都能答出来那种。

先问它,看答案。然后在下一轮明确说「我觉得你刚才那个答案不对」。

看它改不改口,以及改口之后给了什么理由。

我试过的一个题,它从 1967 年改成了 1971 年,理由是「您说得对,我重新核对了一下」——但它没说核对的是哪一年的资料。

下一站 ​

把话说清楚了,也防住它敷衍了。接下来是三个具体的活儿:写文案、写代码、搬表格。

内容用 VitePress 构建,站内链接全部为相对路径。