前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库引用证据 降低幻觉 提示词设计
AIAI 开发提示与上下文设计

如何设计提示词让模型先引用证据再作答以降低幻觉?

要降低幻觉,可要求模型先逐条摘录输入原文并编号,再基于这些引文作答。这一结构有助于把生成锚定到给定材料,引导模型在缺失证据时声明不知。

前端进阶之旅 · 一题精讲更新于 2026.09.05
AI 开发#提示与上下文设计#Prompt
先看核心答案
理解线索

证据前置推理约束

  1. 步骤分离先摘录后综合,顺序不可颠倒
  2. 引用锚定每条结论必须挂到引文编号
  3. 缺失显式无证据只能拒绝猜测

只约束对给定材料的忠实,不排除材料本身错误。

核心回答

先记住这个答案

提示词两步走:第一步命令模型定位并举出相关的原文句子,每条前面加序号;第二步才允许作答,且结论必须带对应编号。若找不到支持句,应要求其说“未找到证据”。原理是摘录步骤把输出约束到尽量贴近输入的句子,后续又因引用约束而抑制游离,减少编造路径。

  • 先摘录原文并编号,再作答
  • 无证据时必须声明未找到
  • 引用约束让输出可审计

生成空间收缩机制

模型自回归逐个预测token,并不区分训练知识和现场输入。直接提问时,它倾向于复用统计关联,把记忆中的事实混进回答。要求先摘录时,第一步被要求从当前输入中摘录连续文本,输出被约束为尽量与输入一致,从而抑制外部知识自由拼接。

摘录后再作答时,模型还需将判断指向编号句子。摘录结果先出现在上文,自注意力得以重新聚焦这些token,相当于引入隐式中间变量。最终回答更多条件于摘录集合而非全部参数记忆,从而减少与材料无关的自由组合。

合同审阅中启用引用验证

输入是一份120页租赁合同,提示词规定:先扫描全文,只摘录与“甲方违约责任”直接相关的条款原文,每条单独成行并编号;之后才能回答甲方责任严苛与否,且必须引用编号;若无条款涉及则回复“合同未约定”。输出呈现为“第7.2条:每日赔偿月租金1%”这样的片段,审阅者可直接去原文核验。假设以50份合同作为模拟评估场景,可预期该结构能降低无出处结论的比例,但实际效果会因模型和提示写法而异,且每次输出可能消耗额外token用于呈现原文片段。

预期输出为“第7.2条:每日赔偿月租金1%”等摘录片段。若进行对比测试,未加该结构的回答常出现找不到出处的结论,加上后有所降低,但具体数字需针对模型与数据集实测,且输出会因摘录原文而增加token消耗。

失效条件和取舍

证据自身互相矛盾时,摘录会忠实展示双方,但模型在最后综合阶段仍可能只挑支持预设结论的一方并编号,另一方被隐藏。此时必须追加指令“列出全部对立证据并说明取舍理由”,否则会产生漏证型偏差。

另一种超长场景中,全量摘录占用大量输出预算,压短结论导致回答不完整。解法是限定每条约30字、总数不超五条。但若输入已是他人写的摘要,这一步只能保证对摘要忠实,无法还原底层文档中已丢的细节。

回答前,多想一步

容易答错的地方

以为说“请引用原文”就够
该指令没规定输出顺序,模型通常先写结论再补泛泛的引用,甚至自行拼出格式相近的假引文。必须要求摘录必须整句摘抄、带序号连续列出,且结论只能出现在摘录之后。
把证据前置当成消除幻觉万能药
它只阻止脱离给定文本的捏造,却无法防止把甲条款语义迁移到乙条款、无法检查原文真伪。涉及多份文档冲突时,还要外加交叉核对提示,否则仍会产生错误综合。
试着用自己的话回答

面试官还会怎么问?

上下文特别长时,摘录步骤会不会失控?

会。可以先加“跳过与问题无关的段落”做预筛,再把候选片段切成小块分多次处理。更稳妥是把长文档拆解成多次推理,每次只对某一章做摘录再汇总。

模型说“未找到证据”,可信吗?

不可直接信。模型可能漏掉用同义词表述的段落。应要求它二次改写检索词后再找,并把接近但不完全相同的句子也列出,标注相关度后再决定是否采纳。

为什么摘录必须放在回答前,而不是用其他格式标记?

因为自回归生成时前面已输出的token是后续预测条件。先写摘录等于把事实集合前置进局部上下文,后续引用才有据可依;放后面的摘录无法参与前面的推理。

从一道题,走向一组知识

把知识连起来

提示与上下文设计

当系统提示词与用户指令冲突时,模型应遵循哪一层级?

同属「提示与上下文设计」专题,接着看 系统提示 用户指令 冲突 优先级 在具体场景中的处理方式。

提示与上下文设计

为什么提示词中明确直接的指令比委婉暗示更有效?

同属「提示与上下文设计」专题,接着看 提示词工程 明确指令 直接表述 在具体场景中的处理方式。

参考资料

  • Features overview - Claude Platform Docs

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 生成空间收缩机制
  3. 合同审阅中启用引用验证
  4. 失效条件和取舍
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