IRCoT:将检索与思维链交织以实现多步问答
在过去的几篇文章中,我一直在阅读关于 RAG 变体的内容,并希望了解 IRCoT —— 这是 Trivedi、Balasubramanian、Khot 和 Sabharwal (ACL 2023) 发表的一篇论文,它将检索与思维链推理交织在一起,而不是预先进行单次检索。FLARE 通过预测何时进行检索来解决同一个问题;IRCoT 则采用了一种更简单的机械化方法,并提出了一个更尖锐的问题:如果推理链的每一句话本身就是一个检索查询会怎样?
论文解读
现有的“检索后阅读”流水线根据原始问题检索一次文档,然后将所有内容交给大语言模型(LLM)。对于单步问题,这通常足够了。但对于多步问题 —— 例如“导演与巴赫出生在同一城市的电影的作曲家是谁?” —— 只有在你部分回答了第一步之后,才能识别出第二步的相关文档。作者将此称为知识依赖问题,并认为单步检索在结构上无法解决这一问题。
IRCoT 通过一个交替循环来解决这个问题:生成推理链的下一句话,将该句子作为 BM25 查询来检索额外的段落,将检索到的段落添加到提示词上下文中,生成下一个推理句子,并重复此过程。该循环最多运行八个步骤,将总上下文限制在 15 个段落内。该方法无需训练 —— 完全基于提示工程,并在 GPT-3 (code-davinci-002) 上进行了零样本评估,在 Flan-T5 上进行了少样本评估。
核心观点
- 在 HotpotQA 数据集上,IRCoT 相比 GPT-3 的单步检索将检索召回率提高了 +11.3 点,下游问答 F1 分数提高了 +7.1 点(60.7 对比 53.6)。
- 在更难的数据集上增益更大:在 2WikiMultihopQA 上,结合 GPT-3 实现了 +22.6 的召回率提升和 +13.2 的 F1 分数提升。
- 搭载 IRCoT 的 Flan-T5-XXL (11B) 在 2WikiMultihopQA 上比单步检索提升了 +15.3 F1,这是论文中单体数据集的最大增益。
- 搭载 IRCoT 的 Flan-T5-XL (3B) 表现优于使用单步检索的 GPT-3 (175B) —— 仅靠检索策略就克服了 58 倍的参数差距。
- 相对于单步检索,IRCoT 在 HotpotQA 上减少了 50% 的生成思维链事实错误,在 2WikiMultihopQA 上减少了 40%(通过对每个数据集 40 个问题的进行人工标注)。
- 该方法具有良好的分布外泛化能力:使用一个数据集的示例来评估另一个数据集时显示出类似的增益,证明该方法并非只是拟合了分布内模式。
哪些观点站得住脚,哪些则不然
核心主张 —— 多步推理需要多步检索 —— 令人信服,实验设计也非常严谨。使用四个具有不同知识结构(桥接、比较、离散推理)且难度极大的多跳基准测试,使论证具有广泛的适用性。消融实验显示,使用一个独立的专用阅读器(而不是直接从思维链阶段提取答案)始终能提供帮助,这是一个非常有用的实践发现。
我觉得不太满意的地方是:检索预算被固定为 15 个段落,而不考虑问题的难度,且停止准则是硬性的步骤限制,而不是由模型评估的“我已有足够信息”信号。FLARE 基于不确定性的触发机制在这方面更具原则性,尽管它需要经过校准的标记概率。IRCoT 的 BM25 后端有意保持简单 —— 稠密检索(dense retrieval)几乎肯定会进一步改善结果,但作者没有对其进行测试;他们认为简单性可以更清晰地体现推理链的贡献,这也有道理。计算成本也是现实存在的:每个生成的句子都会触发一次检索调用,因此延迟随推理深度线性增加。2025 年的最新工作(LevelRAG、GlobalRAG)指出,这种僵化的“一句一检索”流水线限制了在需要并行信息收集而非顺序链式推理的任务上的性能,GlobalRAG 报告其基准测试比 IRCoT 提升了 6.54 个 F1 点。
幻觉分析也比我希望的要单薄:每个数据集 40 个问题的样本量对于强有力的主张来说太小了,而且“事实错误”是人工标注的,没有报告标注者之间的一致性。
为什么这对金融 AI 很重要
IRCoT 解决的依赖问题直接对应于 Beancount 代理如何追踪多步财务问题。“在考虑了备注字段中记录的货币转换后,日期 Y 和 Z 之间涉及账户 X 的所有交易的净影响是多少?” 这个问题无法通过单次向量查询来回答 —— 你需要先找到匹配的交易,然后检索引用的汇率,接着可能还需要检索对方账户(contra accounts)。每个检索步骤都依赖于上一步的发现。
实践中的设计教训是“检索-推理”循环:与其将整个多年的分类账塞进上下文或进行单次语义搜索,IRCoT 风格的代理会利用每个中间推理句子 —— 例如“第一季度 expenses:food 的总借方金额为 $1,240” —— 作为下一步检索的查询。这使得上下文窗口保持精简,且检索到的证据针对性极强。3B 模型配合优秀检索策略击败 175B 模型这一发现,在运行个人或小微企业账本代理的成本约束下显得尤为重要。搞定检索可能比模型规模更重要。
值得注意的局限性:IRCoT 僵化的一句一检索结构在处理需要同时聚合多个并行证据流的账本查询时会比较吃力 —— 例如,同时计算 12 个费用子账户的预算差异。在这种情况下,规划优先的方法(如 LATS 或结构化查询分解)将与 IRCoT 形成互补,而非竞争。
延伸阅读
- IRCoT 的论文引用了 DecomP (Decomposed Prompting, Khot et al. 2022, arXiv:2210.06726) 作为关键基准 —— 值得阅读以了解在检索前将问题分解为子问题的替代策略,而不是交织进行。
- LevelRAG (arXiv:2502.18139) 在 IRCoT 式迭代检索的基础上增加了一个高级规划 器,可以跨多个搜索引擎重写查询;这是针对同一问题的最新尝试,解决了 IRCoT 的僵化问题。
- “Chain-of-Retrieval Augmented Generation” (CoRAG, arXiv:2501.14342) 是 2025 年的一项后续研究,它将多步检索构架为一个链条,使 IRCoT 循环显式化并增加了训练信号 —— 是阅读本文后的自然延伸。
