Prompt Engineering
RAG 问答 Prompt 设计
介绍 RAG Prompt 如何约束模型只基于上下文回答、如何处理不确定性,以及如何输出可追溯引用。
Prompt EngineeringintermediateRAGPrompt引用溯源忠实度
RAG 问答 Prompt 设计
RAG 场景下的 Prompt,重点不是“把话说得更漂亮”,而是让模型尽量别越界。检索把内容找回来之后,Prompt 要继续负责两件事:告诉模型只能在这些材料里答,以及答的时候要把引用关系保留下来。
如果这层没立住,RAG 很容易退化成“检索了一下,但模型还是按自己想法回答”。
RAG Prompt 最重要的不是礼貌,而是边界
在知识库问答里,一个好 Prompt 通常至少要明确:
- 只能基于给定上下文回答。
- 上下文不足时要拒答或说明不确定。
- 输出要保留引用标识或来源位置。
这几个约束写不清,后面再怎么优化召回,结果也可能还是漂。
为什么它和普通问答 Prompt 不一样
普通聊天更重自然性,RAG 问答更重忠实度。两者目标不同,所以 Prompt 关注点也不同:
- 普通聊天允许自由组织答案。
- RAG 问答更在意答案和证据的对应关系。
- 普通聊天可以凭模型已有知识补充。
- RAG 问答更应避免超出上下文发挥。
这也是为什么 RAG Prompt 经常看起来没那么“聪明”,却更适合上线。
哪些问题不是 Prompt 能补的
也要泼冷水。RAG Prompt 再严格,也补不了这些问题:
- 检索本身没召回到关键内容。
- 切片太碎或太乱。
- 引用元数据没存全。
所以它是约束层,不是修复一切的万能层。
一句话先记住
RAG Prompt 的作用,不是让答案更华丽,而是让答案和证据的关系更可检查。
继续阅读
04-rag/001-what-is-rag.md04-rag/009-citation-tracing.md