RAG 检索增强提示词速查表 - 基于上下文作答与防幻觉
RAG 场景的提示词和普通问答不是同一类问题。普通问答里模型补全常识通常是对的,接上知识库之后同样的行为变成了幻觉:它会用训练时见过的说法去填补检索结果的空缺,读起来流畅但无法溯源。所以这一类提示词的核心动作不是「问得更好」,而是「划死边界并强制溯源」——把上下文包进带标签的区块、声明只依据区块作答、检索不足时明确说信息不足。这张表按五条线索组织:基于上下文作答、引用与融合、冲突与不确定性、检索质量配合、避坑。什么时候该翻它:答案读着顺但点开引用发现引文并不支持结论——这说明引用只是形式;或者多段证据互相矛盾时模型悄悄选了其中一个。另一个高频场景是用户问了文档根本没写的东西,此时正确的输出是标注覆盖缺口并说明缺什么,而不是给一个听起来合理的猜测。
基于上下文作答 5
仅使用下面<context>中的内容作答,不得引入外部知识。问题:{q}
<context>{c}</context>用<context>中的原话支撑每个结论,并标注段落编号若<context>不足以回答,明确说"信息不足",不要猜测先给一句话结论,再列支撑证据(含出处)把<context>转成 FAQ,每条都附来源段落引用与融合 5
每条结论后加[1][2]指向对应上下文块综合段落 A 与 B 的观点,指出一致与分歧按时间线梳理<context>中的事件(标出处)提取可执行的行动清单,逐条标来源生成术语表,术语解释附上下文出处冲突与不确定性 5
若不同段落矛盾,分别列出并说明无法裁定标出<context>未覆盖的方面(覆盖缺口)对结论标注置信度:高/中/低及理由区分"上下文明确说"与"可合理推断"敏感事实要求交叉验证多个段落检索质量配合 5
提示中要求"忽略无关上下文块"要求按相关性重排后再答长文档先分块再逐块问让模型指出哪些块最相关低相关时直接拒答而非硬编避坑 5
上下文边界要写死引用需人工复核准确性召回杂质靠提示+重排双保险拒答比硬答更可信矛盾别强行统一提示
- RAG 提示词的灵魂是"把模型锁死在检索到的上下文里"——明确的"仅基于<context>作答、不得引入外部知识"边界是防幻觉的第一道关。
- 引用出处(块编号/段落)让结论可追溯,但 AI 引用偶有误挂,关键事实仍需人工复核。
- 冲突标注与置信度分级比强行统一更专业;召回杂质要靠"提示要求忽略无关块"+重排器双保险。
- 低相关时直接拒答,比硬编一个答案更可信——底线优先于完整度。
[1][2]的编号必须与检索器实际返回的块顺序一致,否则引用会指到相邻段落。- 先让模型自报哪几块最相关,再让它作答,是发现召回杂质最省事的排查顺序。
- 长文档先分块再逐块问,比一次性塞进单条提示更稳,出了问题也容易定位到具体块。
常见问题
RAG 系统里模型为什么会用到检索之外的知识?
因为没把边界写死。模型会用训练时的记忆去补全,而这种回答看起来流畅却无法溯源。有效做法是明确划界:「仅使用 <context> 中的内容作答,不得引入外部知识」,并且要求它「用原话支撑每个结论并标注段落编号」。当检索内容不足以回答时,明确允许它说「信息不足」,比让它硬答更可信。
检索召回的片段很杂,怎么提升回答质量?
单靠提示词不够,要提示与重排双管齐下。提示层面要求模型「忽略无关上下文块」并「按相关性重排后再答」;系统层面加一个 reranker 对召回结果重排。同时在切分策略上做改进——长文档先分块再逐块问,避免整篇塞进去被截断。召回质量是上限,提示词只能在上限内发挥作用。
检索到的几段内容互相矛盾时该怎么办?
不要让模型强行统一。正确的指令是「若不同段落矛盾,分别列出并说明无法裁定」,同时要求它「区分『上下文明确说』与『可合理推断』」。诚实标注冲突的专业度反而更高,强行调和只会产出看似确定的错误结论。对高风险场景,还可以要求交叉验证多个段落后再下判断。
为什么要让模型标注引用来源?
因为这既是准确性的保障,也是人工复核的入口。要求「用原话支撑每个结论并标注段落编号」,你就有了逐条验证的手段——顺着编号回查上下文即可确认结论是否成立。AI 引用偶有偏差是常态,靠人工抽检成本高;有编号才能快速定位需要复核的那一条。
检索不到相关内容时应该怎么表现?
应该明确拒答。指令写成「若上下文不足以回答,明确说信息不足,不要猜测」,并在相关度低时直接拒答而非硬编。这看似降低了回答率,实际提升了系统可信度——一个会承认不知道的检索系统,在专业场景里比什么都敢答的更值得依赖。
由 巧匠 维护
公开更新于 2026年8月23日,内容持续校对官方文档。