搜索智能体的信用分配难题:为什么只看最终答案的奖励不够用
想象你在图书馆查一个复杂问题:"2024年诺贝尔物理学奖得主本科毕业于哪所大学?"
目录
一个搜索智能体的困境
想象你在图书馆查一个复杂问题:"2024年诺贝尔物理学奖得主本科毕业于哪所大学?"
你不会一次性找到答案。你会先搜"2024年诺贝尔物理学奖得主",找到 Hopfield 和 Hinton;再搜"Hopfield 本科毕业院校",找到 Swarthmore College;再搜"Hinton 本科毕业院校",找到 Cambridge。
每一步搜索都是中间成果。但如果你只在最后给智能体打分——答对了奖励 1 分,答错了 0 分——那中间搜得好不好,智能体完全不知道。
这就是搜索智能体训练的核心难题:最终奖励太稀疏,中间努力得不到反馈。
RLVR 的盲区
当前训练搜索智能体最流行的方法是 RLVR(Reinforcement Learning with Verifiable Rewards):让智能体反复尝试,答对了就奖励,答错了就惩罚。简单粗暴,但有效。
问题在于:当一组尝试全部答错时,RLVR 就瞎了。
假设智能体尝试了 8 次同一个问题,全部答错。但其中 3 次搜到了关键证据的一半,另外 5 次什么都没搜到。从最终答案看,8 次都是 0 分,没有差异。但中间过程明明有差异——那 3 次比另外 5 次好得多。
RLVR 的 group-relative 训练机制在这种情况下完全失效:当所有 rollouts 的最终得分相同时,策略梯度为零。智能体学不到"搜到一半证据"比"什么都没搜到"更好。
这就像一个学生做了 8 道题全错,但其中 3 道的思路是对的,只是最后一步算错了。如果老师只看最终答案,这 8 道题没有区别,学生也不知道哪条思路更对。
中间监督:给搜索过程打分
论文的核心思路是:在最终奖励之外,加上中间检索奖励。
但"给中间搜索打分"这件事,比想象中复杂。作者发现有两个关键选择:
选择一:什么内容该得奖励?
论文比较了三种中间信号:
1. 覆盖率(Coverage, Cov):检索到的标注证据占全部标注证据的比例。搜到了 3/5 的支撑段落,就得 0.6 分。 2. 带依赖的覆盖率(Cov-Dep):不仅要搜到证据,还要满足先决条件。比如搜到了"Hinton 的毕业院校",但如果还没搜到"Hinton 是 2024 年诺奖得主",这条证据不算——因为你还不知道为什么要搜 Hinton。 3. 答案匹配(Answer Match, AM):检索到的文本里是否包含参考答案。
选择二:奖励怎么进入策略更新?
有了中间信号,怎么用它来更新策略?两种方式:
1. 标量奖励(Scalar):把中间奖励加到最终奖励上,改变整条轨迹的总分。这就像给学生的总成绩加一个"过程分"。 2. 局部信用(Local credit):把中间奖励只分配给产生它的那个搜索动作,改变该动作的优势函数。这就像老师对某一步解题过程单独给反馈。
这两个选择组合起来,就是 3×2=6 种方案。
实验发现:局部信用胜出
作者用 Qwen3-4B 在 7 个 QA 基准上测试,结果清晰:
- 所有中间监督都比纯结果奖励好:不管用什么信号、怎么分配,加上中间奖励都比只看最终答案强
- 局部信用 > 标量奖励:Cov-local(覆盖率+局部信用)效果最好,平均 F1 提升 3.09,多跳 QA 提升达 4.81
- 信号必须与来源动作对齐:如果把中间奖励从产生它的搜索动作上移走,效果就消失——信用必须留在"做对事"的那个动作上
- 在最终答案打平时效果最大:当所有 rollouts 的最终得分相同(RLVR 完全失效的场景),中间监督的提升最显著
一个关键发现:提升在"检索"不在"推理"
Cov-local 训练出的智能体,检索到更多支撑证据,但"在检索到相同证据条件下的回答准确率"和纯结果训练差不多。这说明中间监督的主要作用是让智能体学会搜得更好,而不是学会推理得更好。
搜索智能体的瓶颈在搜索,不在推理。这和直觉一致:大模型本身推理能力够强,但前提是得搜到正确的信息。
数据构造:保留中间标注
这篇论文的一个技术亮点是数据构造。为了知道每一步搜索"应该"搜到什么,作者构建了一个 pipeline:
1. 从 Wikidata 的实体关系出发,找到在同一个句子中共现的实体对 2. 保留每个关系的来源段落作为支撑证据 3. 把多个关系组合成多跳问题,同时保留每个子问题、其支撑段落、以及子问题之间的依赖关系
这样每个问题都有完整的"中间答案标注"——哪一步该搜到什么,哪步是哪步的前提。训练时可以用这些标注计算中间奖励,评估时可以分析智能体到底搜到了什么。
为什么这很重要?
"信用分配"是 Agent RL 的核心问题
搜索智能体只是 Agent 的一个实例。更一般地,任何需要多步决策的 Agent 都面临信用分配问题:
- 工具调用 Agent:调了 5 个工具,最后任务失败,哪个工具调用该背锅?
- 代码生成 Agent:写了 10 个函数,最后程序崩溃,哪个函数出了问题?
- 多智能体协作:3 个 Agent 合作完成任务,失败了,谁的贡献最小?
"稀疏奖励"的解法不只是"加中间奖励"
论文揭示了一个更深的道理:中间奖励的设计本身就是一个需要仔细研究的维度。随便加一个中间奖励不一定有效,你需要:
1. 选择正确的中间信号(覆盖率 vs 答案匹配 vs 带依赖的覆盖率) 2. 选择正确的分配方式(标量 vs 局部) 3. 确保信号与来源动作对齐
这给 Agent RL 的实践者一个清晰的设计清单。
诚实评价
1. 依赖标注的中间答案:Cov 和 Cov-Dep 需要知道每一步"应该"搜到什么,这在实际场景中很难获得。真实用户的问题没有标准中间答案。 2. 只测了 QA 场景:搜索智能体主要做问答,其他任务(如导航、操作)的中间奖励设计可能完全不同。 3. 覆盖率定义依赖语料标注:覆盖率需要预先标注的支撑段落,这限制了方法的通用性。 4. 局部信用的实现复杂度:需要修改 RL 训练框架来支持逐动作的优势函数,不是即插即用。
但论文的核心洞察——中间监督的信号选择和信用分配方式是两个独立的设计维度——已经足够有价值。
结语
这篇论文让我想到一个类比:训练搜索智能体就像训练一个侦探。只看最终破案率的训练方法,等于让侦探反复办案,破案了给奖金,没破案什么都没有。但好的警校训练不是这样的——它会拆解办案过程:线索收集对不对、推理链条合不合理、证据链是否完整。
中间监督就是给搜索智能体装上"过程评价"的能力。不是所有努力都能在最终结果上体现,但好的过程应该得到好的反馈。
当 Agent RL 越来越复杂,信用分配会越来越关键。这篇论文给出了一个清晰的起点。
论文:Beyond Outcome Rewards: Constructing and Assigning Retrieval Credit for Search Agents