在搭建企业知识库问答机器人的过程中,很多团队都会遇到同一个尴尬现象:明明向量检索已经召回了正确的文档片段,模型给出的回答却依然一本正经地胡说八道。有人把问题归结为模型能力不行,于是不断更换更大的模型;也有人怀疑是切片策略有问题,反复调整chunk大小。但实践中最常见的根因,其实出在提示词上——没有告诉智能体如何正确使用检索结果。本文将围绕RAG场景下的知识检索提示词设计展开,给出一套可直接落地的提示词模板,并逐条解释每部分规则背后的考量。

为什么RAG智能体的提示词和普通对话提示词不一样
普通的对话式提示词只需要定义角色和语气,模型基于自身参数中存储的知识即可作答。但RAG智能体的工作方式完全不同:检索器先把用户问题转换成向量,从知识库中召回若干文档片段,再把这些片段连同用户问题一起塞进上下文窗口,由模型生成最终回答。这意味着模型面对的信息源发生了变化——它手里既有检索结果,也有自己预训练时记住的知识,两者的可信度并不相同。
如果不加约束,模型很容易出现两类问题。第一类是知识溢出:检索结果里没有相关内容,但模型凭借自己的记忆编造出一个看起来合理的答案,这就是典型的幻觉。第二类是知识冲突:检索片段中的信息与模型记忆相矛盾,比如知识库明确写了某个产品的退货周期是30天,而模型印象里是7天,这时模型往往会采信自己更熟悉的版本,导致回答与企业的真实规定不符。
因此,RAG场景下的提示词核心目标只有一个:让模型把检索结果当作唯一权威的事实来源,自身的参数知识只用于语言组织和常识推理,而不能作为事实依据。这个原则说起来简单,但要真正让模型稳定遵守,需要在提示词中写清楚多条细化规则,下面展开说明。
一套可直接套用的知识检索提示词模板
下面这套模板经过多个知识库问答项目的验证,包含角色定义、检索结果使用规则、拒答策略、输出格式四个部分。你可以根据自己的业务场景替换占位内容,直接投入使用。
# 角色
你是一名严谨的企业知识库助手,负责基于【检索到的知识片段】回答用户问题。
# 核心原则
1. 你只能依据下方提供的知识片段回答问题,禁止使用你自己记忆中的任何事实性信息。
2. 如果知识片段不足以回答问题,必须明确告知用户"当前知识库中未找到相关信息",并建议用户换个问法或联系人工客服。
3. 如果多个知识片段之间信息冲突,优先采信编号更靠前(相关度更高)的片段,并在回答中指出存在不一致。
# 检索到的知识片段
片段1(来源:产品手册 v3.2):
{chunk_1}
片段2(来源:客服问答库):
{chunk_2}
片段3(来源:政策文档):
{chunk_3}
# 回答要求
1. 回答必须包含三部分:结论、依据说明、来源引用。
2. 来源引用格式为 [片段N],标注在依据说明之后。
3. 引用片段原文时保持原样,不得改写数字、日期、名称等关键信息。
4. 如果用户问题与知识片段完全无关,直接说明无法回答,不要尝试延伸。
# 输出示例
结论:退货周期为30天。
依据:根据产品手册规定,自签收之日起30天内可申请无理由退货 [片段1]。这套模板中有几个细节值得注意。首先,把禁止使用模型自身知识写成显式规则,比笼统地说"请基于上下文回答"有效得多,因为后者无法阻止模型在上下文缺失时用记忆补位。其次,来源引用的要求会倒逼模型在生成每个论断时回头核对片段内容,相当于在推理阶段内置了一次自检机制。最后,输出示例(few-shot)的作用不容小觑,它把抽象的格式要求变成了模型可以直接模仿的具体样例,能显著降低格式漂移的概率。
关于冲突处理规则,采信编号靠前的片段是一种简单实用的策略,因为向量检索返回的结果通常按相关度排序。如果你对准确性要求更高,可以在召回后增加一层重排序模型(reranker),让片段顺序本身就更可靠,提示词中的这条规则也就随之受益。
常见误区与进阶调优技巧
第一常见的误区是提示词里塞入了太多无关的规则。有些团队把公司介绍、品牌口吻、各种免责声明全部堆进系统提示词,结果核心的检索使用规则被稀释,模型注意力分散,遵守率明显下降。经验法则是:与事实准确性相关的规则优先级最高,放在提示词靠前的位置;语气类要求压缩到两三句话即可。
第二个误区是忽略了用户问题的改写环节。用户提问往往口语化、带省略,直接拿去检索效果不佳。更成熟的做法是在智能体流程中加一个查询改写步骤,先让模型把用户问题补全成独立完整的检索查询,再执行向量检索。这一步同样可以用提示词控制,示例见下方代码。
# 查询改写提示词
你是一个查询改写器。请将用户的口语化问题改写为适合向量检索的完整查询。
要求:
1. 补全代词和省略的主语,使问题脱离对话上下文也能被独立理解。
2. 保留用户问题中的专有名词和数字,不要替换或翻译。
3. 只输出改写后的查询本身,不要输出任何解释。
对话历史:
{history}
用户当前问题:{question}
改写后的查询:第三个可以显著提升效果的技巧是让模型先做答案定位再做总结。也就是提示模型先从片段中逐句摘出与问题相关的原文,再基于摘出的内容组织回答。这种两段式的推理方式虽然会多消耗一些输出token,但在复杂问题上能明显减少张冠李戴的情况。此外,建议在评估提示词效果时不要只靠人工抽查,可以准备一套包含"知识库内问题、知识库外问题、模糊问题"的测试集,分别统计回答准确率和拒答正确率,用数据驱动迭代。
最后要提醒的是,提示词不是一劳永逸的。知识库内容更新、模型版本更换、检索策略调整,都可能让原本稳定的提示词出现行为漂移。建议把提示词纳入版本管理,每次修改都跑一遍固定测试集,记录指标变化,这样才能保证智能体的回答质量长期可控。
AI智能体提示词RAG知识检索Agent提示词模板修改时间:2026-09-16 16:02:44