灵感卡片
logo
思维工具
Agent应用
提示词库
高校创赛
商业分析
工程文档
写作助手
益智游戏
系统模拟
其他应用
京ICP备2023011506号-1 京公网安备11010802047461号
Theme HeoLink by Halo
Administrator

检索增强生成(RAG)的提示词设计

2026-10-19

RAG 的提示词重点不在"问得好",在"约束得住"

检索增强生成(RAG)的做法是先把相关资料检索出来,连同问题一起交给模型。很多人把精力全花在问题上,结果模型照样答偏。原因是:一旦资料进了上下文,模型会忍不住把资料里所有相关内容都倒出来,或者反过来忽略资料、用自己的训练知识作答。

RAG 提示词的核心任务,是让模型只依据给定资料回答,并且在资料不足时明确说不足。

一、基本结构

【指令】
你是(角色)。请只依据下面提供的资料回答问题。
资料中找不到答案时,直接回答"资料中未提供",不要使用你自己的知识补充。

【资料】
<资料 1>
(内容)
</资料 1>

<资料 2>
(内容)
</资料 2>

【问题】
(用户问题)

【输出要求】
1. 先给结论,再给依据
2. 每条依据后面标注来源编号,格式为[资料 N]
3. 如果多份资料互相矛盾,指出矛盾并分别列出,不要自行选择其中一方
4. 不要引入资料之外的背景知识
5. 回答长度控制在(N)字以内

其中最关键的是第 1 行的「只依据资料」和「未提供时怎么办」这两句。缺了它们,模型会用训练知识填补空白,而填补的内容你无法验证来源。

二、资料要编号并加标签

把每段资料用独立的标签包起来并编号,有三个作用:

  • 模型能明确区分「资料结束」和「指令重新开始」,减少把资料内容当指令执行的风险。
  • 输出可以要求标注来源,方便你核对答案是否真的来自检索结果。
  • 多段资料互相矛盾时,能定位到具体是哪两段冲突。

如果检索结果自带元数据(标题、时间、来源),一并放进标签里。模型可以用这些信息判断时效性——例如当两份资料冲突时,优先采用时间较新的那份,并在输出中说明这个选择。

三、资料的位置会显著影响结果

上下文很长时,模型对开头和结尾的内容更敏感,中间部分容易被忽略。实用规则:

  1. 把最相关的资料放在最前面,而不是按检索分数从低到高排列。
  2. 资料不要太多。八段资料里只有两段相关时,模型容易被无关段落带偏。宁可少而准。
  3. 把问题放在资料之后,紧挨着输出要求,这是模型注意力最集中的位置。
  4. 超长资料先压缩再放入。把 10 页原文直接塞进去,关键信息反而被稀释。

四、四类典型失败及对应约束

失败表现原因加什么约束
答案里出现资料中根本没有的信息模型用训练知识补全「不要使用资料之外的知识;无法从资料得出的内容不要写」
把资料大段复述一遍没有说明要回答什么层面「只回答被问到的部分,不要复述资料原文」
被无关资料带偏资料堆太多、无排序「只使用与问题直接相关的资料,明确说明哪些资料与问题无关」
该说不知道时硬答缺少信息不足时的出口「资料不足以回答时,输出『资料中未提供』并列出还需要什么信息」

五、验证答案是否真的基于资料

输出看起来通顺不代表它读了资料。三个检查办法:

  • 把某段关键资料删掉再问一次。如果答案没变,说明模型根本没用那段资料。
  • 问一个资料里明确没有的问题。正确答案是「未提供」。如果它答了,说明约束没生效。
  • 检查来源标注。要求模型标注[资料 N]之后,抽查标注是否真的对应。标注错了说明它没在逐段读。

常见误区

  • 只优化检索,不优化提示词。检索再准,提示词没约束住,输出照样跑偏。
  • 以为资料越多越好。无关资料是干扰项,会显著降低准确率。
  • 把「未提供」当成失败。正确地承认资料不足,比编一个像样的答案有价值得多。
  • 不要求标注来源。没有来源标注,你无法验证,也无法在出错时定位到是哪段资料的问题。

延伸阅读

如果任务需要多步推导而不只是检索,见思维链的适用边界。约束怎么写才可执行,见角色/任务/约束三分法。