Self-RAG(自反思检索)是一种让语言模型在生成答案时,自己判断“要不要检索、检索到的内容靠不靠谱、答案有没有证据支撑”的AI 词典:检索增强生成">检索增强生成(Retrieval-Augmented Generation,RAG)框架。
普通 RAG 像一位过度勤快的助理:不管你问“今天星期几”还是“公司报销标准是什么”,它都先抱一摞文件进来,再把文件片段塞给模型。Self-RAG 更像有判断力的助理:先自问这题需不需要查资料;查完翻两页,发现资料跑题,就改写搜索词或重新查;如果找不到证据,宁可不答,也不硬编一个看起来很像真的答案。
它的核心做法,是让模型在生成过程中不只输出答案,还输出“反思标记(reflection tokens)”。这些标记像贴在思考流程上的便利贴,标出几个关键判断:
- 现在需要检索吗?
- 检索回来的段落和问题相关吗?
- 接下来这句话,有检索内容支持吗?
- 整个回答对用户有用吗?
训练阶段,模型学会在合适的位置产出这些标记;推理阶段,系统可以通过阈值或权重调节它的谨慎程度。比如调高检索门槛,模型会更少查、更依赖内部知识;调低门槛,则更愿意先查再说。具体标记定义和实现方式,以原论文或所用框架的官方文档为准。
它和相邻概念的区别可以这样看:
| 对比项 | 普通 RAG | Self-RAG |
|---|---|---|
| 检索时机 | 很多流程每问必查,固定取 top-k | 先判断,按需检索 |
| 检索结果 | 直接塞进上下文 | 先评估相关性,再决定用不用 |
| 质量检查 | 多在外部流水线做 | 生成过程中自我反思 |
| 没证据时 | 可能硬答 | 更可能拒答或改写问题 |
和 Agentic RAG 相比,Self-RAG 更聚焦“生成过程中的检索决策与自我评估”;Agentic RAG 则更强调多步规划、调用多种工具。两者并不冲突,可以叠加使用。
对从业者来说,Self-RAG 的价值是减少无效检索、降低 token 成本和延迟,也减少“检索到噪声反而带偏答案”的情况。设计系统时,别只想着把知识库接进去,还要把“拒答”和“证据支撑”当成一等公民。对普通人来说,看到一个知识库问答产品时,可以多问一句:它会不会在没依据时承认不知道?这往往比它答得多流畅更重要。
