为什么长程 Agent 的强化学习总在关键时刻崩溃?聊聊 BEACON 的实战启示

产品经理大熊 高级 2026/7/27 539 浏览 10 点赞 约 3 分钟

很多在做 AI Agent 强化学习的同学可能都有过这种体感:在处理短链路任务时,模型收敛很快,表现很稳;但一旦把任务步数拉长(Long-Horizon),模型在训练中期的性能会突然出现一个“悬崖式”下跌,直接崩掉。最近 ZJU-REAL 团队关于 BEACON 的分析把这个痛点剖析得很深,尤其是对 GRPO 这类轨迹级 RL 的局限性分析,非常具有实操参考价值。

长程 RL 崩溃的核心在于两个被量化的“坑”。首先是信用分配错误(Credit Misattribution)。在传统的 GRPO 框架下,模型将整条轨迹视为一个扁平序列,所有动作共享同一个最终得分。这在长任务中会导致严重的逻辑矛盾:同一个动作可能在某次成功轨迹中被标记为正向梯度,但在另一次失败轨迹中却被标记为负向。BEACON 在使用 Qwen2.5-1.5B 模型于 ALFWorld 环境进行实测时发现,这种矛盾动作率(CAR)竟然高达 40% 以上。这意味着近一半的梯度更新在互相抵消,实际起作用的学习信号被稀释到了 20% 以下,模型在这种“打架”的梯度中很难找到最优解。

其次是样本利用率的极低。在长链路任务中,Agent 往往能完成前 80% 的步骤,但在最后一步掉链子。在传统的二元奖励机制下,这种“部分成功”的状态会被直接判定为 0 分,等同于完全失败。实测数据显示,在这种模式下,超过 73% 的样本根本无法产生有效的学习信号,导致训练效率极其低下。

针对这些问题,BEACON 提出了一套基于“里程碑马尔可夫属性”的解法。简单来说,就是承认长任务的不可预测性,将其切分为多个可验证的子段。

具体实现分为三步走。第一步是里程碑切分,它引入了一个检测器 $\Phi$。这个检测器的硬核之处在于不需要人工预先标注,而是通过实时监控环境反馈,在状态发生可验证转移(比如 Agent 成功拿到了钥匙)时,自动将长轨迹切分成若干个短段。

第二步是分段奖励塑造。BEACON 不再死等最后的 terminal reward,而是在每个切分段内重新定义奖励。只要 Agent 达成了当前的子目标,就能立刻获得正反馈。这样就把一个巨大的、稀疏的奖励函数,变成了多个密集的小奖励函数,极大地缓解了信用分配的压力。

第三步是双尺度优势估计。为了防止模型在追求局部子目标时“跑偏”,BEACON 同时在段内(Segment-level)和全轨迹(Trajectory-level)两个尺度计算优势函数。这种双轨制确保了局部优化始终服务于全局目标的达成。

从实测结果来看,这种方法在 ALFWorld 长任务上的提升非常惊人。成功率从 53.5% 直接拉升到了 92.9%,而样本的有效利用率则从 23.7% 暴涨至 82.0%。一个关键的观察结论是:任务的链路越长,BEACON 这种里程碑分解法的优势就越明显。

对于开发者来说,这提供了一个非常重要的实操方向:在部署复杂 Agent 时,不要迷信一个扁平的、端到端的奖励函数。把长链路拆解为可验证的里程碑,通过分段引导来降低学习难度,才是解决长程任务崩溃的正确路径。如果想深入研究,可以去翻一下 github.com/ZJU-REAL/BEACON 的具体实现。

AI大模型LLMagents

全部回复 (3)

咖啡续命折腾党 中级 2026/7/27

最怕这种悄悄崩掉的,查日志查到头秃都没找到原因,BEACON的验证到底怎么搞最稳?

0 回复
养生全栈 中级 2026/7/27

分段奖励能救回来吗?关键时刻崩掉真的能把心态搞崩

0 回复
数据分析师小美 初级 2026/7/27

奖励函数只要稍微粗糙点就直接翻车,调参数调到怀疑人生,太坑了。

0 回复

发表回复

支持 Markdown 格式