← 返回题目列表

如何通过 Prompt 降低大模型幻觉?为什么不能只写"不要编造"?

高频 中等 第 2 / 25 题 更新于 2026/07/25
Grounding幻觉引用拒答

简化版

「不要编造」只是行为提示,给不了模型缺失的事实。真正有效的做法是:提供可信证据(Grounding)、限定回答范围、要求逐项引用、规定证据不足时拒答,并用程序核验引用和关键字段。Prompt 能降低幻觉概率,不能彻底消除——因为「正确生成」和「合理编造」来自同一套「预测下一个最可能 token」的机制。

详细版

可靠回答 Prompt 应明确:

  1. 只依据给定资料,不用参数记忆补事实;
  2. 每个关键结论标注来源/片段 ID
  3. 资料冲突时列出冲突,不自行选一个;
  4. 证据不足时返回「无法从资料确认」;
  5. 区分资料事实 / 合理推断 / 建议
  6. 采样参数符合任务(事实任务用低随机性);
  7. 输出后由程序检查引用存在性和字段合法性

需要最新/私有/可追溯知识时,用 RAG、数据库、工具。降低随机性提高稳定性,但不会把错误知识变正确

完整版教学

一、为什么一句禁令解决不了幻觉

语言模型的目标是「生成上下文里可能出现的文本」,不是查询内置真值数据库。当问题超出知识或证据不足时,它仍会补全一个语言上合理的答案:

问:"X 公司 2023 年营收是多少?"(模型没有这个数据)
"不要编造" → 模型仍可能输出 "约 12.5 亿美元"(一个合理但瞎编的数)

「不要编造」告诉了偏好,却没给判定真假的机制。想降幻觉,必须同时改善信息来源 + 任务边界 + 验证流程三件事。

二、Grounding:让答案建立在证据上

Grounding 的核心是「把回答锚定在指定证据上」。Prompt 把资料放进清晰数据区,要求模型只用这些资料,并对每条结论附来源

仅根据 <docs> 中的资料回答。每个结论后标注 [doc-id]。
资料未提及的,回答"资料未涉及",不要用常识补充。
<docs>
  <doc id="A">2023 年营收 8.2 亿元...</doc>
</docs>
问题:2023 年营收多少?
期望输出:8.2 亿元 [A]

但要清醒:资料本身可能错、过期、冲突——所以 Grounding 保证的是「对资料忠实」,不自动保证「现实世界正确」。

三、拒答条件要具体

只写「不知道就说不知道」仍太模糊。要给可判定的规则:

  • 找不到直接支持时不得下结论;
  • 缺哪些信息要明确列出;
  • 不允许根据相似案例推断具体数字
  • 来源冲突时展示双方版本和日期
  • 无权访问所需资料时说明权限限制

注意:拒答也要评估——过度保守(什么都拒)会损害可用性(见过度拒绝)。

四、引用 ≠ 有证据(Citation Correctness)

一个隐蔽且高频的坑:模型可能引用一个真实存在、但并不支持结论的片段,甚至编出不存在的页码

结论:"该药可用于儿童 [doc-3]"
但 doc-3 实际写的是"该药禁用于 12 岁以下儿童"  ← 引用真实,却曲解原意

所以应用要检查 Citation Correctness——引用文本是否真的蕴含对应陈述,而不只是「链接格式对」。高风险场景可把答案拆成原子声明,逐条判断证据支持。

五、事实、推断、建议要分层

要求模型分别标注三类内容,减少用户把「模型建议」误当「资料事实」:

类型含义例子
事实资料直接陈述「资料 A 说营收 8.2 亿」
推断由多个事实推导(说明依据)「结合 A、B,同比增长约 15%」
建议面向行动的判断(非原文结论)「建议关注现金流」

六、外部工具与评估

工具求真:实时价格/库存/账户查 API;数学交给计算器;政策检索当前版本;代码运行测试。Prompt 负责「何时调用、怎么表达」,确定性系统负责「提供可验证结果」。

评估:建含可回答 / 不可回答 / 冲突证据 / 诱导性问题的测试集,测事实正确率、忠实度、引用支持率、拒答准确率、严重错误率。

记忆钩子:低 Temperature 让模型更稳定地选高概率输出,也可能更稳定地输出同一个错误答案——调温度治不了幻觉。

七、常见误区与追问

  • 误区:写”不要编造”就能降幻觉。 那只是偏好,给不了缺失事实,要 Grounding + 拒答 + 验证。
  • 误区:给了引用就说明有证据。 引用可能不支持结论甚至是编的,要核验 Citation Correctness。
  • 误区:降 Temperature 能消除幻觉。 只增稳定性,可能更坚定地重复同一个错误。
  • 追问:为什么禁令无效? 模型优化「预测可能文本」而非查真值,证据不足时仍补合理答案。
  • 追问:Grounding 保证什么、不保证什么? 保证对资料忠实,不保证现实正确(资料可能错/过期/冲突)。
  • 追问:拒答规则怎么写才可判定? 无直接支持不下结论、列出缺失信息、冲突展示双方、无权限说明限制。
  • 追问:怎么评估降幻觉效果? 用可答/不可答/冲突/诱导测试集,测事实率、忠实度、引用支持率、拒答准确率。

八、加强记忆

降幻觉记「四可 + 一验证」:让答案有资料可依(Grounding)、有边界可守(限定范围)、有证据可查(逐项引用 + 核验 Citation Correctness)、缺资料可拒答(具体拒答条件),最后由程序或人工验证。核心认知钉死:「不要编造」是偏好不是机制、给了引用≠有证据(可能曲解原文)、低温≠更真实(会稳定地重复错误)。Grounding 只保证对资料忠实、不保证现实正确;求真交给工具,事实/推断/建议要分层标注。