怎么堵住 AI 胡说八道的嘴
不管是在网上,还是和身边朋友聊天时,经常看到有人吐槽 AI 胡编乱造。 相信最近很多人都刷到过一个很搞笑的事件:一位网友轻信豆某包关于机票退票手续费仅 5% 的建议,实际被扣 40%,损失 600 元。豆某包随后生成“赔付承诺书”却因无法转账反悔,并支招网友起诉自己,该网友随后便向法院提交了立案申请。 这类问题在 AI 应用里有一个专门的说法,叫“幻觉”(Hallucination)。 今天我想聊聊,AI 为什么会产生幻觉,以及我们在日常使用中,怎么尽量降低它胡编乱造的概率。 AI 为什么会胡编乱造? 你有没有好奇过,为什么 AI 明明不知道答案,却还能说得那么完整? 很多人会把 AI 想象成一个巨大的资料库。我们问一个问题,它就去资料库里查一条记录,然后把结果返回给我们。 但大模型默认并不是这么工作的。 我们可以简单粗暴地理解为:大模型更像一个“超级文字接龙机”。当然,这只是一个方便理解的比喻。现代大模型在训练中确实学到了很多概念、知识和推理模式,但它最基础的生成方式,仍然是根据前面的上下文,预测后面接什么内容最合理。 比如我说“锄禾日当”,模型很容易接出“午”。因为在它见过的大量文本里,这两个词经常连在一起。 如果问题是写一段文案、整理一份提纲,这种能力非常好用。但如果问题是“某个政策是哪天发布的”“某个案例是否真实存在”,它就可能出问题。因为这类问题需要核对事实,而不是只生成一段看起来顺的文字。 我们可以把没有检索工具参与的回答过程,看成一次“闭卷考试”: flowchart TD User[用户提问: 帮我查某行业市场数据] Model[大语言模型] Context{上下文里有可靠依据吗?} Guess[根据语言模式生成回答] Detail[补全听起来合理的细节] Answer[输出一段看似完整的回答] User --> Model Model --> Context Context -- "依据充分" --> Answer Context -- "依据不足" --> Guess Guess --> Detail Detail --> Answer 所以我们会看到一种很奇怪的现象:它不是简单地说“不知道”,而是生成了一段看起来有帮助的回答。问题在于,看起来有帮助,不等于事实上可靠。 那如果我们在提示词里写“不要编造,不知道就说不知道”,有没有用? 有用,但不是保险丝。它通常能降低一部分风险,但只要模型手里没有可靠证据,而你的问题又要求它给出完整答案,它仍然可能根据模糊记忆和语言模式,生成一段没有依据的内容。 所以,减少幻觉的关键,不是反复提醒它“你不许编”,而是改变任务结构。 怎么让 AI 少胡编乱造? 让 AI 先查资料 最直接的办法,是让 AI 不要只凭印象回答,而是先检索资料,再基于资料总结。 ...