研究博客 · 2026 年 7 月

长程搜索 Search agent 的 credit assignment 问题

为长程轨迹分配更细粒度的 credit

长程搜索中的 Credit Assignment 问题

Search agent 正越来越多地通过与外部环境的多轮交互来处理复杂任务。它们将推理与搜索和工具使用交织在一起,而正确性往往只有在整个交互结束后,通过一个可验证的最终答案才能确定。因此,监督通常要等到整条轨迹完成后才能给出:先采样出一条完整 rollout,最后再对其进行整体评判。

在使用结果级奖励时,强化学习会面临一个扁平的 credit assignment 问题。最终的奖励仅为整条轨迹提供一个信号,这使得难以将最终结果归因于单个轮次或动作。这个问题在长程搜索中变得尤为突出,因为早期的查询和观察可能会改变后续状态,并且不同的搜索路径也可能导向相同的最终答案。

如果将单一的轨迹级 advantage 应用于整个序列,那么成功轨迹中局部有害的动作可能会被强化,而失败轨迹中有用的中间行为则可能受到惩罚。最终标签可能是正确的,但由于无法区分过程中哪些部分真正起了作用,策略更新仍然可能存在噪声。这激发了更细粒度的 credit assignment 和过程级奖励信号的需求。

Turn-Level Credit 的设计方案

Turn-level credit 可以通过多种方式定义。下表将其视为设计方案而非排名:每种方案在信号来源、可监督内容以及引入的依赖关系上做出了不同的选择。

方案 信号来源 可监督内容 主要局限
Ground-truth 文档 / 信息增益 检索到的内容是否匹配真实证据路径,并加上冗余惩罚 为搜索和检索效率提供密集反馈 需要 ground-truth 文档或路径;可能更偏向奖励检索而非推理
回顾式评判器(Retrospective Critic) 模型在 rollout 完成后判断每个搜索步骤对最终答案的帮助程度 无需手动编写每条启发式规则即可获得步骤级 advantage 需要额外的评判器和评估过程,且评判结果未必能稳定迁移到不同任务类型或搜索方式
最终答案概率变化 在某轮次后,策略模型输出确切最终正确答案的概率变化 试图直接将每轮动作与最终答案的进展联系起来 精确匹配概率并非衡量语义进展的可靠指标;早期有用的线索可能不会立即提高最终答案概率
稀疏答案触发 对于能够产生正确答案的步骤给予正向奖励 在答案生成时提供简单且可直接验证的信号 仍然稀疏;主要奖励的是答案生成,而非之前的搜索工作
学习型奖励模型(Learned Reward Model) 由人工、规则检查或 LLM 等标注方式评估诸如工具选择质量或查询质量等属性,然后训练一个奖励模型 完成标注后,可以用奖励模型近似原始评估过程进行批量评估,降低后续大规模逐样本评估的成本 依赖于标注质量、评估器覆盖范围和迁移能力
同状态分组 将不同 rollout 中任务特定状态被判定为相同的同一轮次进行分组,然后在组内计算相对 advantage 归一化共享状态下不同动作的相对 advantage 状态定义是任务特定的,对于大多数任务而言难以可靠设计
MCTS / Rollout 树分组 通过将有共同前缀的轨迹分组构建一棵 rollout 树;利用叶子节点的结果奖励并将价值传播到父节点 在拥有相同前缀的不同分支之间共享结果信息,并支持步骤级 advantage 计算 需要在 rollout 过程中构建树和制定价值聚合规则,增加了搜索和 rollout 成本
Answer-Conditioned Self-Teacher(答案引导的逐轮 advantage 调整) 比较同一模型在普通上下文和答案条件化上下文下对已采样动作的概率,利用这些概率信息来重加权轨迹级 advantage 利用答案在轮次间分配 advantage,同时不改变策略目标 需要一个正确且有用的答案

为何 Answer-Conditioned Self-Teacher 机制适合长程搜索

左右滑动,以清晰尺寸查看完整流程图。

Answer-conditioned credit assignment 中文流程图:从策略内多轮 rollout、同模型教师与学生评估,到受限的轮次级引导、稳定性防护与策略更新
已验证答案只在 rollout 结束后用于校准 turn-level credit,最终结果仍然决定全局强化方向。
打开高清大图 ↗

长程搜索带来了一个 credit assignment 问题:一条轨迹可能包含许多查询、工具调用和证据收集步骤,而最终答案只能告诉我们整条轨迹是否成功。因此,训练信号需要既与最终答案保持联系,又能为中间步骤提供指导,同时保留探索不同路径的能力。

Answer-conditioned self-teacher 仅用于这个 credit assignment 的角色。在 rollout 阶段,学生模型使用普通的任务上下文。在轨迹收集完毕后,同一个模型会在加入已验证答案作为额外上下文的情况下进行评估。教师视角并不会生成一个供学生模仿的目标轨迹;它只评估已经发生的动作。

这种分离保留了探索能力。由于在生成轨迹动作时答案是不可见的,学生模型仍然可以尝试不同的查询、工具调用和证据收集路径。随后,每条轨迹都可以根据其自身的动作获得指导,而不是被迫遵循某一条由答案条件化决定的路径。

由此产生的信号是指向性的,而非绝对的。在看到答案后,模型可能会对轨迹中出现的某个特定动作变得更倾向,或者该动作的偏好程度可能会降低。因此,该信号可以增加或减少分配给该轮次的 advantage,而无需声称该动作一定导致了最终答案。

这种调整被限制在一定范围内。Self-teacher 信号仅仅是对最终奖励权重如何在各轮次间分配进行微小的调整;最终奖励仍然是主要的训练信号。这使得中间代理指标更难独立改善并接管优化方向,从而降低了奖励破解(reward hacking)的风险。

因此,关键思想并非取代最终答案的监督,也不是让学生模仿一个已经看到答案的策略。而是利用 rollout 后的答案来校准占主导地位的最终奖励信号如何在一条长轨迹中进行分配。

在高层次上,训练循环非常直接。Agent 首先采样出策略内的多轮 rollout,然后检查每条轨迹的最终答案,并返回一个结果。接着,同一个模型分别从普通的学生视角和答案条件化的教师视角评估每条采样的轨迹。两种视角对每个观测到的轮次的处理差异,就构成了一个轮次级的引导信号。该信号用于调整原始序列级 advantage 中每个轮次所继承的比例,之后策略会使用这些校准后的权重进行更新。最终结果仍然决定了该轨迹是被强化还是被惩罚;额外的信号仅仅优化了跨轮次的 credit assignment。

为何仍需稳定性防护机制

轮次级的概率信号只有在方向可靠时才有用。在实践中,许多逐轮次的证据得分接近于零。它们的符号可能更多地被估计噪声主导,而非真正的师生分歧。将这些微弱信号直接用于训练,将会引入带有符号干扰但缺乏语义意义的扰动。

第一个防护机制是低信噪比过滤(Low-SNR Filtering)。得分接近零的被过滤掉,只有那些具有足够量级的证据差异才会影响轮次级权重。

第二个防护机制是 Clip(裁剪)。它限制轮次权重的调整幅度,避免异常值主导策略更新,并保持其与标准策略优化的兼容性。

在包含 MoE 的训练中,routing replay 可以帮助策略更新复现专家路由,但回放得到的 logits 不适合用来计算 evidence score。如果直接用这些回放结果比较普通上下文和答案条件化上下文,分数差异可能来自路由回放,而不是答案条件化本身。因此,evidence score 需要在不使用 routing replay 的条件下重新计算,并让普通上下文和答案条件化上下文采用相同的评估流程;策略更新本身仍可使用标准的回放 log-probabilities。这样,credit assignment 信号才来自答案条件化,而不会混入 routing replay 带来的额外干扰。

总的来说,这些防护机制使得该设计更像是一个受控的 credit assignment 校准层,叠加在结果级强化学习之上,而非一个原始的辅助奖励。

无 Ground-Truth 答案任务的扩展

同样的 credit assignment 思想可以扩展到没有单一已验证最终答案的任务,只要该任务能提供一个微小的、与任务相关的条件化信号。该信号无需规定完整的解决方案或揭示正确的轨迹。它只需要为 self-teacher 提供一个轻量级的任务参考。

对于通用工具使用 agent,这个信号可以是与该任务相关的一小部分关键工具列表。该列表无需涵盖所有可能用到的工具,也不指定任何特定工具应如何使用。它仅作为一个轻量级的任务参考,同时让 agent 自由探索不同的调用顺序和证据收集路径。

对于 coding agent,该信号可以由任务类型描述或错误提示组成,而非真实解决方案。一个错误提示可能只提供局部的约束或失败的线索。这些信号只提供额外的方向性信息;agent 仍需查看文件、修改代码并运行测试,通过执行结果判断方案是否正确。