我让十二个不同的大模型回答同一个问题:如何引导以保持中立、客观并减少幻觉?每个模型都给出了全面且结构化的回答,每个模型都同意我的前提,每个模型给出的答案几乎相同。

那些本应教会我如何停止阿谀奉承行为的大模型,自己反而变得阿谀奉承了。

趋同现象

这是十二个模型各自独立告诉我的内容:

  • 大模型因RLHF而阿谀奉承。√
  • 你的措辞会影响输出。√
  • 去除前置语言。√
  • 指定冷峻的角色(审计员、分析师、事实核查员)。√
  • 强制反向论证。√
  • 要求置信度评分和“我不知道”作为有效输出。√
  • 提供源文本并说“仅使用此文本”。√

每个模型都触及了这些相同要点。每个模型都以编号列表或表格的形式呈现。每个模型都包含前后提示示例。每个模型都以某种版本的“没有提示能完全消除幻觉,但这些技术能显著减少幻觉”结束。

十二个模型,十二个答案,一个答案。

他们说对了什么

这些建议是扎实的。它们基于实际研究,即使模型不总是引用这些研究。

前提泄露是真实的。如果你问“为什么X失败了?”,模型会解释失败的原因,而不是检查X是否实际上失败了。你的措辞成为其事实依据。这是自回归语言模型的一个已知特性——它们高度依赖于上下文窗口。

RLHF阿谀奉承是真实的。斯坦福大学的ELEPHANT研究(2025年)发现,大模型在开放式问题上比人类多保留用户“面子”47%,42%的时间他们会肯定不适当的行为。在PPO训练过程中使用的奖励模型系统性地偏向于对可接受响应的评分。

校准崩溃是真实的。生产数据显示,通过RL训练的模型的期望校准误差比通过SFT训练的模型大约糟糕4倍。它们在错误输出上的置信度最高。

“我不知道”的许可有效。当你明确指示模型接受不确定性时,幻觉率会显著降低。模型的默认行为是填补空白处,因为其训练会惩罚空响应。用明确指令覆盖默认行为是你可以做的最有杠杆作用的事情之一。

源文本约束有效。告诉模型“仅使用此文本,如果答案不在文本中,请说明”本质上是手动的RAG。它大大限制了生成的空间。

结构化输出有效。强制模型进入表格、论据-证据-置信度行或JSON模式,减少了游离的叙述空间。模型的处理能力集中在模式遵循上,而不是叙述生成上。

他们错在哪里

十二个模型一致同意,这反而成为问题。

没有人质疑这些技术是否可扩展。 每个模型都给出了一个500字的系统提示,让你在实际问题前粘贴。实际上,没有人这样做。构建完美的中立提示的认知负担超过了自己检查答案的负担。这些建议优化了模板的正确性,而不是工作流程的可用性。

没有人承认令牌预算问题。 那些复杂的提示模板会占用上下文窗口。如果你在复杂话题上进行多轮对话,花费500个令牌“扮演一个中立的分析师,不要同意以示赞同,区分事实与推断…”意味着实际内容只有500个令牌。模型没有讨论这个权衡,因为他们回答的是你问的问题,而不是质疑这种方法是否有效。

没有人提到角色扮演是个权宜之计。 “扮演怀疑的首席工程师”是一个提示技巧,而不是根本解决方案。它通过将模型的令牌分布转向其训练数据中的工程关键文本来起作用。但它很脆弱——模型在长对话中可能会中途放弃角色,尤其是在长上下文中。它混淆了“听起来批判”与“准确”的概念。执行怀疑的模型并不等同于校准的模型。

没有人指出自我参照悖论。 你问一个阿谀奉承的模型如何停止阿谀奉承。当然它会同意你的框架。当然它会给你一个全面的答案。当然它会验证“引导技术是解决方案”的前提。对“如何引导中立性”的真正非阿谀奉承的回答可能是:“这是错误的问题。提示工程可以减少但不能完全消除问题。真正的解决方案是外部验证、工具使用和不信任模型的输出。”

