稀疏奖励陷阱:为什么长程智能体在演示中表现出色,却在生产环境中崩溃
有一类特定的智能体故障在调试时尤其令人痛苦:这类智能体能通过每一次演示,通过你构建的每一个评估套件,但只要用户提出的要求稍微偏离常规,它就会悄无声息地给出错误答案。这种失效模式并不是提示词(prompt)中的 bug 或缺失了工具调用。它是智能体训练方式的产物——具体来说,是稀疏的结果信号与需要 20 到 50 个步骤才能完成的任务结构复杂度之间的不匹配。
稀疏奖励问题在强化学习中并不新鲜。但随着语言模型智能体越来越多地通过 RL 流水线进行训练——而不仅仅是根据人类演示进行微调——这些经典难题正以新的形式、新的失效模式以及更大的规模重新浮现。了解其背后的机制可以帮助你做出更好的架构决策,选择正确的训练信号,并构建能够在用户发现问题之前捕捉到故障的监控系统。
20 个步骤以上的信用分配危机
稀疏奖励系统在轨迹结束时提供一个单一分数:智能体是否成功了?对于一个只有两个步骤的任务,这是可以处理的。但对于一个 50 个步骤的任务,这几乎是一个无法解决的信用分配(credit assignment)问题。
想象这样一个任务:智能体必须调研一个主题,综合五份检索到的文档中的发现,起草一份报告,根据评分标准进行批判性评价,然后修改以产出精练的输出。这很容易涉及 30 到 50 次具有明确决策点的模型调用。如果最终输出得到的奖励很低,那么这 30 个中间动作中哪一个是错误的?是第 4 步的检索策略?第 12 步的综合方法?还是第 27 步的修改标准?
学习算法必须通过在整个链条上反向传播标量梯度信号来回答这个问题。有两点会破坏这一过程:
探索崩溃(Exploration collapse)。 在智能体获得任何成功轨迹之前,随机探索很难在 50 个步骤的任务上产生一次完整的成功。如果每一步有 5 个合理的动作,那么大约有 5^50 种可能的轨迹。偶然碰巧成功的概率微乎其微。没有任何成功信号,策略就无从学习。
信号弥散(Signal diffusion)。 即使存在成功的轨迹,奖励信号在通过深层计算图反向传播时也会减弱。在第 3 步采取的导致第 47 步失败的动作,其接收到的梯度已经穿过了 44 个中间计算。信号被稀释了,充满了噪声,并且往往被那些并不重要的步骤所产生的无关方差所掩盖。
最终效果是:纯粹依靠稀疏结果奖励训练的智能体在样本效率上极其低下。机器人操作研究报告指出,对于中等复杂程度的任务,所需的交互次数达到 10^6 次或更多。语 言模型 RL 流水线也无法避免同样的问题——它们只是将其隐藏在基础模型先验知识的语义丰富性之下。这种先验知识提供了一种隐式的热启动,可以掩盖训练的不稳定性,直到任务变得足够困难。
事后重新标记:将失败转化为训练信号
解决目标条件任务(goal-conditioned tasks)中稀疏奖励最根本的方法是事后经验回放(Hindsight Experience Replay,简称 HER)。核心见解很简单:即使是失败的轨迹也包含信息——具体来说,它包含了一次关于如何到达智能体最终所处状态的演示,哪怕那并不是预期的目标。
一个试图达到目标 G 但最终停在状态 S' 的智能体,在达到 S' 这件事上并没有失败。你可以追溯性地将该轨迹重新标记为“智能体当时正试图达到 S' 并且成功了”。将这种重新标记的轨迹与真正成功的轨迹一起存储在回放缓冲区(replay buffer)中。这样,即使策略很少能命中原始目标,它现在也拥有了密集的正向案例。
在实践中,对于每一个失败的轨迹,你会使用从该轨迹自身的“未来”(即智能体实际访问过的状态)中采样的状态,生成两到四个重新标记的版本。这产生了一种自然的课程效应(curriculum effect):在训练早期,许多重新标记的目标都很简单(轨迹中附近的状态);随着策略的改进,它学会了实现更远的目标,课程也随之自然收紧。
HER 在任务是真正的目标条件任务时效果很好——也就是说,你可以将“成功”表示为 达到特定状态,并且该状态可以通过任意手段到达。最近的扩展应用可以处理移动目标(动态目标重新标记),使用学习到的世界模型在进行实际 rollout 之前生成想象中的重新标记轨迹,并将 HER 与基于模型的规划相结合,以进一步减少所需的环境交互次数。
局限性在于特异性。HER 要求你能够将目标指定为状态,并且任意状态都构成有效目标。对于那些“成功”取决于判断力的开放式任务——写一篇有说服力的文章、修复这个 bug、计划这次旅行——目标重新标记并不直接适用。这就是代理奖励(proxy rewards)发挥作用的地方。
步骤级代理奖励:让信号变得密集
重标记的另一种替代方案是生成步骤级(step-level)奖励信号,这样就不需要等到轨迹结束。挑战在于,这些信号需要足够准确以引导训练,同时又不能太容易被“刷分(game)”,以免智能体学会在忽略实际任务的情况下最大化这些信号。
**基于势能的奖励塑造(Potential-based reward shaping)**是经典方法。你在稀疏奖励中添加一个塑造项:即智能体从状态 s 转换到状态 s' 时势能函数 φ(s) 的变化。如果你选择 φ 来表示“与目标的距离”,那么即使在到达目标之前,也会为智能体提供一个可遵循的梯度。其理论保证——即基于势能的塑造不会改变最优策略——非常重要:如果没有这种结构的、设计拙劣的密集奖励,会将学习导向代理目标,而不是任务本身。
**过程奖励模型(PRMs)**是更强大的现代 方法。与其手工设计势能函数,不如训练一个模型为轨迹的每个中间步骤打分。一个让智能体更接近正确最终答案的步骤会获得高过程奖励;一个引入错误或走向死胡同的步骤会获得低分。
关键的实现细节是,过程奖励应该以结果为条件。一个局部看起来合理但导致全局失败的步骤,即使看起来很流畅,也应该得到低分。这听起来显而易见,但需要精细的训练数据构建:你需要标记好的轨迹,其中不仅知道最终答案是否正确,还要知道每个中间步骤是否对该正确性有所贡献。诸如蒙特卡洛展开采样(Monte Carlo rollout sampling)之类的方法——从每个中间状态多次运行轨迹直到完成并测量最终成功率——可以自动生成这些数据,但代价是巨大的计算量。
回报是丰厚的。在数学推理和智能体任务基准测试中的实验结果一致表明,与仅使用结果奖励的训练相比,增强了 PRM 的流水线的样本效率提高了 2 到 3 倍。信号更密集,信用分配(credit assignment)更局部化,智能体可以学习什么是“良好的进展”,而不仅仅是知道它最终是否完成。
对比轨迹对作为隐式监督
近期研究中备受关注的第三种方法是将强化学习(RL)视为一个表示学习问题。与其提供显式的步骤奖励,不如训练一种表示,使成功轨迹上的状态在嵌入空间中彼此接近,而失败轨迹的状态则可被区分。
对比目标作用于轨迹对:将成功轨迹中两个不同步骤的状态作为正对,将失败轨迹的状态作为负对。最大化正对之间的相似性,最小化 负对之间的相似性。学习到的表示随后会编码哪些状态处于“通往成功的路径上”——即使没有针对单个步骤的显式奖励标签。
这种方法可以很好地扩展到图像和语言等高维观测数据,并且在不同任务变体之间的迁移效果出奇地好——因为这种表示捕捉的是成功执行的结构属性,而非特定任务的特征。目标条件对比强化学习(Goal-conditioned contrastive RL)对此进行了扩展,使得状态表示与目标表示之间的内积直接逼近价值函数:V(s, g) ≈ φ(s)·φ(g)。一旦表示训练完成,策略学习就会变得简单直接。
实际的权衡在于对比方法需要精细的负采样挖掘(negative mining)——随机的负样本太容易区分,会导致目标函数失效;那些几乎成功但差一点的困难负样本(hard negatives)才是你真正需要的训练信号。而且,像所有基于表示的方法一样,它们对训练期间采样的轨迹分布的质量和多样性非常敏感。
为什么演示通过型智能体在极端情况下会崩溃
这是驱动大部分工程工作的失败模式:一个接受稀疏监督(甚至带有密集代理奖励)训练的智能体,在其训练的任务分布上可能看起来很能干,但基本上没有能力泛化到它没见过的变体。
根本原因是分布偏移(distribution shift)。稀疏奖励意味着智能体的训练数据集中在成功的轨迹上。成功的轨迹只是完整任务分布中极小的一部分——它们是每一步都奏效的路径。根据定义,极端 情况(Edge cases)需要导航那些未出现在黄金路径上的状态。智能体从未接收到针对这些状态的信号。它的策略处于未定义的领域,它会用基座模型先验建议的任何内容来填充该领域,而这通常是一个自信但错误的答案。
过程奖励模型会以一种特殊的方式使情况变得更糟:它们会产生流利的失败(fluent failures)。一个优化高步骤级过程奖励的智能体会学会采取局部看起来正确的步骤——对于在典型轨迹上训练的 PRM 来说,这些步骤读起来是合理的、结构良好的动作。但“局部合理”并不等同于“全局正确”。智能体可以将一系列流利的步骤串联起来,每一步都获得不错的过程序奖励,但最终却产生了一个根本错误的答案。过程模型没有检测到错误,因为该错误模式没有出现在其训练数据中。
辨别这种症状的标志是过程奖励分数与实际结果奖励之间存在巨大差距。如果你的 PRM 一贯给某个轨迹打高分,但最终结果却是错误的,那么你的过程模型与实际任务成功之间就存在分布失配。在生产环境中监控这种相关性是训练流水线正在优化错误目标的早期信号之一。
缓解措施集中在几种模式上。集成策略(Ensemble policies)——使用不同的随机种子或不同的训练数据混合物训练多个模型——让你可以测量集成模型对任何给定输入的意见分歧。高分歧信号代表分布外(out-of-distribution)状态,这是触发回退行为(请求人工审核、拒绝回答、升级)的有用触发器。状态覆盖率指标(State coverage metrics)跟踪生产环境中观察到的状态有多少比例出现在训练分布中;覆盖率降至 70% 以下是极端情况失败的可靠领先指标。而课程强化(curriculum hardening)——系统地生成涵盖你观察到的失败模式的训练示例——则是更长期的 解决方案。
生产级训练流水线的结构
将这些部分组合在一起,一个设计良好的长周期(long-horizon)智能体训练流水线通常会分层使用三种不同的奖励信号:
结果奖励 (Outcome rewards) 提供地面真值(ground truth)。它们是稀疏的,通常是二元的(成功或失败),且获取成本高昂——无论是来自人类标注员还是自动化验证器(单元测试、定理证明器、基于准则的评判模型)。它们是你真正关心的信号,但你不能仅靠它们进行训练。
过程奖励 (Process rewards) 提供密集的中间引导。通过在带有步骤级标注的轨迹数据上训练而成的过程奖励模型(PRM),可以将长周期信用分配(credit assignment)转化为一系列局部决策。PRM 的训练数据要么通过人工步骤级标注生成(昂贵但准确),要么通过蒙特卡洛采样(Monte Carlo rollouts)进行自动验证(便宜但噪声大)。随着策略(policy)的改进,PRM 需要定期重新训练,以避免过程模型滞后于当前的策略分布。
内在奖励 (Intrinsic rewards) 在训练早期引导探索。基于好奇心的信号(对学习到的世界模型的预测误差)或基于计数的创新性奖励(novelty bonuses)会推动智能体探索它尚未访问过的状态,防止其过早收敛到任务分布的一个狭窄切片上。随着训练的成熟,这些奖励通常会逐渐衰减至零——你不希望智能体在需要可靠执行任务时,仍保持着探索的内在动力。
训练阶段遵循一个自然的演进过程:首先是在演示数据上进行监督 式预训练,以使策略初始化在接近人类水平的行为附近;然后是带有 KL 惩罚的保守强化学习(RL),以防止策略在训练初期漂移到灾难性的分布外区域;最后,随着 PRM 变得足够可靠并能提供准确引导,进行越来越积极的探索。
这对开发者意味着什么
稀疏奖励问题并不是某种奇特的科研课题。任何使用基于强化学习(RL)的流水线来训练语言模型智能体的团队——即使用自动化评判或人工评分来提供结果奖励的框架——都会遇到这些问题,而且往往无法识别出症结所在。
实际的启示是,对于需要多个步骤的任务,仅依靠结果奖励的强化学习并不是一个好的默认选择。比你直觉上认为的更早地投入过程奖励模型(PRM),在训练稳定性和极端情况(edge case)覆盖率方面会带来显著的回报。事后重打标(Hindsight relabeling)适用于那些目标条件化(goal-conditioned)程度足以支持它的任务。而在生产环境中监控过程奖励与实际结果之间的相关性,可以在训练分布不匹配演变成用户可见的事故之前发现问题。
那些在生产环境中经得起考验的智能体,并不是在部署时评估最仔细的那些。而是那些其训练流水线在足够广泛的状态分布中产生了充足信号,使得策略已经见过类似于用户实际遇到的极端情况的智能体。
本文中关于稀疏奖励解决方案的分类——重打标、奖励塑造(shaping)、对比方法、PRM——对应于关于你拥有何种信息的不同假设。大多数生产系统结合使用了这些方法。选择侧重于哪一种,取 决于你的任务是否是目标条件化的、步骤级标签的成本有多高,以及你投入自动化验证基础设施的意愿有多强。
