AI知识回答出现幻觉,通常来自四类原因叠加:知识来源缺失、过期或互相冲突;检索环节没有召回正确片段或排序靠前;生成环节在证据不足时仍按语言惯性补全细节;使用环节缺少引用核对与人工复核。排查时先判断错误属于哪一类,再按“来源—召回—生成—使用”的顺序逐层取证,避免把单次错误直接归因为模型能力问题。本文聚焦知识获取与可信回答,不展开底层工程实现与模型训练方法。
要点总览(TL;DR)
- AI知识回答幻觉通常由四类原因叠加造成:知识来源缺失、过期或冲突;检索未召回或排序靠后;生成在证据不足时补全细节;使用环节缺少引用核对与人工复核。
- 排查按“来源—召回—生成—使用”顺序逐层取证,先确认知识库是否存在有效答案,再检查召回片段与生成行为,避免把单次错误直接归因为模型能力问题。
- 处置按已确认原因分型执行:来源层补齐文档并标注版本,检索层调整切分与术语,生成层要求附引用,使用层建立复核与反馈回收。
- 修复后用原问题和同类问题回归验证,检查引用可追溯性,并通过抽样复核与错误反馈分类统计防止复发。
幻觉在知识问答中的典型症状与影响范围
判断一次错误回答是否属于知识型幻觉,先看它是否在陈述一个可被知识库验证的事实。知识型幻觉的共同特征是答案看起来完整、语气确定,但与团队已有文档、数据或口径不一致。把它与理解偏差、格式错误、权限导致的信息缺失分开,后续排查才不会走错方向。
常见症状可以归为四类:编造事实,即答案中出现知识库中不存在的人名、数字、流程节点;张冠李戴,把A项目的方案套到B项目上,或把旧版本制度当成现行制度;引用不存在来源,答案标注了文档名或章节,实际查无此文;答案过期,内容在历史版本中确实存在,但已被新版本替代。理解偏差表现为答非所问或对问题意图误判,格式错误表现为结构混乱但事实无误,权限导致的信息缺失表现为回答“未找到”而实际文档存在但当前账号无权访问。这三类不属于知识型幻觉,处置方式也不同。
影响范围决定排查投入。单条问答出错,优先检查该问题的提问方式与对应文档;某类问题集中出错,例如所有涉及报销标准的问题都答错,通常指向来源层或检索层的系统性问题;某个知识域整体不可信,说明该域的文档维护或切分方式需要整体复核;全量回答都出现同类错误,则要检查知识源接入、索引状态或生成约束是否发生变更。
| 表现 | 可能环节 | 初步判断 |
|---|---|---|
| 编造不存在的事实、数字、流程 | 生成层,或来源层缺失 | 先查知识库是否有对应内容,再查生成时是否附引用 |
| 把其他项目或旧版本内容套用过来 | 检索层排序,或来源层多源冲突 | 检查召回片段是否包含正确文档,是否存在同名多版本 |
| 引用查无此文 | 生成层,或引用展示机制缺失 | 核对引用是否可点击追溯,是否由模型自行生成来源名 |
| 答案在历史文档中存在但已失效 | 来源层版本管理 | 检查文档是否标注生效时间与替代关系 |
| 回答“未找到”但文档确实存在 | 权限或检索层 | 先用有权限账号验证,再查召回结果 |
原因假设与逐层排除证据
四层原因假设需要按顺序验证,因为下游环节的错误常常由上游问题引发。来源层没有正确内容时,检索和生成再优化也无法给出可信答案;检索层没有召回正确片段时,生成层只能凭语言惯性补全。排查顺序建议为:先确认来源是否存在且有效,再确认检索是否召回并排前,然后观察生成行为,最后检查使用环节的核对机制。
来源层假设与取证
来源层的问题包括知识缺失、版本过期、多源冲突和非结构化内容难以解析。取证方式是直接以人工方式在知识库中搜索该问题的关键词,确认是否存在能回答该问题的文档。若文档存在,核对它的版本号、生效时间和替代关系;若同一问题在多个文档中有不同口径,记录冲突点;若内容存在于附件、音视频或扫描件中,确认其是否可被解析为可检索文本。来源层无法通过人工检索找到正确答案时,后续环节的排查暂时没有意义。
检索层假设与取证
检索层的问题包括切分不当、召回遗漏、排序把无关片段排前、同义词与术语未覆盖。取证方式是查看系统实际召回的知识片段,而不是只看最终答案。检查正确文档是否出现在召回结果中:未出现,说明召回遗漏,可能与切分粒度或术语表达差异有关;出现了但排在后面,说明排序问题;召回片段语义被割裂,例如一张表格被切成两半、一条流程被拆散,说明切分粒度不合适。用同义表达重新提问,例如把“报销标准”换成“差旅费用上限”,可以验证术语覆盖情况。
生成层假设与取证
生成层的问题包括证据不足仍补全、跨文档拼接、指令与上下文冲突。取证方式是比对召回片段与最终答案:答案中的关键事实是否都能在召回片段中找到出处;是否把两份不同文档的内容拼成一条不存在的流程;系统指令或提问中的限定条件是否被忽略,例如要求“仅基于现行制度回答”却引用了历史版本。证据不足时仍然给出确定答案,是生成层最需要关注的信号。
使用层假设与取证
使用层的问题包括缺少引用展示、无人复核、提问本身含糊。取证方式是检查答案是否附带可追溯的引用,引用能否定位到具体文档;该答案在发布或使用前是否经过人工确认;提问是否包含歧义,例如“这个流程怎么走”未说明是哪个项目、哪个版本。使用层的问题不会直接制造幻觉,但会让幻觉在没有拦截的情况下进入决策。
| 排查顺序 | 原因假设 | 验证证据 | 排除标志 |
|---|---|---|---|
| 1 | 知识缺失或版本过期 | 人工检索知识库,核对版本与生效时间 | 存在现行有效文档且能直接回答问题 |
| 2 | 多源冲突或内容不可解析 | 比对多个文档口径,检查附件与音视频是否可检索 | 口径唯一,内容已被解析为可检索文本 |
| 3 | 切分不当或召回遗漏 | 查看召回片段,确认正确文档是否出现 | 正确片段被召回且语义完整 |
| 4 | 排序靠后或术语未覆盖 | 检查片段排序,用同义表达重新提问 | 正确片段排前,换词后结果稳定 |
| 5 | 证据不足仍补全或跨文档拼接 | 逐句比对答案与召回片段 | 答案关键事实均有出处,无拼接痕迹 |
| 6 | 缺少引用、复核或提问含糊 | 检查引用可追溯性、复核记录与提问表述 | 引用可定位,有复核环节,提问条件明确 |
按原因分型的处置动作
处置动作应针对已确认的原因执行,避免在未定位环节时同时调整多个配置,否则无法判断哪项改动起了作用。每类处置都设定责任角色和停止条件,涉及知识源替换或索引重建时先备份。
来源层处置
补齐缺失文档,明确每份知识文档的负责人;为文档标注版本号、生效时间和替代关系,旧版本归档而非直接删除;对多源冲突的口径组织一次确认,指定唯一权威来源。责任角色为知识域负责人。风险边界在于:合并冲突口径需要业务确认,不能由技术侧单方面决定;删除或归档文档前确认无其他流程依赖。
检索层处置
调整切分粒度,让表格、流程、制度条款保持语义完整;补充术语表与同义词,覆盖团队内部叫法与标准名称的差异;用一批真实问题复核召回结果,确认正确片段稳定出现并排在前列。责任角色为知识库维护者与平台管理员。涉及重建索引时,先备份现有配置与索引状态,保留回滚路径;在业务低峰期执行,并设定停止条件:若复核问题集的召回准确率下降,立即回滚。
生成层处置
要求答案附引用来源,并让引用可追溯到具体文档;在提示或系统约束中明确“证据不足时说明无法回答”,减少语言惯性补全;对跨文档拼接敏感的问题,限定回答范围到指定文档组。责任角色为平台管理员与知识域负责人。风险边界在于:约束过严可能降低回答覆盖率,需要观察“无法回答”的比例是否异常升高。
使用层处置
建立答案复核机制,对面向决策或对外输出的回答设置人工确认环节;提供错误反馈入口,让使用者能标记错误答案并说明错误类型;对高频问题整理标准提问方式,减少歧义。责任角色为业务使用团队与知识运营人员。风险边界在于:复核环节会增加响应时间,应按问题风险分级设置,不必对所有问答采用同一强度。
当团队在ONES中维护Wiki页面与项目工作项时,知识来源的补齐、版本标注和错误反馈可以落到具体文档状态与工作项流转上。ONES Assistant支持基于指定的Wiki页面组回答问题并附上引用来源,便于在处置生成层与使用层问题时核对答案出处;其知识问答基于ONES权限体系进行,输出过程可追踪、结果可审计,为复核与反馈回收提供记录基础。需要核验的是引用展示的具体粒度,以及证据不足时的回答行为,这两点应在选型或配置阶段实际验证。
恢复验证与复发预防
修复是否有效,要用原问题和同类问题回归验证,而不是只看出错的那一条。验证时逐项检查:原问题是否得到正确答案;同类问题,例如同一知识域的其他条款、同一项目的其他流程,是否也恢复正常;答案附带的引用是否可点击追溯并指向正确文档;此前被标记的错误答案是否不再复现。
回归验证建议覆盖三类样本:原出错问题、同知识域抽样问题、跨知识域对照问题。前两类确认修复生效,第三类确认改动没有影响其他知识域。验证通过后,把本次错误的原因、处置动作和验证结果记录到知识运营台账,作为后续同类问题的参考。
复发预防依靠节奏化的复核与反馈回收。设定抽样复核频率,按问题风险分级,高风险问答每轮复核,一般问答定期抽样;建立错误反馈的回收与分类流程,把反馈按来源、检索、生成、使用四类归因,定期统计分布,判断问题集中在哪个环节。高频错误应沉淀为知识补充或规则约束:反复因术语不一致出错,就补充术语表;反复因版本混淆出错,就在文档中强化生效时间标注。
复发监测可以观察几个指标:错误反馈数量按原因分类的变化趋势;“无法回答”比例是否异常波动;引用可追溯率;同类问题重复出错次数。责任人为知识运营负责人,平台管理员配合检索与生成层配置的复核。指标连续多个周期稳定后,可适当降低复核强度,但保留反馈入口和抽样机制。
常见问题
同一类问题反复答错,但单条问答看起来只是偶发,应该先查哪里?
先按问题类型归组,而不是逐条追查。把同类问题放在一起看,如果错误集中在同一知识域或同一类术语上,优先检查来源层和检索层:该知识域是否有现行有效文档、是否存在多个版本口径、正确片段能否被召回并排在前列。单条偶发错误更可能与提问表述或生成时的证据不足有关。分组统计错误分布,比逐条排查更快定位系统性原因。
答案附了引用,但引用指向的文档里并没有这句话,这属于哪一层的问题?
这通常落在生成层或引用展示机制上。先核对引用是否可点击并定位到具体文档,再比对答案中的关键事实能否在召回片段中找到出处。如果引用文档真实存在但内容不匹配,说明生成时把来源名与内容错配;如果引用指向的文档根本不存在,说明来源名由模型自行生成。两种情况都需要在生成层要求答案关键事实逐条对应召回片段,并让引用可追溯到具体文档。
权限受限导致回答“未找到”,和知识缺失造成的幻觉如何区分?
用有权限的账号对同一问题重新提问,或直接在知识库中人工检索。若文档存在且内容能回答问题,说明是权限或召回环节导致的信息缺失,不属于知识型幻觉;若人工检索也找不到有效文档,才是来源层缺失。区分清楚后再决定是调整权限与召回配置,还是补充知识文档,避免用补文档的方式处理权限问题。
调整切分粒度或补充术语后,如何确认改动没有影响其他知识域?
回归验证时加入跨知识域对照样本。用原出错问题、同知识域抽样问题和跨知识域对照问题三类样本一起验证:前两类确认修复生效,第三类确认改动没有波及其他知识域。涉及重建索引时先备份现有配置与索引状态,保留回滚路径,并在业务低峰期执行;若复核问题集的召回准确率下降,立即回滚。
团队规模不大,是否需要对所有AI问答都做人工复核?
不必对所有问答采用同一强度。按问题风险分级设置复核范围:面向决策、对外输出或涉及制度口径的回答设置人工确认,一般性查询依靠引用追溯和抽样复核。复核强度可以随错误反馈分布调整,当某类问题连续多个周期稳定后适当降低频率,但保留反馈入口和抽样机制,避免问题重新积累而无人发现。
