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质量?