不管是在网上,还是和身边朋友聊天时,经常看到有人吐槽 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 不要只凭印象回答,而是先检索资料,再基于资料总结。
现在很多主流 AI 工具都带联网搜索功能,比如 Grok、Gemini 和 ChatGPT 等。如果你只是随口一问,它可能直接用已有知识回答。但如果你明确要求它先搜索,再标注来源,回答过程就会不一样。
例如你可以这样问:
请先使用联网搜索工具检索最新信息,并严格基于搜索到的权威网页内容回答。每一段关键结论后面,都用括号标注引用来源。
在技术底层,这类能力通常被称为 Tool Calling(工具调用)。我们可以把它理解为:模型不再只靠自己生成答案,而是先调用外部工具,把检索结果放进上下文里,再基于上下文输出。
flowchart TD
User[用户提问并要求联网]
subgraph App [应用层]
Search[搜索工具]
Sources[网页内容和链接]
end
subgraph Model [模型层]
LLM[大语言模型]
Summary[基于来源总结]
end
User -- "1. 提问" --> LLM
LLM -- "2. 拆解关键词" --> Search
Search -- "3. 返回结果" --> Sources
Sources -- "4. 放入上下文" --> LLM
LLM -- "5. 总结并标注来源" --> Summary
这里最重要的不是“联网之后就一定正确”,而是“答案变得可复核了”。
因为 AI 仍然可能引用不相关网页,也可能误读网页内容,搜索结果本身也可能过期。联网搜索只是把答案从“完全看不见依据”,变成了“可以顺着来源检查”。这已经是很大的进步。
把输入结构写清楚
除了让 AI 去查资料,我们还要把自己的问题写清楚。
很多时候,AI 不是完全不知道答案,而是我们给它的输入太混乱:目标、背景、资料、约束、输出格式全都挤在一段话里。模型只能自己猜,猜错的概率自然就高。
我自己更推荐把提示词写成结构化的 Markdown。比如:
## 背景
我要整理一份关于某行业政策变化的内部简报。
## 资料
- 资料 1:……
- 资料 2:……
## 任务
请只基于上面的资料,总结三条关键变化。
## 约束
- 不要添加资料之外的新事实
- 不确定的地方标注为“不确定”
- 每条结论后标注来自哪份资料
## 输出格式
请用表格输出:变化点 / 依据 / 风险提醒
这样写的好处是,AI 不需要在一大坨文字里猜你的真实意图。背景、资料、任务、约束和格式都被拆开了,它更容易按你的要求执行。
这也是为什么我前面专门写过一篇 Markdown - AI 时代的万能转换器。Markdown 不只是写文章方便,它也是一种很适合喂给 AI 的结构化输入格式。
让 AI 保守一点
再讲一个 AI 开发里很常见的参数:Temperature(温度)。
你可以把它理解为模型的“发散程度”:
- 温度越高,回答越发散,更适合写小说、头脑风暴、起名字这类任务
- 温度越低,回答越稳定,更适合整理资料、抽取信息、改写格式这类任务
当然,在普通聊天产品里,我们通常不能直接调这个参数。你在对话框里说“零度模式”,并不会真的修改模型底层配置。但我们可以用提示词模拟一个更保守的回答策略。
比如处理财务、法律、合同、数据核对这类严肃任务时,可以这样写:
请用保守核查模式回答。不要发挥创造力,只陈述有依据的事实。凡是无法核实、缺少来源、存在多种解释的地方,都明确标注为“不确定”,不要补全细节。
这个提示词不会让 AI 变成真相机器。如果它掌握的信息本来就是错的,它仍然可能错。但它能提醒模型少做开放式发挥,多暴露不确定性。
把生成和审查拆开
很多人用 AI 时,喜欢一上来就说:你现在是一位资深专家。
这类提示词不是完全没用。它能让模型更容易进入某个语境,回答也会更像那个领域的人。但它并不能保证事实正确。有时候,专家口吻反而会把错误包装得更像真的。
更稳妥的做法,是把同一个任务拆成两步:先生成,再审查。
比如第一轮,你可以这样问:
请根据我提供的资料,生成一份报告初稿。不要添加资料之外的新事实。
第二轮,再这样追问:
现在请切换成一位严苛的合规审计员。逐条检查上面的报告:哪些结论有明确来源?哪些只是推测?哪些数字、案例、法规名称需要人工复核?请把无法核实的内容单独列出来。
这个过程在 AI 应用开发里很常见,可以叫 Self-Correction(自我修正),也可以叫“生成-评审”流程。
它的核心思想很简单:不要指望模型在一次回答里同时完成创作、核查、纠错。把步骤拆开,效果往往会更稳定。
flowchart TD
Material[原始资料] --> Draft[生成初稿]
Draft --> Review[逐条审查]
Review --> Risk[标出不确定内容]
Risk --> Final[人工复核后定稿]
用多个模型独立审查
如果任务比较重要,还可以再加一步:让不同的 AI 模型独立审查同一份内容。
比如你先用 ChatGPT 生成了一份报告,可以再把同样的原始资料和报告初稿发给 Gemini、Grok 或其他模型,让它们只做审查,不参与重写。
你可以这样问:
请你作为独立审查员,基于我提供的原始资料,检查这份报告是否存在事实错误、无来源结论、过度推断或需要人工复核的内容。请不要直接润色文章,只列出风险点和修改建议。
这样做的好处是,不同模型的训练数据、推理习惯和安全策略不完全一样。一个模型没发现的问题,另一个模型有可能指出来。
当然,多模型审查也不是“少数服从多数”。如果三个模型都说同一句话对,也不代表它一定对。它更像是多请了几位审稿人帮你找问题,最后的判断仍然要回到原始资料和人工核对上。
准备自己的专业知识库
最后还有一种更长期的办法,是准备自己的专业知识库。
联网搜索解决的是“公共信息”的问题,但很多工作里真正重要的资料,往往不在公开互联网上。比如企业内部文档、历史项目记录、客户需求、个人读书笔记、行业经验总结等。这些内容如果不提供给 AI,它就只能基于公共知识和模糊经验来回答。
我们可以把这些资料整理成 Markdown 文件夹,再接入支持文件读取的 Agent 工具。这样 AI 在回答问题前,就有机会先翻阅你的资料,而不是完全靠记忆生成。
这个思路我在 个人知识库方案之Markdown 里展开讲过。简单说,就是把大模型不懂的“私有知识”,用一个低成本、可维护的方式补给它。
结语
今天我们讲了不少办法:让 AI 先查资料、把输入结构写清楚、让它保守一点、把生成和审查拆开、用多个模型独立审查,甚至准备自己的专业知识库。
这些方法都能降低 AI 胡编乱造的概率,但它们都不是 100% 可靠的保险。联网搜索可能搜到过期信息,知识库里也可能有旧资料,模型可能误读上下文,多模型审查也可能一起漏掉同一个问题。
所以,堵住 AI 胡编乱造的嘴,不是靠某一句神奇提示词,也不是靠某一个万能工具,而是靠更好的任务设计:让它有资料可查、有来源可追、有不确定性可暴露,最后再由人来做判断。
AI 很适合做初稿,帮我们整理、归纳、转换和表达。但在关键数字、法律条文、政策文件、真实案例这些对精确度要求较高的场景中,最后那道人工核对的关卡,还是不能省。