一、什么是大模型幻觉?

近年来,以 ChatGPT、Claude、DeepSeek、通义千问等为代表的大语言模型(LLM)在自然语言处理、代码生成、知识问答、智能客服等领域取得了显著进展。

但是,在实际使用过程中,我们经常会遇到一种令人头疼的现象:

AI 明明不知道答案,却能够生成一段逻辑通顺、表达流畅,甚至看起来非常专业的错误内容。

例如:

  • 询问一个不存在的学术论文,AI 却生成了完整的论文标题、作者、期刊和 DOI。

  • 询问某个法律条款,AI 给出了看似合理但实际上不存在的法规。

  • 让 AI 解释一段代码,它可能编造出不存在的 API 或函数。

  • 询问最新的行业数据,AI 却使用过时的信息进行回答。

这种现象被称为 大模型幻觉(LLM Hallucination)。

从技术角度来看,大模型幻觉是指模型生成了与事实不符、缺乏可靠依据,或者与输入上下文相矛盾的内容。

需要注意的是,大模型幻觉不一定意味着模型完全没有相关知识。有时候,模型掌握了部分正确知识,却在组合、推理或生成过程中产生了错误结论。

1.1 大模型幻觉的主要类型

大模型幻觉可以从不同角度进行分类。

幻觉类型具体表现典型案例
事实性幻觉生成与客观事实不符的内容编造历史事件
引用幻觉虚构论文、文献或参考资料生成不存在的 DOI
逻辑性幻觉推理过程或结论存在错误数学计算错误
上下文幻觉回答与用户提供的信息矛盾忽略文档中的关键条件
时效性幻觉使用过期或错误的最新信息编造最新政策
工具调用幻觉声称完成了实际上未执行的操作声称已经发送邮件

其中,事实性幻觉和引用幻觉在知识问答、学术科研等场景中尤其值得关注。

1.2 为什么大模型幻觉值得重视?

大模型幻觉不仅影响用户体验,还可能带来实际业务风险。

例如:

  • 医疗领域:错误解释检查报告,可能误导患者。

  • 金融领域:生成错误的市场数据,影响投资判断。

  • 法律领域:编造法律条文,导致错误的法律建议。

  • 企业领域:错误回答企业内部制度和业务流程。

  • 科研领域:编造论文引用,影响研究结论。

因此,如何识别、评估和降低大模型幻觉,已经成为大模型应用开发中的重要研究方向。


二、为什么大模型会产生幻觉?

要理解大模型幻觉,首先需要了解大语言模型的基本工作原理。

2.1 大语言模型本质上是概率生成模型

以 Transformer 架构为基础的大语言模型,通常通过预测下一个 Token 来生成文本。

给定一段上下文:

[ X=(x_1,x_2,\ldots,x_t) ]

模型需要预测下一个 Token:

[ P(x_{t+1}|x_1,x_2,\ldots,x_t) ]

然后根据概率分布选择下一个 Token,并不断重复这一过程,最终生成完整的文本。

整个生成过程可以表示为:

[ P(X)=\prod_{t=1}^{T}P(x_t|x_{<t}) ]

这里需要明确一个关键问题:

模型优化的核心目标是学习文本序列的概率分布,而不是直接保证每一句生成内容都符合客观事实。

例如,用户询问:

「爱因斯坦获得诺贝尔奖是因为提出了什么理论?」

模型可能根据训练过程中学习到的语言关联,生成与相对论有关的回答。

但事实上,爱因斯坦获得 1921 年诺贝尔物理学奖,主要是因为对光电效应定律的发现。

这说明,语言上的关联性并不等于事实上的正确性。

2.2 训练数据存在噪声和知识缺失

大模型通常使用海量互联网文本、书籍、论文、代码等数据进行预训练。

但这些数据并不都是高质量的。

常见问题包括:

  1. 数据中存在错误信息。

  2. 不同来源之间存在事实冲突。

  3. 部分内容已经过时。

  4. 某些专业领域的数据不足。

  5. 数据可能存在重复和偏见。

模型在训练过程中学习的是数据中的统计规律。

如果训练数据本身包含错误信息,模型就可能学习到错误关联。

此外,模型也不可能完整掌握人类知识。

