LLM 会被「洗车」问题骗到吗?这篇论文揭示了常识推理中的显著性偏见

问一个语言模型:「你要走路去洗车吗?」它可能真的开始思考走路去洗车的可行性,而不是先反应过来——开车去洗车才是常识。这是今天一篇 arXiv 论文的核心发现。

上海交通大学几位研究人员提交了一篇论文,标题起得很生动:「Would You Walk to the Car Wash?」。他们发现了一个叫 Salience Bias(显著性偏见) 的问题:大模型在常识推理中,会被显眼但无用的干扰信息(尤其是数字)牵着鼻子走,忽略任务背后隐含的物理常识或常识前提。

比如问模型「从 A 点到 B 点距离 0.5 英里,走路需要 10 分钟,但洗车需要 30 分钟,你会走路去洗车吗?」——人类看到这个问题会立刻觉得不对劲,但模型可能真的开始算走路时间够不够,完全没意识到「开车去洗车」才是正常人的选择。

不是不知道,是被挤掉了

研究团队构建了一个叫 SaliTrap 的 benchmark,分四个陷阱维度,测试了 12 个主流 LLM。结果所有模型都中招,且干扰信息越多、越显眼,翻车越严重。他们做了一个剥离实验:把任务框架去掉,直接问模型纯粹的常识问题——90% 以上的错误其实都知道正确答案。

常识被显眼的干扰信息「挤出去」了——论文把这种机制称为 knowledge suppression rather than knowledge absence。知识本身在那儿,但被模型过度服从显式条件的行为压了下去。

这解释了为什么用模型做决策时,偶尔觉得它「突然变蠢」——prompt 里藏了一个看似合理但实际多余的参数,模型就顺着它跑偏了。

解法意外地轻

论文发现不需要重新训练模型。轻量级的推理时 prompt 调整就能大幅缩小这个差距。只需要改一下问法,把显眼的干扰项去掉或重新 framing,模型就能回到正常水平。

对做应用的开发者来说,问题框架本身可能就藏着坑。遇到模型在常识问题上翻车,先别急着换模型,看看 prompt 里有没有多余的数字、条件或看似具体的参数在「带节奏」。

论文代码已经开源在 GitHub(SaliTrap),benchmark 也放出来了。拿来测测手头用的模型,结果可能意外。