一句话定义:Corrective RAG(CRAG,纠正式AI 词典:检索增强生成">检索增强生成)是在传统 RAG 的"检索→拼接→生成"流程中间,插进一个"质检员",先给检索到的文档打分,再决定是直接用、改写查询重查,还是转去网络搜索。
展开讲原理:普通 RAG 的做法很像这样——老板让你写份报告,你从资料柜里随手抽出几页就往上抄。问题在于,柜子里可能根本没有相关内容,或者抽出来的是过期文件。你抄得越自信,错得越离谱。
CRAG 加了一步"先看再抄"。它用一个小而快的评估器(evaluator)给检索结果打相关性分数,通常分成三档处理:
- 正确(Correct):文档确实相关。这时不是整篇照搬,而是把长文档切细,只保留真正有用的句子,去掉噪音。
- 错误(Incorrect):检索结果基本没用。果断丢掉,转去搜索引擎查外部资料,用网络结果来补。
- 模糊(Ambiguous):半信半疑。那就两边都要——内部文档和网络结果一起交给模型。
关键在于"评估"和"行动"是绑定的:分数不只是写进日志的指标,而是直接触发流程分支的开关。
和相邻概念的区别:
| 方案 | 判断什么 | 判断之后 |
|---|---|---|
| 朴素 RAG | 不判断 | 检索到什么就喂什么 |
| 重排序 Rerank | 文档之间的相对相关性 | 重新排序,但仍在同一批文档里 |
| 查询改写 Query Rewriting | 查询写得好不好 | 改查询,重查同一个库 |
| CRAG | 文档质量的高低档位 | 精炼保留、改走网络、或两者并用 |
粗略地说:Rerank 和查询改写是在"同一个资料柜里挑得更准",CRAG 多了一条"这个柜子靠不住就换一个来源"的退路。
对从业者的意义:做 RAG 应用的工程师都清楚一个真实痛点——知识库覆盖不全时,模型不会承认自己不知道,而是硬编一个答案。CRAG 让系统有资格说"我这里没有,去外面找",能明显压住幻觉。代价是多一次评估开销,可能还多一次外部检索,端到端延迟会上升;评估器的阈值和分档策略需要按业务调,没有放之四海皆准的数值。对普通职场人来说,这套逻辑也值得借鉴:检索到不等于可信,先判断来源,再决定怎么用。具体实现细节与最新进展,以官方论文和项目页面为准。