当用户询问训练数据中没有充分覆盖的问题时,模型可能尝试根据已有知识进行泛化,进而产生幻觉。

2.3 模型缺乏可靠的事实验证机制

普通语言模型生成内容时,并不会自动访问一个实时、完整且权威的事实数据库。

例如,用户询问:

「2026 年某个行业的最新市场规模是多少?」

如果模型没有联网搜索、外部数据库或其他可靠信息来源,就可能根据历史知识生成一个看似合理的数字。

这里涉及两个不同的概念:

  • 语言生成:根据上下文预测合理的文本。

  • 事实验证:通过可靠证据判断内容是否真实。

两者并不是同一件事情。

模型能够生成流畅的答案,不代表它已经验证了答案。

2.4 解码策略可能放大幻觉

大模型生成文本时,需要使用解码策略从概率分布中选择 Token。

常见方法包括:

  • Greedy Search:贪心搜索。

  • Beam Search:束搜索。

  • Top-K Sampling:Top-K 采样。

  • Top-P Sampling:核采样。

  • Temperature:温度参数。

其中,Temperature 会影响 Token 概率分布的平滑程度。

其计算公式为:

[ P_i=\frac{\exp(z_i/T)} {\sum_j\exp(z_j/T)} ]

其中:

  • (z_i):Token 对应的 Logits。

  • (T):温度参数。

  • (P_i):经过温度调整后的概率。

当 Temperature 较高时,概率分布更加平滑,生成结果通常具有更高的随机性。

当 Temperature 较低时,模型更倾向于选择概率较高的 Token。

但需要注意:

降低 Temperature 并不能从根本上消除幻觉。

如果模型对某个错误答案具有较高的预测概率,即使 Temperature 很低,也可能稳定地生成错误答案。


三、大模型幻觉产生的核心技术原因

上面介绍的是宏观原因,下面从模型训练和推理机制进一步分析。

3.1 自回归生成带来的误差累积

大语言模型通常采用自回归生成方式。

也就是说,当前 Token 的生成依赖前面已经生成的 Token。

例如:

第一步:

模型生成「某研究表明……」

第二步:

模型生成「该研究发表于……」

第三步:

模型生成「Nature 期刊……」

如果第一步已经出现事实错误,后续生成就可能围绕这个错误继续扩展。

最终形成一段逻辑完整但事实错误的内容。

可以简单理解为:

[
错误Token
\rightarrow 错误上下文
\rightarrow 错误推理
\rightarrow 错误结论
]

这也是为什么一些幻觉回答看起来非常完整,却难以通过表面阅读发现问题。

3.2 知识表示存在局限

大模型通过参数学习语言和知识之间的统计关联。

模型参数中确实包含大量知识信息,但这并不等于模型拥有一个可以精确查询的结构化知识库。

例如:

模型可能知道某位科学家、某篇论文和某个研究领域之间存在关联。

但当用户询问具体论文的发表年份、卷号、页码时,模型可能无法准确还原全部信息。

这种情况容易导致:

  • 人名混淆。

  • 时间错误。

  • 论文标题拼接。

  • 数字信息偏差。

  • 概念之间错误关联。

3.3 长上下文中的信息丢失

随着长上下文技术的发展,大模型能够处理越来越长的输入。

但是,能够接收长文本并不意味着能够准确利用其中的所有信息。

例如,用户提供一份 100 页的技术文档,要求模型根据第 15 页的内容回答问题。

模型可能:

  1. 忽略相关段落。

  2. 误读文档中的限制条件。

  3. 混淆不同章节的信息。

  4. 将相似概念错误关联。

因此,上下文窗口长度并不等于有效信息利用能力。

3.4 RLHF 可能带来的过度自信问题

RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)是大模型后训练的重要技术之一。

其基本流程通常包括:

  1. 收集人工偏好数据。

  2. 训练奖励模型。

  3. 使用强化学习优化语言模型。

  4. 使模型输出更符合人类偏好。

但这里存在一个值得关注的问题:

人类偏好与事实正确性并不完全一致。

例如,面对两个回答:

回答 A:「这个问题我不确定,需要进一步核实。」

回答 B:「这个问题的答案是 X,具体原因如下……」

