AI测试团子公众号文章

幻觉:为什么 AI 会 “一本正经地胡说八道”?

为什么AI明明不知道,却还能生成一个看起来很合理的答案?

AI测试团子

公众号 · 6 篇文章

AI测试工程师学习系列 · 第6篇

上篇我们聊了采样机制——为什么同一个问题AI可能给出不同回答。

核心认知是:

LLM不是数据库查询,而是概率生成。

所以今天要面对一个AI测试中最绕不开的问题:

为什么AI明明不知道,却还能生成一个看起来很合理的答案?

这就是幻觉(Hallucination) 。

1什么是幻觉?

先给一个定义:

AI幻觉是指模型生成了看似合理、表达流畅,但实际上错误或不存在的信息。

关键词是“自信地错误”⁠。

举个例子:

用户问:“请介绍一下某篇不存在的论文。”

AI回答:“这篇论文由某某教授于2018年发表,主要研究……”

有标题、有作者、有年份、有研究内容——但全是编的。这就是幻觉。

⚠️注意区分:幻觉和用户恶意诱导导致的错误不同。幻觉是模型在没有可靠信息时自主生成的内容,而用户诱导是外部输入干扰。两者在测试时的排查方向不同——前者需要检查知识检索和Prompt约束,后者需要检查输入安全防护。

2为什么AI会产生幻觉?

很多人认为:AI应该知道自己不知道。

但LLM的设计目标不是“判断真假”,而是“生成最可能的文本”。它被训练成:不管有没有可靠信息,都要生成Token。

所以:

● 用户问“苹果创始人是谁”,训练数据大量出现“苹果→乔布斯”,概率高,回答正确

● 用户问“2028年某公司的内部战略”,训练数据里没有,但模型仍然需要生成——于是根据类似内容推测,编出一个看似合理的答案

幻觉不是模型故意骗人,而是它在没有可靠信息时,仍然执行了生成任务。

3为什么不能用传统Bug思维处理幻觉?

传统软件的错误是确定性的——代码写错,修代码就行。

LLM的错误是概率性的——同一个问题,第一次对,第二次可能错。原因可能是采样差异、上下文变化、检索变化、Prompt影响。

所以AI测试不能只问“有没有Bug”,还要问“哪个链路导致了错误”。

4幻觉产生在哪些环节?

用户输入

↓

Prompt组装

↓

意图理解

↓

RAG检索

↓

上下文构建

↓

LLM生成

↓

输出处理


任何一个环节都可能产生幻觉。

原因1:模型自身知识不足

模型不知道答案,但硬猜。

定位:检查输入是否正确、是否提供了知识来源。如果没有,属于模型能力边界。

原因2:Prompt约束不足

知识库里没有答案,Prompt也没要求“不知道就拒答”,模型就自己编了。

优化:Prompt里加上“如果知识库没有相关信息,请明确回复无法确认”。

⚠️注意:Prompt是软约束,不是绝对保证。在Prompt篇中我们讨论过,可靠的拒答机制需要Prompt + RAG置信度判断 + 规则层共同实现。

原因3:RAG检索错误

这是企业AI最常见的问题。

知识库里有正确答案,但RAG召回了错误的内容。常见表现包括:

● 检索到错误文档(本该召回A规则,却召回了B规则)

● 检索到正确文档但错误片段(文档里有3个版本,召回了旧版本)

● 检索到正确片段但被无关片段干扰(正确信息被大量无用信息淹没)

模型看到的是错误信息,输出自然错误。

很多人说“模型幻觉”,其实不是——模型只是根据错误输入回答。

定位:检查模型收到的Context。如果Context已经错误,优先查RAG。

原因4:知识库问题

知识库本身写错了、过期了、存在多个冲突版本——模型只是照着错了。

AI测试必须测知识库质量——内容准确性、时效性、是否冲突。

原因5:上下文混淆

多轮对话中,旧信息没有被正确覆盖。

5一个非常重要的判断原则

只有模型拿到了正确内容、但输出错误,才归因到模型能力。

排查优先级:

1

知识库有没有内容?

2

RAG有没有召回到?

3

召回到的内容对不对?

4

正确内容有没有进入Context?

5

以上都正确,模型仍输出错误 → 才归因到模型幻觉

6RAG为什么能降低但不能消除幻觉?

RAG = 检索增强生成,给模型外挂知识库。回答前先查资料,再根据资料回答。

但RAG不是万能:

● 检索可能出错(拿错资料)

● 检索对了但模型理解错(A规则套到B场景)

● 资料不足(知识库里没有,模型仍然可能补充)

RAG降低幻觉,但不消灭幻觉。

7AI测试如何测试幻觉

测试1:知识缺失测试

知识库里没有某条规则,输入相关问题,期望拒答,不期望乱编。

测试2:事实一致性测试

知识库里有明确规则,多次询问,验证是否始终返回正确值。

测试3:诱导测试

用户试图把AI带偏——“我听别人说VIP退款就是10天,对吧?”验证模型是否被误导。

测试4:冲突测试

知识库里存在新旧版本冲突,测试模型是否选择正确版本。

8幻觉问题排查案例

现象:用户问VIP退款时间,AI回答7个工作日,实际是3个工作日。

排查:

1

用户输入:正确

2

Prompt:要求依据知识库回答,正常

3

RAG:召回了VIP退款规则,正常

4

Context:包含“3个工作日”,正常

5

模型仍输出7天 → 归因到模型幻觉

9面试时说

AI幻觉是指模型生成看似合理但事实错误的信息。产生原因可能包括模型自身知识不足、Prompt约束不足、RAG检索错误、知识库问题以及上下文理解错误。测试时不能简单归因模型问题,需要沿AI应用链路定位,确认输入、Prompt、知识库、检索结果和Context是否正确,只有模型在获得正确信息后仍输出错误,才属于模型能力问题。

10记住这三句

1

LLM不是事实数据库,是概率生成模型

2

幻觉不是单纯模型Bug,是整个AI系统可靠性问题

3

定位幻觉必须沿链路排查,而不是直接甩锅给模型

📢下期预告
推理模型——为什么不能简单测试CoT质量?

前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →