← 返回题库
RAG 检索增强困难

Self-RAG 与 Corrective RAG 解决什么问题?

#Self-RAG#Corrective RAG#检索反思#纠错

题目

Naive RAG 是”检索-生成”线性流程,无法应对检索失败或检索错误。Self-RAG 与 Corrective RAG 各自如何解决?请对比。

参考答案

Naive RAG 的痛点

  • 检索不到也硬生成 → 幻觉。
  • 检索到无关内容也塞进 prompt → 干扰。
  • 检索错误(找错文档)无法纠正。
  • 无法决定”要不要检索""检索够不够”。

Self-RAG(Self-Reflective RAG)

核心思想:让模型学会反思 token,自主决定检索时机与是否采用检索结果。

  • 训练模型输出特殊 reflection token:
    • [Retrieve]:是否需要检索。
    • [IsRel]:检索结果是否相关。
    • [IsSup]:生成是否被检索支持。
    • [IsUse]:回答是否有用。
  • 推理时模型边生成边自评,按需触发检索、过滤无关结果、丢弃无支持回答。
  • 训练需用 RL 或 SFT 让模型学会何时输出这些 token。

Corrective RAG(CRAG)

核心思想:检索后先评估质量,再决定如何用,失败时回退网络搜索。

  • 引入轻量检索评估器:给检索结果打分(正确/模糊/错误)。
  • 三种处理:
    • 正确:精炼后用(提取最相关片段)。
    • 模糊:结合检索 + 网络搜索补充。
    • 错误:丢弃检索,纯网络搜索重检。
  • 把 RAG 从”被动接受检索结果”升级为”主动质控 + 多源兜底”。

对比

维度Self-RAGCRAG
反思路径模型内置反思 token外置评估器 + 规则
是否需重训需(教模型反思)不需(外挂模块)
检索触发模型自主决定始终检索 + 评估
失败兜底丢弃无支持生成网络搜索补充
落地难度高(需训练)低(即插即用)

Agentic RAG:进一步把 RAG 包装为 Agent,让 LLM 自主决定查询改写、多轮检索、跨库检索、是否继续深挖——是 Self-RAG/CRAG 思想的 Agent 化升级。

面试加分点

  • 指出三者共同主线:“让 RAG 从流水线变为带反馈的闭环”——能否信任检索、检索不够怎么办、是否要重检索。
  • CRAG 工程落地最友好(无需重训),Self-RAG 上限更高但成本高。
  • 现代生产 RAG 多用 CRAG 思路:检索 + 重排 + 质量分阈值 + 兜底网络搜索。

出处:头条《高级 RAG 范式:Self-RAG、CRAG、GraphRAG 到底解决什么问题》、Self-RAG/CRAG 论文。

内容来源

整理自头条《高级 RAG 范式:Self-RAG、CRAG、GraphRAG 到底解决什么问题》

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。