在某些评价情境中,回答 B 可能因为表达更加完整、流畅而获得更高的主观偏好。

如果模型过度优化回答的流畅性和完整性,就可能倾向于给出确定答案,而不是主动承认不确定性。

需要强调的是,RLHF 并不必然导致幻觉,但偏好优化与事实准确性之间存在目标不一致的风险。


四、如何降低大模型幻觉?

幻觉无法通过某一个参数或者某一种技术彻底解决。

在实际的大模型应用开发中,通常需要结合提示词优化、RAG、工具调用、模型训练和结果评估等多种方法。

4.1 方法一:Prompt Engineering 提示词优化

最简单的方法是通过提示词约束模型的回答方式。

例如:

普通提示词:

介绍一下 Transformer 模型的发展历史。

优化后的提示词:

你是一名人工智能领域的技术专家。

请回答以下问题:

1. 只提供有可靠依据的信息。
2. 不确定的内容必须明确说明。
3. 不允许编造论文、作者和参考文献。
4. 如果缺乏足够信息,请直接回答无法确认。
5. 将事实、推测和个人判断分开说明。

问题:介绍 Transformer 模型的发展历史。

这种方式可以引导模型更加谨慎地回答问题。

但 Prompt Engineering 主要改变模型的输出行为,不能保证模型真正具备事实验证能力。

4.2 方法二:RAG 检索增强生成

RAG(Retrieval-Augmented Generation)是目前降低知识问答幻觉的重要技术方案。

它的核心思想是:

先从外部知识库检索相关资料,再将检索结果提供给大模型,让模型根据证据生成答案。

传统 LLM:

用户问题
   ↓
大语言模型
   ↓
生成答案

RAG:

用户问题
   ↓
问题向量化
   ↓
向量数据库检索
   ↓
召回相关知识
   ↓
构建增强 Prompt
   ↓
大语言模型
   ↓
生成答案
   ↓
返回结果及引用来源

RAG 的核心流程主要包括:

第一步:文档处理

将 PDF、Word、网页等资料提取为文本。

第二步:文本切分

将长文档切分为多个 Chunk。

第三步:向量化

通过 Embedding 模型将文本转换为向量。

[ v=Embedding(text) ]

第四步:向量检索

将用户问题转换为向量,与知识库中的向量进行相似度计算。

常见的相似度计算方法:

余弦相似度:

[ Similarity(A,B)= \frac{A\cdot B}{|A||B|} ]

第五步:增强生成

将检索到的内容和用户问题一起输入大模型。

第六步:结果验证

检查答案是否能够被检索到的证据支持。

RAG 的优势在于能够为模型提供外部知识依据,并支持来源追溯。

但 RAG 也不是万能的。

如果检索结果本身错误、召回不完整,或者模型没有正确利用检索内容,仍然可能产生幻觉。

4.3 方法三:联网搜索与工具调用

对于实时性较强的问题,可以让大模型调用外部工具。

例如:

  • 搜索引擎:获取最新网页信息。

  • 数据库:查询真实业务数据。

  • Python:执行数学计算。

  • API:获取实时天气、股票等数据。

  • 企业系统:查询订单、库存和用户信息。

整体流程:

用户提出问题
      ↓
大模型理解任务
      ↓
判断是否需要调用工具
      ↓
生成工具调用请求
      ↓
执行外部工具
      ↓
获取真实结果
      ↓
大模型整合信息
      ↓
输出最终答案

例如,用户询问:

「计算 123456 × 789012 的结果是多少?」

模型可以调用 Python,而不是单纯依赖语言生成。

result = 123456 * 789012

print(result)

通过外部程序执行计算,可以降低复杂数学运算中的错误风险。

但是,工具调用本身也需要验证。例如,搜索结果可能不可靠,API 可能返回异常数据,模型也可能错误解释工具返回值。

4.4 方法四:Self-Consistency 自一致性

Self-Consistency 是一种利用多次推理结果提高答案可靠性的技术。

基本思想:

  1. 对同一个问题生成多条推理路径。

  2. 分别获得多个候选答案。

  3. 对候选答案进行比较。

  4. 选择出现频率较高或经过验证的结果。

例如:

问题:一个商品原价 200 元,打八折后是多少?

推理路径 A:200 × 0.8 = 160
推理路径 B:200 - 200 × 20% = 160
推理路径 C:200 × 80% = 160

最终答案:160 元

这种方式可以减少部分随机推理错误。

但需要注意:多次生成并不意味着结果一定正确。如果多条推理路径共享相同的错误假设,就可能产生一致但错误的答案。

4.5 方法五:模型微调与偏好优化

对于特定行业场景,可以使用高质量数据对模型进行微调。

常见方法包括:

  • SFT:监督微调。

  • DPO:直接偏好优化。

  • RLHF:人类反馈强化学习。

  • LoRA:低秩适配微调。

例如,在医疗领域,可以使用经过专业人员审核的问答数据,让模型学习更加规范的医学表达和回答边界。

需要注意:

微调可以改善模型在特定任务上的表现,但不等于将知识永久、准确地写入模型。对于频繁变化的知识,通常仍需要结合 RAG 或外部数据源。


五、使用 Python 实现一个简单的幻觉检测方案

下面通过一个简单示例,理解如何利用外部知识和答案验证机制降低幻觉。

这里使用一个简化的关键词覆盖检测方法。

注意:这只是教学演示,不是真正可靠的语义事实验证系统。

5.1 准备知识库

knowledge_base = {
    "Transformer": [
        "Transformer 是一种基于注意力机制的神经网络架构。",
        "Transformer 由 Google 研究团队在 2017 年提出。",
        "Transformer 的经典论文是 Attention Is All You Need。"
    ]
}

5.2 定义检索函数

def retrieve_knowledge(query, knowledge_base):
    results = []

    for key, docs in knowledge_base.items():
        if key.lower() in query.lower():
            results.extend(docs)

    return results

5.3 定义简单答案检测函数

def check_hallucination(answer, references):
    if not references:
        return {
            "status": "无法验证",
            "reason": "没有检索到相关知识"
        }

    matched = []

    for reference in references:
        for word in reference.split():
            if len(word) > 1 and word in answer:
                matched.append(word)

    if matched:
        return {
            "status": "存在部分证据匹配",
            "matched_words": list(set(matched))
        }

    return {
        "status": "缺少匹配证据",
        "matched_words": []
    }

5.4 执行测试

query = "Transformer 是什么?"

answer = """
Transformer 是一种基于注意力机制的神经网络架构,
其经典论文是 Attention Is All You Need。
"""

references = retrieve_knowledge(
    query,
    knowledge_base
)

result = check_hallucination(
    answer,
    references
)

print(result)

输出结果示例:

{
    'status': '存在部分证据匹配',
    'matched_words': [...]
}

通过这个例子可以看到,我们能够利用外部知识库对答案进行初步检查。

但是,关键词匹配只能说明文本存在部分重合,不能证明答案真实。

在真实项目中,应该进一步使用:

  1. 语义相似度计算。

  2. 句子级事实拆分。

  3. 证据与结论的蕴含关系判断。

  4. 权威数据源交叉验证。

  5. 人工审核与风险分级。


六、大模型幻觉如何评估?

如果要在企业项目中真正降低幻觉,仅仅依靠人工测试是不够的,还需要建立一套系统化的评估体系。

常见评估指标包括:

评估指标主要作用
Faithfulness答案是否忠实于提供的上下文
Answer Relevancy答案是否与问题相关
Context Precision检索结果中相关信息的准确程度
Context Recall检索结果对相关信息的覆盖程度
Citation Accuracy引用来源是否真实且支持对应结论
Factual Accuracy答案是否符合客观事实

其中,Faithfulness 是 RAG 系统中非常重要的指标。

可以将其理解为:

[
Faithfulness=
\frac{有上下文证据支持的事实数量}
{答案中的事实总数量}
]

例如:

模型生成了 10 个事实性陈述,其中 8 个能够被检索到的上下文支持。

那么:

[ Faithfulness=\frac{8}{10}=0.8 ]

需要注意,这只是一个便于理解的简化计算示例。实际评测通常需要进行事实拆分、证据匹配和语义判断,不能简单依靠关键词数量。

常见的评估工具包括:

  • RAGAS:RAG 系统评估框架。

  • DeepEval:大模型应用评估工具。

  • TruLens:LLM 应用评估与追踪工具。

  • LangSmith:大模型应用调试、追踪和评估平台。


七、企业级大模型应用如何构建防幻觉架构?

在实际企业项目中,不能只依赖一个大模型完成所有任务。

更合理的方式是构建多层防护机制。

7.1 整体架构

                用户问题
                   |
                   ↓
              问题理解模块
                   |
                   ↓
              意图识别与分类
                   |
          ┌────────┴────────┐
          ↓                 ↓
      普通知识问题       实时数据问题
          |                 |
          ↓                 ↓
       RAG检索            工具调用
          |                 |
          ↓                 ↓
      知识库证据          API数据
          |                 |
          └────────┬────────┘
                   ↓
              大模型生成
                   |
                   ↓
              答案事实校验
                   |
          ┌────────┴────────┐
          ↓                 ↓
       校验通过           校验失败
          |                 |
          ↓                 ↓
       返回答案        重新检索/拒绝回答
          |                 |
          ↓                 ↓
       记录日志          风险告警

7.2 核心模块说明

1. 问题理解模块

识别用户问题的类型,判断是否涉及专业知识、实时数据或复杂计算。

2. 知识检索模块

从企业知识库中检索与问题相关的内容,为模型提供可靠的参考依据。

3. 工具调用模块

对于计算、查询和实时数据任务,优先调用外部工具获取结果。

4. 答案生成模块

要求模型基于已有证据生成答案,不能随意补充未经验证的信息。

5. 事实验证模块

对生成内容进行事实拆分、证据匹配和引用检查。

6. 拒绝回答机制

当缺乏足够证据时,模型应该明确说明无法确认,而不是编造答案。

7.3 防幻觉设计的核心原则

在实际项目中,可以总结为五个原则:

  • 有知识依据:尽量使用经过审核的外部知识。

  • 有数据来源:重要结论需要提供可追溯的来源。

  • 有工具验证:复杂计算和实时查询交给工具执行。

  • 有结果评估:建立自动化评测体系。

  • 有拒绝机制:证据不足时允许模型不回答。


八、未来大模型幻觉问题的发展方向

随着大模型技术不断发展,幻觉问题的解决方案也在持续演进。

未来可能重点发展以下方向:

8.1 从单纯生成走向证据驱动生成

未来的大模型不仅需要生成答案,还需要提供支持答案的证据。

让每个重要结论都能够追溯到可靠的数据源。

8.2 从单模型走向多模型协同验证

通过不同模型分别承担生成、审核、事实检查等任务,形成多层验证机制。

但多模型并不天然意味着结果正确,仍然需要独立可靠的证据来源。

8.3 从静态知识走向实时知识增强

通过 RAG、搜索引擎、数据库和外部 API,让模型能够获取更加及时的信息。

8.4 从被动回答走向主动不确定性管理

未来的大模型需要更加准确地识别自身知识边界。

当模型缺乏可靠证据时,应该主动表达不确定性,而不是强行给出答案。


九、总结

大模型幻觉是当前大语言模型技术中一个非常重要的问题。

它并不是简单的模型 Bug,而是与概率生成机制、训练数据质量、知识表示、上下文利用、解码策略和后训练目标等多个因素有关。

本文主要介绍了:

  1. 什么是大模型幻觉,以及常见的幻觉类型。

  2. 为什么大模型会一本正经地生成错误答案。

  3. 自回归生成、训练数据和 RLHF 等技术背后的影响因素。

  4. Prompt、RAG、工具调用、自一致性和模型微调等解决方案。

  5. 如何使用 Python 构建简单的幻觉检测方案。

  6. 如何通过评估体系和企业级架构降低幻觉风险。

最后,需要记住一个非常重要的观点:

大模型最擅长的是根据上下文生成合理的内容,而企业真正需要的是能够提供可靠证据、正确执行任务并且知道什么时候应该拒绝回答的 AI 系统。

因此,未来大模型应用开发的核心竞争力,不仅是让 AI 能够回答问题,更是让 AI 的每一个重要回答都尽可能有依据、可验证、可追溯。

这也是 RAG、Agent、工具调用和大模型评估技术持续受到关注的重要原因。

Logo