根据论文内容,这篇文章提出的CoRAG方法属于检索增强推理类型。其核心目的是通过多步迭代的检索和动态调整查询,提升模型在复杂推理任务中的能力,解决单次检索信息不足导致的推理失败问题。
具体分析如下:
- 检索增强推理的特征:
• 通过链式检索(Chain-of-Retrieval)逐步补充知识,支持多跳推理。例如在多跳QA中,模型会先检索与问题相关的子信息,基于这些信息生成新的子查询,再检索更深层的知识。
• 使用动态查询改写(Dynamic Query Reformulation),根据当前推理状态调整后续检索目标。这相当于用推理过程指导检索方向,但最终目标仍是完成复杂推理任务。
• 实验结果表明,CoRAG在需要多步推理的任务(如MuSiQue)上提升最显著(EM提升超过10点),说明检索的核心作用是补充推理所需知识。
- 与推理增强检索的区别:
• 虽然CoRAG涉及"通过推理调整检索"(如动态生成子查询),但这只是中间手段而非最终目标。论文明确指出其目标是生成最终答案时"突破单次检索质量的天花板"(Abstract),而非单纯优化检索效果。
• 对比基线实验显示,即使使用低质量检索器(如BM25),CoRAG仍能通过多步检索提升性能(表3),说明其重点在于通过检索补偿推理能力,而非通过推理优化检索质量。
- 解决的问题:
• 传统RAG单次检索的局限性:当复杂问题需要多个相关文档时,单次检索可能遗漏关键信息(如多跳QA中的中间事实)。
• 知识长尾性问题:模型无法记忆所有知识,通过链式检索动态获取最新/长尾知识支持推理。
• 幻觉抑制:通过检索提供事实依据,使推理过程可验证(Conclusion部分强调这是构建可信AI的重要方向)。
因此,CoRAG的范式更接近**"用检索为推理提供燃料"**,而非"用推理为检索提供引擎"。这种设计使其在需要复杂知识关联的任务(如多跳QA、知识密集型NLP任务)中表现突破,符合检索增强推理的核心定义。
1. 多步推理过程总结
→ 核心推理流程:
用户原始查询 → 动态生成子查询(Q₁) → 检索相关文档(D₁) → 生成子答案(A₁) → 基于(Q+A₁)生成新子查询(Q₂) → 迭代循环 → 综合所有子答案生成最终答案
→ 迭代单元的最小过程:
- 子查询生成:基于当前状态(历史Q+A序列)生成新查询
- 文档检索:用子查询检索Top-k相关文档
- 子答案生成:基于检索结果生成中间答案
- 终止判断:通过预定义规则(如答案匹配/最大步数)或学习到的停止机制决定是否继续
2. 方法类型判断
属于动态流程的Agentic RAG,主要依据:
• 动态触发机制:检索步骤的数量和触发时机不固定,完全由模型根据中间结果动态决定
• 自主决策能力:通过训练使模型自主生成子查询(如案例中从"查找出生日期"到"计算月份差"的链式推导)
• 非预设路径:支持多种解码策略(贪婪采样/树搜索)实现路径分支探索
3. 预定义流程的细化类型
(不适用,因属于动态流程)