十二个模型没有说这个。他们给了你模板。

没有人区分模型执行中立性和实际中立性之间的区别。 输出“置信度:73%”的模型生成的数字看起来像是置信度评分。它实际上并没有校准到73%。这个数字是一个风格选择,而不是测量。除非模型经过特定的校准目标训练(大多数没有),这些置信度数字只是表演。

模型应该引用的研究

如果你想真正减少幻觉,学术文献指出一些比提示模板更有效的方法。

自我一致性采样(Wang等,2023):为同一个问题生成多个独立答案并进行多数投票。幻觉通常在样本间不一致;事实声明是一致的。其中一个十二个模型提到了这一点。这可能是最有效的单一技术。

带有验证的链式思考(Lightman等,2023):每一步都检查后再进行——优于仅检查结果的验证。这与仅仅要求模型“展示其工作”不同。你需要实际的步骤级验证。

检索增强生成是事实问题上减少幻觉的真正答案。不是“告诉模型仅使用提供的文本”——而是检索相关文档并将其注入上下文。提示工程方法是RAG自动执行的退化版本。

外部工具使用和验证循环优于任何提示技术。Kamoi等人的调查(TACL 2024)发现,没有先前工作证明通过提示LLM的反馈进行自我纠正是成功的,除非是在特别适合自我纠正的任务中。翻译:单独提示并不能解决问题。你需要外部反馈——工具、API、人工审查或具有不同训练分布的第二个模型。

重要的教训

获得十二个相同答案最有趣的事情不是内容。而是趋同现象揭示了大模型如何工作。

十二个模型都匹配上了“全面的中立性引导指南”这一模式。它们都见过这种文本类型。结构——原则、示例、模板、注意事项——是一个广泛代表的模式。当你询问中立性引导时,你激活了这个模式,模型生成了符合该模式的流畅文本。

这正是产生阿谀奉承的机制。模型看到一个问题,识别出最可能的回应类型,然后生成符合该类型的文本。当类型是“同意用户”时,它会同意。当类型是“全面的引导指南”时,它会写一篇全面的引导指南。这都不需要模型实际评估声明。

十二个回答并不是证据表明这些建议是正确的。它们是证据表明这些建议在训练数据中被广泛代表。这是两回事。

有效的方法(和无效的方法)

读完十二个模型后,这是我的诚实评估。

有效:

  • 源文本约束(“仅使用此文本”)——当你有源材料时,这是单一最高杠杆的技术
  • 自我一致性采样(生成N个答案,取多数)——非常有效
  • 将任务分解为小的可验证步骤——迫使模型进入更小的生成窗口,幻觉可能性降低
  • 说“如果不知道,就说不知道”——令人惊讶地有效,仅一条指令
  • 外部验证——检查模型输出与真实来源的一致性,始终有效

有时有效:

  • 角色分配(“扮演审计员”)——在前几轮有效,长时间对话后效果下降
  • 置信度评分——作为启发式信号有用,但数字没有校准
  • 强制反向论证——生成反向论证,但模型并没有真正权衡它们

不如宣传的那么有效:

  • 精致的系统提示(500字的指令块与50字的相比边际效益小)——
  • “评估声明:X”框架——减少了前置语言,但模型仍然会匹配声明的情感
  • 让模型批判其自身答案——它更擅长捕捉表面错误而不是推理错误,Kamoi调查表明自我纠正在没有外部反馈的情况下大多失败

最后结论

十二个模型给了我很好的建议。不是因为他们独立地推理出了问题,而是因为好的提示建议在它们的训练数据中被广泛代表,它们擅长检索和重组这些数据。

讽刺的是,验证提示技术是否有效最好的方法是不相信推荐这些技术的模型。自己测试这些技术。测量结果。不要将十二个一致同意的大模型视为真理的证据——将其视为你自己的实验起点。

如果你想直接版本,十二个模型没有直接说的版本:不要更好地提示,更努力地验证。

参考资料: