提高代理式RAG效率与准确性的测试时策略 Test-Time Strategies for More Efficient and Accurate Agentic RAG
通过上下文化和去重模块改进Search-R1,EM提升5.6%,检索轮次减少10.5%
前置知识
检索增强生成(RAG)
RAG是一种结合外部文档检索与生成式语言模型的架构。在处理知识密集型任务时,模型先通过检索器从大规模文档库中提取相关段落,然后将这些检索结果与用户查询一起输入到生成模型中,从而增强模型的回答能力。RAG的典型流程包括:接收用户查询→生成检索查询→检索相关文档→将文档与查询合并→生成最终答案。
本文研究的是RAG系统的改进,特别是agentic RAG框架。理解RAG的基本工作原理对于理解Search-R1的检索迭代机制以及本文提出的改进方案至关重要。
Agentic RAG
Agentic RAG是传统RAG的演进形式,它将大语言模型作为智能体(agent)来编排整个检索和推理过程。与单步检索不同,agentic RAG允许模型自主决定何时检索、检索什么内容、何时停止检索并给出答案。Search-R1就是一个典型例子,它使用强化学习训练模型进行交替的推理和检索,能够处理需要多跳推理的复杂问题。
本文直接针对Search-R1这一agentic RAG框架进行改进,理解agentic RAG的迭代检索特性是理解本文问题动机的基础。
精确匹配
Exact Match是问答任务中常用的评估指标,它要求模型预测的答案与标注答案完全一致(包括大小写、格式等)。对于数值答案,'2'和'Two'会被视为不匹配;对于人名,'John Doe'和'Doe, John'也会被视为不匹配。EM指标非常严格,能够反映模型对细节的把握程度,但也可能过于僵化。
本文使用EM作为主要评估指标,同时引入LLM Match来弥补EM的不足。理解EM的特点有助于解释为什么某些语义正确但格式不同的答案会被判定为错误。
强化学习(RL)
强化学习是一种机器学习范式,智能体通过与环境的交互来学习最优策略。在Search-R1中,RL被用于训练模型学会何时检索、生成什么样的检索查询,以及何时停止检索并给出答案。模型通过奖励函数(如EM分数)来优化其决策序列,常用的算法包括PPO(Proximal Policy Optimization)和GRPO(Group Relative Policy Optimization)。
Search-R1使用RL训练,本文的改进是在不改变训练过程的情况下进行的测试时(test-time)优化。理解RL训练方式有助于理解为什么模型会出现信息遗忘和无效信息提取等问题。
多跳推理
多跳推理是指解决一个问题需要多个逻辑步骤,每个步骤可能需要从不同的信息源获取证据。例如,问题'电影A的导演和电影B的导演是否合作过?'需要先查找电影A的导演,再查找电影B的导演,最后判断这两位导演是否有合作历史。这类问题无法通过单次检索直接回答,需要迭代地检索和推理。
本文研究的HotpotQA数据集正是多跳推理问题的基准,理解多跳推理的特点有助于理解为什么agentic RAG需要多次检索,以及为什么会出现信息遗忘的问题。
研究动机
Search-R1框架在处理复杂多跳问题时面临两个关键问题。首先是信息遗忘:模型在多次检索轮次中难以保留和利用之前检索步骤中的信息,导致生成重复或冗余的检索查询。作者观察到Search-R1模型经常重复检索之前已经处理过的信息,这不仅增加了不必要的检索轮次,还提高了token消耗和响应延迟。其次是无效信息提取:模型无法有效地从检索到的文档中识别和提取最相关的信息。例如,在HotpotQA数据集上的分析显示,模型经常将检索到的文档直接整合到推理链中,而不是提取真正有用的部分,这阻碍了推理过程并降低了答案的准确性。这两个问题共同导致了次优的推理过程和不准确的答案,尤其是在需要深度上下文理解和多跳检索的复杂问题上。
本文的目标是本文的具体目标是探索和评估测试时(test-time)修改策略来缓解Search-R1框架的信息遗忘和无效信息提取问题,从而提高推理效率和最终答案准确性。作者提出了三种方法:上下文化模块、去重模块以及两者的混合方法。这些方法的目标是在不修改底层模型训练过程的情况下,通过在推理过程中插入额外的处理组件来提升Search-R1的性能。具体而言,作者希望实现:1)提高答案准确性(通过EM和LLM Match指标衡量);2)减少检索轮次以提升效率;3)验证信息遗忘是否是导致重复检索的原因。作者在HotpotQA和Natural Questions数据集的验证集上进行评估,从每个数据集随机采样500个问题-答案对进行实验。
与已有工作不同的是,本文的独特切入角度是专注于测试时优化而非训练时改进。现有工作如RAG-RL通过修改模型架构和训练过程来提升性能,而本文则假设模型已经训练完成,探索在不重新训练的情况下如何通过推理过程中的策略修改来提升性能。另一个独特之处是同时考虑信息提取和检索多样性两个维度:Contextualization模块关注如何更好地从检索文档中提取和保留信息,De-duplication模块则关注如何通过强制检索多样性来测试信息遗忘假设。这种双重视角使得本文能够系统性地分析Search-R1的两个主要局限性。此外,本文还引入LLM-as-a-Judge评估方法来弥补严格EM指标的不足,这在RAG系统评估中具有借鉴意义。
核心方法
本文提出的三种测试时方法都基于对Search-R1推理管道的修改。在标准的Search-R1框架中,模型在第$i$轮推理时:1)对用户提示$p$进行推理;2)要么生成最终答案$a$,要么生成搜索查询$q_i$;3)将$q_i$发送给E5密集检索器获取相关文档$D_i$;4)将$D_i$整合到推理链中继续推理。本文的三种方法在检索结果返回后、下一轮查询生成前插入额外处理:Contextualization使用外部LLM提取$D_i$中的相关信息并更新持久记忆缓存;De-duplication过滤掉之前轮次已见过的文档,强制检索多样性;Hybrid方法结合两者。这些方法的共同特点是不改变底层模型的训练参数,仅在推理时修改输入信息,具有很好的可移植性。
本文的核心创新点是提出了两种独立的推理时增强模块,它们分别针对Search-R1的不同问题。Contextualization模块的核心思想是将信息提取与推理解耦,通过外部LLM从检索文档中提取简洁、有用的信息,并建立跨检索步骤的持久记忆缓存。这与Search-o1等工作的区别在于,Search-o1只提供提取的信息,而本文保留了之前上下文化的信息并将其与新检索文档一起传递。De-duplication模块的核心思想是通过强制检索多样性来验证信息遗忘假设:如果模型重复检索是因为忘记了之前的信息,那么阻止重复访问应该会降低准确性;如果重复检索是因为初始信息不足,那么强制新检索应该会提升准确性。这种假设测试的方法在RAG系统优化中具有创新性。此外,本文使用GPT-4.1-mini作为外部LLM进行上下文化和LLM-as-a-Judge评估,这也是一个实用的设计选择。
方法步骤详情
Contextualization模块的工作步骤如下:在第$i$轮检索中,检索器返回$k=3$个文档$D_i$。外部LLM接收三个输入:用户提示$p$、新检索文档$D_i$、以及累积的记忆缓存。LLM被指示仅提取回答$p$所需的相关信息,并将提取的内容$D^*_i$追加到持久记忆缓存中。如果缓存不可用或未发现有用内容,模型会明确说明。外部LLM被约束保留所有之前存储的信息,只能添加新的相关内容。在每个推理步骤中,模型访问最近检索的文档和累积缓存,能够同时对新信息和之前保留的信息进行推理。De-duplication模块的步骤是:维护一个在之前推理轮次中看到的唯一文档ID集合。当新检索返回的文档ID已在集合中时,丢弃该文档并用检索器排名列表中下一个最高排名的未见文档替换。结果是一组未见文档$D'_i$。Hybrid方法的步骤是:按顺序应用Contextualization和De-duplication,首先对新检索文档进行上下文化,然后对上下文化后的文档执行去重,最终将处理后的文档传递给模型。
技术新颖性
本文的技术新颖性体现在几个方面。首先,这是对Search-R1框架的首个系统性测试时优化研究,作者没有修改模型训练过程,而是通过推理时的策略修改实现了性能提升。这种方法具有实用价值,因为可以在不重新训练模型的情况下应用于已经部署的Search-R1系统。其次,本文提出的双模块设计具有灵活性:Contextualization和De-duplication可以独立使用也可以组合使用,这为不同应用场景提供了选择空间。第三,本文的假设测试方法具有创新性:通过De-duplication模块强制检索多样性,作者能够验证信息遗忘是否是重复检索的根本原因。这种通过实验设计来验证假设的方法在RAG系统研究中较为少见。最后,本文的LLM-as-a-Judge评估方法也具有新颖性,它使用GPT-4.1-mini判断预测答案与标注答案的语义等价性,弥补了严格EM指标的不足,这种评估范式可以推广到其他需要语义匹配的NLP任务中。
实验结果
在HotpotQA和Natural Questions数据集的500个问题评估集上,Contextualization方法表现最佳,相比Search-R1基线在EM分数上实现了5.6%的绝对提升(从0.464提升至0.490),在LLM Match分数上提升了6.7%(从0.538提升至0.574),同时平均检索轮次从2.392降至2.142,减少了10.5%。De-duplication方法在准确性上有小幅提升(EM从0.464提升至0.478,LLM Match从0.538提升至0.560),但平均检索轮次反而增加到2.498,比基线高4.4%。Hybrid方法在准确性上与De-duplication相当(EM=0.480,LLM Match=0.568),在检索轮次上接近Contextualization(2.154)。作者分析了De-duplication效率下降的原因:Search-R1基线在遇到重复文档时更可能停止搜索同一目标,因为重复文档没有提供新信息;而De-duplication方法只返回新文档,导致模型继续生成相似的搜索查询以收集更多上下文,但这些额外的上下文很少有帮助,因为必要的信息通常已经在初始检索中存在,只是没有被模型有效提取。图2显示了EM分数与检索轮次的关系:随着检索轮次增加,EM分数呈下降趋势,说明需要更多agentic轮次的问题本质上更困难。然而,Contextualization和Search-R1基线的95%置信区间存在重叠,表明差异在某些检索次数下不具有统计显著性。对于所有方法,LLM Match分数比EM分数高16-18%,主要原因是数值答案差异和名称缩写。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 多跳问答 | Exact Match | 0.490 | 0.464 | +5.6% |
| 多跳问答 | LLM Match | 0.574 | 0.538 | +6.7% |
| 多跳问答 | 平均检索轮次 | 2.142 | 2.392 | -10.5% |
局限与改进
作者承认的局限性包括:1)评估数据集规模有限,从HotpotQA和NQ验证集中各随机采样500个问题,这可能影响结果的泛化性;2)只探索了测试时方法,未涉及模型架构或训练过程的修改;3)使用GPT-4.1-mini进行上下文化和评估增加了成本和依赖性。我自己观察到的其他局限性包括:1)统计显著性不足,Contextualization方法与基线的EM分数95%置信区间存在重叠,无法确定改进是否真正显著;2)De-duplication方法未能实现预期效率提升,反而增加了检索轮次,说明信息遗忘可能不是重复检索的唯一原因;3)实验只在两个数据集上进行,未在其他多跳问答数据集如MuSiQue、2WikiMultiHopQA上进行验证;4)未探索不同的$k$值(当前$k=3$)对性能的影响;5)Contextualization模块的外部LLM提示工程未详细描述,可能影响复现性;6)未分析不同类型问题(如bridge问题vs comparison问题)的性能差异;7)未考虑检索器的局限性,只关注模型对检索结果的处理。
独立分析的弱点
De-duplication方法的效率下降是一个明显的弱点,它未能实现减少检索轮次的目标,反而比基线增加了4.4%的轮次。这表明作者对重复检索原因的假设可能过于简化:重复检索不仅是因为信息遗忘,还可能是因为模型不确定已检索信息的充分性。改进方向可以是设计更智能的去重策略,例如基于文档内容相似度而非简单ID匹配,或者引入检索轮次限制来防止无限循环。另一个弱点是统计显著性不足,Contextualization方法的改进在95%置信区间内与基线重叠。改进方向是扩大评估数据集规模,或者使用配对t检验等更敏感的统计方法。第三个弱点是外部LLM的依赖性,使用GPT-4.1-mini增加了成本和延迟。改进方向可以是探索更轻量级的模型或本地部署的开源模型进行上下文化,或者设计更高效的提示模板来减少API调用。此外,当前方法的灵活性有限,$k=3$等超参数未进行消融实验,改进方向是进行系统的超参数搜索,并探索自适应$k$值策略。最后,未探索检索器和上下文化模块的联合优化,这可能是一个潜在的改进方向。
未来方向
作者提出的未来工作方向包括:扩展到其他多跳问答数据集如MuSiQue和2WikiMultiHopQA以验证方法的泛化性;探索不同的外部LLM模型(如更轻量级的开源模型)进行上下文化;研究如何将测试时优化集成到训练过程中,形成端到端的优化框架。基于本文成果可以延伸的研究方向包括:1)自适应检索策略,根据问题类型和检索历史动态调整检索参数;2)多层级上下文化,对检索文档进行分层提取和缓存,形成更结构化的记忆机制;3)跨任务迁移,将Contextualization模块应用到其他需要多步推理的任务如数学推理、代码生成等;4)检索器与上下文化的联合优化,训练检索器专门输出易于上下文化的文档;5)成本效益分析,系统性地比较不同方法的准确性与计算成本权衡;6)可解释性增强,开发工具来可视化记忆缓存的内容和演化过程,帮助理解模型如何利用上下文化信息;7)错误分析,深入分析EM和LLM Match不匹配的案例,改进上下文化提示和评估标准。
复现评估
本文的复现性较好,作者基于公开可用的Search-R1源代码构建了实验,主要修改集中在模型提示和推理流程。代码基于HuggingFace transformer库进行推理,使用Search-R1 GitHub仓库提供的Wikipedia文章块E5密集检索器。Contextualization和LLM-as-a-Judge评估通过调用OpenAI API使用GPT-4.1-mini实现。数据方面,使用2018年Wikipedia dump作为检索语料库,从HotpotQA和Natural Questions验证集中各随机采样500个问题-答案对。算力需求相对较低,主要是推理阶段的API调用成本。复现难度中等,主要挑战包括:1)获取OpenAI API密钥用于GPT-4.1-mini调用;2)准确复现作者设计的上下文化提示(论文中未提供完整提示模板);3)确保检索器和模型的配置与论文一致。作者未提供完整的实验代码和提示模板,这是复现的一个潜在障碍。此外,由于评估数据集是随机采样的子集,完全复现结果可能需要作者公开采样种子。总体而言,经验丰富的研究者应该能够基于公开的Search-R1代码和论文描述复现主要结果,但实现完全一致的性能可能需要额外努力。
论文图表