RAG Prompt 调优先固定检索结果再比较提示词一、RAG 调优最怕变量混在一起RAG 系统效果不好时大家很容易同时改 embedding、chunk、TopK、rerank、Prompt 和生成模型。改完发现回答变好了却不知道是哪一项起作用。Prompt 调优尤其容易被误判因为检索结果一变模型回答自然也会变。要评估 RAG Prompt第一步应该固定检索结果。让不同 Prompt 使用同一批问题和同一批证据再比较答案质量。否则 Prompt A 看到了正确文档Prompt B 没看到结论就不公平。二、调优链路检索和生成分开评估flowchart TD A[问题集] -- B[固定检索结果] B -- C[Prompt A] B -- D[Prompt B] C -- E[答案 A] D -- F[答案 B] E -- G[评测对比] F -- G固定检索结果可以通过保存 TopK 文档 ID、片段文本和排序分数实现。每次 Prompt 实验都读取同一份证据。这样能更准确地比较提示词对引用、拒答、结构化输出和事实一致性的影响。如果要改检索策略就另开实验。检索实验看 RecallK、MRR 和证据覆盖Prompt 实验看答案忠实度、格式合法率和用户偏好。变量分开结论才干净。三、实验数据保存证据快照下面是一份证据快照结构。{ question_id: q_001, question: 如何重置 API Key, retrieved_docs: [ { doc_id: doc_12, chunk: 进入设置页点击 API Key 重置按钮..., score: 0.87 } ] }证据快照还能帮助复盘。某次回答错误时可以判断是证据本身不对还是 Prompt 没有正确使用证据。如果证据没有答案模型却编了答案那就是拒答规则不足如果证据有答案模型答错则是生成或格式问题。Prompt 中应明确要求引用证据不能使用证据外事实。对于无答案问题要要求模型说明“当前知识库没有足够信息”。RAG 的第一美德不是会说而是不乱说。四、评测指标忠实度比流畅度重要RAG 回答通常很容易写得流畅但流畅不代表可信。评测时应优先看事实忠实度、证据覆盖、引用正确率和拒答准确率。风格和语气可以后调事实边界不能让步。人工评估时可以让评审者同时看到问题、证据和答案判断答案是否完全来自证据。不要只看答案本身否则模型写得漂亮会影响判断。漂亮的错答案比朴素的拒答更危险。最后Prompt 调优要记录版本。一次小改动可能影响大量任务。固定检索结果、固定模型参数、固定评测样本才像实验不像祈愿。还要观察答案长度。某些 Prompt 会通过输出更长内容获得更高人工印象分但也带来 token 成本和用户阅读负担。RAG 回答不是越长越好能引用证据、覆盖关键点、少说无关内容才是真正的稳定。如果答案需要结构化输出评测里要单独统计 JSON 合法率或字段完整率。事实正确但格式解析失败在线上仍然是失败。工程系统看的是端到端成功不是模型自我感觉良好。Prompt 中还可以要求模型先判断证据是否足够再决定回答或拒答。这个步骤不一定要展示给用户但可以让输出更稳。对于证据不足的问题拒答模板要清楚说明缺少什么而不是简单说“无法回答”。好的拒答也是用户体验。五、总结RAG Prompt 调优要先固定检索结果再比较提示词效果。检索和生成变量分开才能定位问题。忠实度、引用正确率和拒答准确率比回答是否流畅更重要。
RAG Prompt 调优:先固定检索结果,再比较提示词
发布时间:2026/7/3 1:52:57
RAG Prompt 调优先固定检索结果再比较提示词一、RAG 调优最怕变量混在一起RAG 系统效果不好时大家很容易同时改 embedding、chunk、TopK、rerank、Prompt 和生成模型。改完发现回答变好了却不知道是哪一项起作用。Prompt 调优尤其容易被误判因为检索结果一变模型回答自然也会变。要评估 RAG Prompt第一步应该固定检索结果。让不同 Prompt 使用同一批问题和同一批证据再比较答案质量。否则 Prompt A 看到了正确文档Prompt B 没看到结论就不公平。二、调优链路检索和生成分开评估flowchart TD A[问题集] -- B[固定检索结果] B -- C[Prompt A] B -- D[Prompt B] C -- E[答案 A] D -- F[答案 B] E -- G[评测对比] F -- G固定检索结果可以通过保存 TopK 文档 ID、片段文本和排序分数实现。每次 Prompt 实验都读取同一份证据。这样能更准确地比较提示词对引用、拒答、结构化输出和事实一致性的影响。如果要改检索策略就另开实验。检索实验看 RecallK、MRR 和证据覆盖Prompt 实验看答案忠实度、格式合法率和用户偏好。变量分开结论才干净。三、实验数据保存证据快照下面是一份证据快照结构。{ question_id: q_001, question: 如何重置 API Key, retrieved_docs: [ { doc_id: doc_12, chunk: 进入设置页点击 API Key 重置按钮..., score: 0.87 } ] }证据快照还能帮助复盘。某次回答错误时可以判断是证据本身不对还是 Prompt 没有正确使用证据。如果证据没有答案模型却编了答案那就是拒答规则不足如果证据有答案模型答错则是生成或格式问题。Prompt 中应明确要求引用证据不能使用证据外事实。对于无答案问题要要求模型说明“当前知识库没有足够信息”。RAG 的第一美德不是会说而是不乱说。四、评测指标忠实度比流畅度重要RAG 回答通常很容易写得流畅但流畅不代表可信。评测时应优先看事实忠实度、证据覆盖、引用正确率和拒答准确率。风格和语气可以后调事实边界不能让步。人工评估时可以让评审者同时看到问题、证据和答案判断答案是否完全来自证据。不要只看答案本身否则模型写得漂亮会影响判断。漂亮的错答案比朴素的拒答更危险。最后Prompt 调优要记录版本。一次小改动可能影响大量任务。固定检索结果、固定模型参数、固定评测样本才像实验不像祈愿。还要观察答案长度。某些 Prompt 会通过输出更长内容获得更高人工印象分但也带来 token 成本和用户阅读负担。RAG 回答不是越长越好能引用证据、覆盖关键点、少说无关内容才是真正的稳定。如果答案需要结构化输出评测里要单独统计 JSON 合法率或字段完整率。事实正确但格式解析失败在线上仍然是失败。工程系统看的是端到端成功不是模型自我感觉良好。Prompt 中还可以要求模型先判断证据是否足够再决定回答或拒答。这个步骤不一定要展示给用户但可以让输出更稳。对于证据不足的问题拒答模板要清楚说明缺少什么而不是简单说“无法回答”。好的拒答也是用户体验。五、总结RAG Prompt 调优要先固定检索结果再比较提示词效果。检索和生成变量分开才能定位问题。忠实度、引用正确率和拒答准确率比回答是否流畅更重要。