人人都会AI编程

15.1 提示词优化

更新时间:2026-07-12

RAG 系统生成答案的质量,最终取决于大语言模型能否正确理解任务、善用检索结果并输出期望的格式。即便知识库质量很高,如果提示词设计不当,模型仍可能出现遗漏关键信息、格式错乱或随意发挥等问题。提示词优化,就是通过系统性调整发送给模型的指令,使其在给定资料下稳定发挥出最佳表现。

1. 提示词优化的核心原则

一个好的 RAG 提示词应当具备以下特征:

  • 明确任务与边界:开门见山地告诉模型它需要做什么、不需要做什么。例如“你是一个基于内部文档回答员工问题的助手,请仅使用提供的资料作答。如果资料中没有相关信息,直接说明‘未找到相关记录’。”
  • 规范使用检索结果:要求模型严格按照检索资料回答,避免从自身知识中补全。可明确指令:“请严格依据下方【参考资料】回答,不得添加外部信息。”
  • 结构化输出:根据业务需要规定回答的格式,如分点作答、添加引用标记、限制长度等。这能提高答案的可读性和后续处理效率。
  • 给出一致性约束:对术语、语气、人称等做出明确要求,避免回答风格跳变。例如“使用正式书面语”“对用户统一称呼‘您’”“金额保留两位小数”等。

2. 常用优化技巧

技巧一:设定角色与场景

用一句话为模型设定专家身份,能有效收敛其输出范围。例如:

“你是一位熟悉公司人力资源政策的专家,正在回答内部员工的提问。”

这种角色设定虽不能替代知识内容,但会让模型的语气和措辞更贴近业务场景,减少过于泛化的表述。

技巧二:将检索结果结构化嵌入提示

检索到的文档片段不应简单堆砌,而应带上来源标识和简要说明,帮助模型理解每条信息的权重和关系。例如:

参考资料:
[1] 《员工手册》第3.2节:年假天数为18天,入职当年按比例折算。
[2] 《2025年福利调整公告》:未休年假工资折算比例调整为250%。

这样的结构能让模型更准确地进行引用,也方便后处理提取引用标记。

技巧三:防止“过度自信”——教会模型说不知道

RAG 最怕的是资料不足时模型强行编造。提示中必须明确设置禁止编撰的规则。例如:

“如果参考资料不足以回答,请直接回复‘在现有资料中未找到相关信息’,不要自行补充。”

这句话本身很简短,但在实际测试中能显著降低幻觉发生率。

技巧四:指定引用格式以加强可验证性

要求模型在回答中注明出处,一方面便于审核,另一方面也能反过来约束模型,使其更忠于原文。例如:

“每个要点后请标注所依据的资料来源编号,例如【来源:1】。”

这样生成的答案既方便定位原文,也能在测试时快速验证模型的忠实度。

技巧五:控制回答长度与详略

根据场景要求设定输出长度,避免过于简短或冗长。例如客服场景可以限制为“请用3句话以内回答”,分析场景则可要求“请提供详细解释,必要时分点叙述”。

技巧六:提供正反示例(Few-shot)

在提示词中附上1~2个问题和标准回答的示例,能迅速让模型理解输出格式和质量要求,尤其适用于输出结构复杂的场景。示例不需要多,但要精确代表目标风格。

3. 迭代优化路径

提示词优化是一个需要反复验证的过程,推荐按以下步骤进行:

  1. 建立测试集:收集20~50个真实且有代表性的问题,标注出期望答案中必须包含的关键信息及引用位置。
  2. 基线测试:使用初始提示词跑测试集,记录回答准确率、引用正确率、幻觉次数、格式合规率等指标。
  3. 逐项调整:每次只修改提示词的一个部分(如角色设定、引用要求、防编造指令),重新测试并对比关键指标的变化。
  4. 引入模型打分辅助:对于较大规模的测试集,可以另搭一个评估模型或编写规则,对回答进行自动评分,加快迭代速度。
  5. 上线后监控与反馈:收集用户点赞/点踩、人工抽检数据,持续发现提示词薄弱点(如特定类型问题格式易出错),再针对性地优化。

4. 一个优化前后对比示例

优化前:

你是一个问答助手。参考下面的资料回答问题。
资料:
{检索结果}

此时模型在资料不足时可能自由发挥,且回答格式不统一。

优化后:

你是一位公司政策问答专家,任务是基于提供的参考资料为员工提供准确答案。
要求:
- 仅根据【参考资料】作答,不得添加外部信息。
- 如果资料不足以回答,直接说“未找到相关记录”。
- 回答中每个要点后标注来源编号,格式为【来源:编号】。
- 语言简洁,使用正式书面语,称呼用户为“您”。

【参考资料】
{带编号的检索结果}

现在请回答以下问题:{用户问题}

优化后的版本在规范性、抗幻觉能力和可追溯性上都显著提升,且结构清晰,便于工程中维护。

5. 实用建议

  • 保持提示词简短:指令过多模型可能忽略,每项要求应精炼且必要。
  • 避免否定式指令的歧义:与其说“不要用复杂句子”,不如说“请使用简短、直接的表达”。
  • 将提示词纳入版本管理:提示词是系统的一部分,任何修改都应记录,以便回溯问题。
  • 考虑模型差异:不同模型的指令遵循能力不同,切换到新模型时务必重新验证提示词效果。

提示词优化不是一次性工作,而是一个随着业务需求和用户反馈持续打磨的过程。将其视为与维护知识库同等重要的环节,才能让整个 RAG 系统输出稳定且可依赖的答案。