大模型幻觉可以分成哪些类型?
简化版
幻觉是模型生成了无法由输入、可靠证据或真实世界支持的内容。常见分类包括:与给定上下文矛盾的内在幻觉、上下文没有依据的外在幻觉,以及事实、引用、推理、指令遵循、工具调用和时间信息等具体类型。
分类的意义不是贴标签,而是决定治理方法:事实幻觉可用检索和核验;引用幻觉要校验出处;工具幻觉要用 Schema 和真实执行结果约束;推理幻觉需要过程检查和任务验证。还应区分“答案错误”“证据不足”和“表达了合理但未证实的假设”。
幻觉不是一个统一故障。只有先定位错误发生在知识、证据、推理还是系统接口,才能选择有效修复手段。
详细版
从回答与上下文的关系看:
intrinsic hallucination: 回答与给定证据直接矛盾
extrinsic hallucination: 回答新增了证据中无法验证的断言
例如材料写“项目于 2023 年停止”,回答说“2024 年仍在运行”是内在幻觉;回答补充“项目由 500 人开发”,材料未提且无其他可靠来源,则是外在、未支持断言。
| 类型 | 典型表现 | 优先治理 |
|---|---|---|
| 事实幻觉 | 人名、日期、数值错误 | RAG、知识核验、拒答 |
| 引用幻觉 | 虚构论文、链接或页码 | 引用绑定、可访问性校验 |
| 推理幻觉 | 前提正确但结论不成立 | 程序验证、分步检查 |
| 指令幻觉 | 自称完成未执行的动作 | 状态机、结果回执 |
| 工具幻觉 | 虚构 API、参数或返回值 | Schema、白名单、真实执行 |
| 时效幻觉 | 把过期信息当最新事实 | 时间戳、实时数据源 |
评测时应把原子断言拆开。一个回答含 10 个可验证断言,其中 2 个无证据、1 个与证据冲突,可分别计算支持率 7/10=70%、无支持率 20% 和矛盾率 10%,比整段二元判错更有诊断价值。
完整版教学
1. 先定义什么算幻觉
一个断言是否是幻觉,必须相对于可用证据和任务边界判断。开放域问答以可靠外部事实为准,文档问答则通常要求回答严格受给定材料支持。
模型说“我不知道”可能不够有用,但不属于事实幻觉;模型给出合理猜测并明确标注不确定性,也应与把猜测包装成事实区分。
2. 内在幻觉与外在幻觉
内在幻觉可以直接从输入证据中发现矛盾;外在幻觉需要判断新增内容是否能由其他允许来源验证。
evidence -> claim
entails : 有支持
contradicts : 内在幻觉
unknown : 外在未支持,需要查外部来源或拒答
“unknown”不必自动判假,但在严格 grounded 任务中仍属于不可交付内容。
3. 事实型幻觉如何细分
事实型可按实体、属性、关系、数值和时间拆分。不同子类的验证工具不同:数值可执行计算,时间事实需带有效期,实体关系可查知识库。
| 子类 | 示例 | 验证手段 |
|---|---|---|
| 实体 | 把作者写错 | 实体链接、权威目录 |
| 属性 | 错写产品规格 | 结构化字段比对 |
| 关系 | 错称公司收购关系 | 多来源事实核验 |
| 数值 | 百分比相加错误 | 计算器、单元测试 |
| 时间 | 使用过期政策 | 时间戳与版本库 |
4. 引用幻觉为什么应单独处理
模型可能生成真实论文的错误作者,也可能完全虚构标题、DOI 和 URL。内容看起来学术化,会使用户更容易相信。
引用系统应让模型从检索结果中的稳定文档 ID 选择,而不是自由生成 URL;输出后验证 ID 存在、引用片段支持断言,并检查用户是否有访问权限。
有引用格式不等于有证据。真正的 grounded answer 需要“来源存在、来源可访问、来源支持当前断言”同时成立。
5. 推理幻觉与事实幻觉有什么区别
事实都可能正确,但推导无效。例如从“所有 A 都是 B”和“C 是 B”推出“C 是 A”,属于逆命题错误。
数学、代码和规划任务可用求解器、执行器、测试或模拟验证结果。让另一个模型评价推理只能作为信号,不能替代可执行验证。
6. 工具和行动幻觉有什么危害
Agent 可能声称“邮件已发送”“数据库已更新”,实际工具超时;也可能编造不存在的工具参数。此类幻觉会造成真实业务状态误判。
系统必须区分计划、调用请求、执行结果和最终陈述。只有收到可信工具回执后,模型才能声称动作成功;失败和未知状态必须显式传播。
7. 时间与版本幻觉如何产生
模型参数中的知识有截止时间,检索索引和缓存也可能过期。回答“当前价格”“现行政策”时,缺少时间锚点就容易把历史信息当现状。
应在 Prompt 和证据中携带查询时间、数据更新时间与有效期;高时效任务要求实时工具,并在无法获取时明确说明。
8. 多模态幻觉有哪些特殊形式
视觉语言模型可能描述图片中不存在的物体、读错文字、错误计数,或把常识先验覆盖视觉证据。音频模型可能虚构说话内容和人物身份。
评测需对对象存在、属性、关系、OCR 和计数分别标注,并加入遮挡、低分辨率和反常识图片,防止模型仅凭语言先验得分。
9. 如何建立可用的幻觉标注规范
先把答案拆成最小可验证断言,为每个断言标注 supported / contradicted / unverifiable / subjective,再记录来源和证据片段。
标注员遇到证据不全时不能凭个人常识强判。双人独立标注加仲裁,并统计一致性;争议样本应反向更新指南。
10. 如何选择评测指标
可报告原子断言支持率、矛盾率、无支持率,以及严重度加权分数:
risk = Σ severity_i × I(claim_i is hallucinated) / Σ severity_i
还要评估选择性回答:模型在低置信时拒答是否能显著降低风险。只降低幻觉但把正常问题全部拒绝,不是可用方案。
11. 不同类型该如何治理
RAG 主要缓解知识和时效问题,不会自动修复逻辑推理;结构化输出主要约束格式,不保证事实;更大模型也不能保证零幻觉。
治理应按故障类型组合:检索与引用绑定、计算和代码执行、工具状态机、输出断言核验、置信路由和人工审批。
还要建立失败归因数据:记录检索是否命中、证据是否正确、模型是否忠实引用、核验器是否拦截。否则最终只看到“答案错了”,团队无法判断应优化索引、生成模型还是交付门禁。
12. 常见误区与追问
- 误区:回答错误都叫幻觉。 解析失败、指令不遵循和业务规则错误应区分,治理方式不同。
- 误区:上下文没写的内容一定是假的。 它可能真实但未支持;在 grounded 任务中不可交付,但语义上应标为未验证。
- 误区:加上 RAG 就不会幻觉。 检索可能失败,模型也可能歪曲证据或加入额外断言。
- 误区:有 URL 就不是引用幻觉。 链接可能不存在、不可访问或不支持当前主张。
- 误区:拒答越多越安全。 过度拒答会损害帮助性,应联合评估覆盖率和风险。
- 追问:如何评估长答案? 拆原子断言逐条判定,并按严重度聚合。
- 追问:工具返回失败但模型说成功属于哪类? 属于行动/工具幻觉,应由执行状态机阻断。
13. 加强记忆
- 两大关系:与证据矛盾是内在幻觉,无证据支持是外在幻觉。
- 六类故障:事实、引用、推理、指令、工具、时效。
- 原子评测:先拆断言,再标支持、矛盾、未知和主观。
- 按类治理:知识用检索,计算用执行,动作看回执,引用做绑定。
- 联合目标:降低幻觉时还要保持覆盖率和正常帮助性。