人人都会AI编程

4.2 提示词工程在 RAG 中的作用:指令约束、格式规范、引用要求

更新时间:2026-07-12

在 RAG 系统中,检索模块负责“找什么”,而生成模块负责“怎么回答”。决定生成模块行为的关键,不是模型本身,而是喂给它的提示词(prompt)。提示词工程的核心任务是:通过精心设计的指令和上下文结构,让模型在给定检索结果的基础上,产出准确、可用、符合业务预期的答案。

在 RAG 的典型链路中,提示词并非简单的“请回答问题”,它要同时完成三项核心功能:指令约束、格式规范、引用要求

1. 指令约束:明确模型的“答题规则”

检索到的文档片段是回答的素材,但如果模型不遵守既定的使用方式,这些素材就形同虚设。指令约束的作用是划定模型的生成边界和行为准则。

常用的指令约束内容包括:

  • 回答依据限定:“仅使用下方提供的资料回答问题。如果资料中没有相关信息,请直接回复‘在现有资料中未找到相关内容’。”

这是 RAG 提示词中最关键的一句。它能防止模型在找不到答案时,动用自身存储的内部知识强行填补,从而避免幻觉。

  • 角色与场景设定:“你是一个严谨的内部技术支持助手,回答应当专业、准确。”

角色设定有助于模型调整语言风格和严谨程度,使生成结果更契合实际使用场景。

  • 多义问题的澄清指引:“如果问题存在歧义,请指出并按最可能的理解作答。”

对于可能被曲解的提问,这一指令让模型的应答更具容错性。

  • 禁止编造信息:“绝对不要编造、推测或引入资料之外的事实。”

通过明确的否定性指令,进一步收紧模型的自生成空间。

示例对比

  • 不加约束:“我们的笔记本电脑支持快充吗?” → 模型可能泛泛地回答:“支持,多数笔记本都支持 PD 快充。”
  • 加上约束:“仅根据以下产品技术文档回答……” → 如果文档中未明确说明,模型会诚实回复:“现有资料中未提及该型号支持快充。”

约束越具体,回答越可预期。实践中建议用清晰、无歧义的短句,将最关键的规则放在提示词的开头或结尾,避免被长上下文冲淡。

2. 格式规范:让回答“机器可读、人易用”

RAG 系统生成的回答往往不只用于人工阅读,还可能被下游程序解析或集成到用户界面中。一致的输出格式可以大幅降低后处理复杂度。

格式规范通常包括:

  • 内容结构要求:“回答请按以下结构组织:① 直接结论;② 详细说明(如有);③ 参考来源。”

这样用户一眼就能看到核心结论,不满意时再往下阅读细节。

  • 列表、段落等排版约定:“如果回答包括多个要点,请使用无序列表展示。”

列表式回答视觉上更清晰,尤其适合步骤类、对比类信息。

  • 关键信息的标记方式:“金额、日期、条款编号等关键数据请加粗显示。”

便于用户快速定位核心数字或条款。

  • 回答长度控制:“总结性回答不超过 150 字,详细解释可酌情扩展。”

避免模型在检索到大量信息时生成冗长的回复,节省推理成本和用户时间。

在真实业务中,输出格式的不统一是导致“RAG 虽然能答对但不好用”的常见原因。工程师花费大量时间编写后处理正则,远不如在提示词中就约定好格式来得经济。

实用建议:提供一两个期望格式的示例(few-shot),能显著提升格式遵从率。例如在提示词中加入:

期望回答格式示例:
答复:支持 USB-C 65W 充电。
依据:X200 技术规格书第 3 页。

在模型看到明确的格式示范后,实际生成会规范得多。

3. 引用要求:让溯源成为强制动作

RAG 的溯源能力只有真正落地到回答中才具有价值。提示词是驱动模型在回复时附上来源信息的最直接工具。

引用要求可以细化为:

  • 来源内容选择:“在回答的末尾,请逐个引用你使用过的资料片段,并标注其来源文件名和章节。”

模型是根据提示词中的片段内容生成回答的,这些片段通常会携带元数据(如来源文件名、段落编号)。要求它明确列出参考来源,就是将这些元数据放到回答中。

  • 内嵌引用格式:“如果回答中直接使用了某资料的某一句话,请在该句后用【来源:文件名,章节】标出。”

这种方式显得更专业,适合合规和审计场景。

  • 强制引用原则:“任何陈述,只要是从资料中得出的,都必须引用来源。”

这能迫使模型在回答中保持引用意识,而不是只有部分事实附出处。

  • 引用格式统一:“引用格式:[文档名] > [章节/页码]”。

保持统一便于前端样式化,例如将引用转换为超链接。

实际示例
提示词片段:

根据下方提供的资料片段回答问题,并在每个事实陈述后标注来源,格式为【文档名,章节】。
资料1:来源《员工手册》第3章,内容:年假时间为15天。
资料2:来源《福利补充说明》第2条,内容:未休年假可按200%折算工资。
问题:今年的年假政策是什么?
回答:
年假时间为15天【员工手册,第3章】。未休完的年假可以按200%折算成薪资【福利补充说明,第2条】。

这样生成的回答,审查者能立刻核对,用户也能深度溯源,实现了 RAG 的完整价值闭环。

4. 三者如何协同:一个完整的 RAG 提示词模板

实际工程中,指令约束、格式规范和引用要求往往融合在一份提示词中。以下是一个可直接使用的模板范例:

你是一个企业知识库助手。请严格按照以下规则回答问题:

1. 仅使用下方【参考资料】中提供的信息作答。如果资料无法回答问题,请回复“抱歉,现有资料中未找到相关信息。”绝不要编造、补充或推测任何事实。
2. 回答结构:先给出简洁的结论,再展开详细说明(若有必要)。
3. 如果信息分多个要点,请用无序列表呈现。
4. 每个事实陈述后必须标注引用来源,格式为:【文档名,章节】。
5. 回答语气专业、平实,避免过度修辞。

【参考资料】
{检索到的文档片段,每条附来源元数据}

【用户问题】
{用户输入的问题}

请回答:

这个模板将三大作用融为一体,既约束了行为,又规定了输出形状,还强制了溯源,可直接部署到绝大多数 RAG 业务中。

5. 避坑与优化建议

  • 提示词过长可能适得其反:如果指令过多或检索片段过长,模型可能忽略靠后的规则。建议将约束性规则放在提示词开头,片段放在中部,问题放在结尾。
  • 格式要求与模型能力匹配:小型模型对复杂格式遵从度较低,可适当简化要求,或采用 post‑processing 兜底。
  • 引用信息可能暴露内部元数据:如果引用中包含超出用户权限的内部路径,前端应做过滤处理。
  • 持续测试与迭代:提示词的优化是一个经验性工作,建立“问题‑回答‑期望格式”的测试集,迭代调整措辞,直到输出稳定达标。

提示词工程虽然不涉及模型训练,但在 RAG 效果调优中占据了非常重要的位置。好的提示词能把检索到的信息“榨干”用足,差的提示词则可能让整套系统输出的严谨性大打折扣。将指令约束、格式规范与引用要求作为一个整体来设计,是让 RAG 从“能答对”走向“真正好用”的关键一步。