很多人已经习惯用AI问医学问题了,这里说一个大家都会遇到的困惑。
那就是AI为啥经常瞎编答案。
1.这个问题可以参考OpenAI发过的一个论文,名字就叫做「Why Language Models Hallucinate(为什么语言模型会有幻觉)」。
所谓的幻觉(Hallucination),就是大语言模型(下面用AI代替)自信的产生不实答案。比如在回答医学问题时,AI告诉你一些错误的用药剂量、瞎编一些不存在的临床试验和论文等。
这并不是AI偶尔出的bug,而是所有AI共同面临的问题。AI之所以会出现幻觉,是因为训练会奖励猜测行为,而不是承认不确定答案。
我们举个最简单的例子。你以前读书考试的时候,有道选择题你压根不会,ABCD四个答案你是随便选一个,还是不会就干脆不选了?
显然你会瞎蒙一个而不是空着,因为空着肯定不得分,瞎蒙还有25%的概率能得分。
而AI在训练的时候,全程都是在考试状态下被打分,主流的评测基准(MMLU-Pro、GPQA等)几乎全是二元打分,答对得1分,打错或者回答不知道得0分。在这种训练机制下,遇到不会的时候瞎编才是AI的最优解,毕竟在评分规则里瞎编的期望得分就是比认怂高,这就是幻觉存在的原因。
2. OpenAI就有这么一个测试,对比了GPT-5-mini和o4-mini两个大语言模型的准确度。
从附图可以看出,老模型(o4-mini)的准确率略高一些,但这个准确率是建立在它弃答率非常低的情况下(1% vs 52%),就是虽然不太懂但还是充满自信的回答,而代价就是错误率(也就是幻觉率)比更懂得弃答的新模型(GPT-5-mini)高了3倍。
这个差异对人类来说极其关键。一个老老实实承认不知道的模型,比一个准确率略高一丢丢、但错误率失控的模型安全得多。
这种「盲目的自信」其实很像人类的行为,我们在自己不知道的时候也可能会瞎猜。并且无论这些AI再怎么训练,现实世界中有很多问题就是没有答案。
而另外一点很有意思的是,不一定是越大型的模型越不容易出现幻觉。因为一些很小众的知识点,小型模型可能压根没有接触到这类知识,知晓自身的限制,会直接说不知道;反倒是一些稍微接触过这些知识、但又不是真懂的大型模型,往往会盲目自信的瞎编一通。
(这种行为可太人类了……)
3. 我们回到医学领域。不幸的是,医学领域恰好是AI最容易瞎编的重灾区。
因为幻觉最容易出现在两类内容上,一类是低频事实,就是训练数据里没怎么出现过的冷门知识;另一类是由于目前研究的限制,本身就还没有标准答案的问题。
而这两类内容在医学问题特别多。更重要的一点是,对医学问题乱答一通有可能引发很严重的后果,这一点我想但凡有点常识的人都能体会到。
例如某个不常用药的具体剂量、某两种药之间的用药冲突、某个罕见副作用的发生概率、某个特殊人群(孕妇、儿童、肝肾功能不全者)的用药调整等……这些信息在中文互联网上要么稀缺,要么杂乱,训练数据里出现次数少,AI就学了个皮毛,但又因为它被训练成不能空着不答,于是就给你编一个看起来很像那么回事的答案。
更麻烦的是,AI瞎编出来的医学内容看着特别像真的。OpenAI的论文里就提到了一个很重要的细节(也是一个重要技巧),AI在瞎编答案时倾向于给出【过度具体的内容】,比如很精确的剂量(每次7.5mg,每日3次)、很具体的指南名称(《中华XXX学会2023版指南》,作者XXX)。
在AI的医学场景里,越是精确的数字、越是具体的引用,反而越要警惕——因为这恰恰是幻觉的典型特征。
4. 在理解了以上内容后,我们再说在医学场景中,到底AI的边界(或者上限)在哪里。
这里大家需要先知道两个基础前提。
首先强调过很多次,AI不是万能的,医学领域更是如此。豆包、千问、DeepSeek、Gemini、GPT、Claude,这些AI在中文的医学场景下的表现差异不小。某些面向消费者的模型弃答率通常较低,倾向于给出「看起来有用」的回答。这就是上面论文批评的那种「为了好用而鼓励猜测」的产物。
因此所有AI下面都有个风险提示,比如Claude有时候会写「Claude is AI and can make mistakes. Please double-check responses.」
其次是知道AI擅长回答哪些医学问题、不擅长回答哪些。一般来说是这么个顺序:概念解释和科普 > 常见病的一般信息 > 药物作用机制 > 药物具体用法用量 > 药物相互作用 > 个体化方案。
比如以常见的流感和感冒为例。你问AI「感冒和流感有什么区别?」它可以回答得非常好,因为这是反复出现在科普文章、教科书、指南里的高频知识。它不需要猜,它是真的会。
但如果是非常个性化的方案、同时背景信息又严重提供不足的,比如「我65岁,现在感冒发烧38.5℃,吃什么感冒药最合适」。这是风险最高的,或者说AI最容易产生幻觉的。这种问题AI几乎都会给你一个看似专业的答案——但这个答案是它根据一般原则拼凑出来的,并不是真正基于你的个体情况。
5. 所以想要降低AI的幻觉,关键还是在于你怎么提问。
这边我有一些简单实用的技巧,大家可以参考一下。
-给AI一个体面退出的台阶:
比如在提问的末尾加一句「不知道就说不知道」,或者更准确的说「请只回答你有把握的部分,无法提供可信依据的请直接说不知道」。这一句话看起来很简单,但它本质上是模拟了OpenAI论文建议的「允许弃答」。你给了AI说不知道的权利,它就不那么倾向于瞎编了。
-用多次提问做交叉印证:
这里的交叉印证主要包括两点,一个是同一个问题用不同说法问它2~3次,如果发现回答细节漂移甚至互相矛盾,那就很可能是AI在瞎编。另外一个办法是用不同AI询问相同问题,我自己常用的AI有三个,由于模型大小和训练方法的差异,它们的答案往往是有所差异的(特别是一些个性化问题),通过对比也可以看出哪些回答可能在瞎编。
-多花一些时间在问问题上:
我注意到很多人已经习惯了一句话问问题,比如一两句话表述症状、上传一张检测报告就希望AI判断是什么病,实际上这是把以前X度搜索的习惯直接用在了AI上了。然而AI本身在回答个性化医学问题时是最容易出现幻觉的,特别是当你提供的病情描述非常简短时。
因此,如果你非常希望能从AI上获得相对可靠的信息,请多花点时间在病情描述上,并上传与目前疾病相关的尽可能多的检查报告,这样有助于AI获得更多的背景信息(想想你在门诊时是怎么向医生描述的)。至于网上一些教你怎么写promt的付费教程,实际作用并没有那么大。用自己的风格精炼、准确描述一件事情,这是很多人一辈子要努力学习的东西。
爱因斯坦在《物理学的进化》里面说过一句话,叫做「提出一个问题往往比解决它更重要」,这在AI时代更是如此。
-警惕「过度具体」的回答:
就像上面提到的,如果AI在医学问题给出了非常具体的剂量和论文引用,先不要轻信,可以在靠谱的渠道合适来源。我自己除了在网站上直接检索论文以外,常用的APP有用药助手、临床指南和UpToDate这类专业来源。
AI给大家的具体用药建议一定要进行二次核实,特别是慢病长期用药、多药联用、特殊人群(比如孕妇、婴幼儿),因为这些场景的错误成本太高了。
最后说一句,尽管AI在医学查询时仍然有着种种不足,但是我还是坚定认为,AI是几十年来缩短普通人和前沿医学知识最好的工具,没有之一。熟悉这个工具,用好这个工具,了解它的边界在哪里,它确实能帮到大家很多地方。
将AI当做检索问题的工具,而不是直接获得答案的工具。我认为在医学问题上一个会说「我不知道」的 AI,比一个永远会给答案的AI更值得信任。
