Long Horizon RL
Long Horizon 的难点
长期规划 planning
最终目标是什么?
Agent 要能:
- 分阶段
- 子任务拆解
- 中间状态维护
长期 credit assignment
Agent 第 1 步犯错,
第 80 步才失败。
那:
错误该归因给谁?
context window 有限
128 k token 也会不够。
因为:
- Tool outputs
- Logs
- Code
- Observations
会爆炸增长。
所以才有:context-condense
- Summarization
- Retrieval
- Memory
- Observation masking
- Recurrent memory
Long Horizon Task 的端到端难度
先抛开 RL 或训练,普通 Agent 架构在长程问题下的 Baseline 天然就很难。N 步 ReAct 范式 下的 Agent 任务,假设单轮正确率95% ,每轮独立同分布,端到端任务成功率随步数增也迅速降低 : N=10 为 60%,N=50,只有 7%。
现实情况更麻烦一点,逐个 challenge Agent 架构下的这些假设:
- 独立性假设并不存在:Agentic RL 步骤之间的依赖,错误和幻觉在上下文维度上累积和传播,极易导致 Agent 偏离主线任务或持续累积错误并最终崩溃。
- 后续轮次难以保持同样的正确率:ReAC 模式固有缺陷很迟吃 token, N 越大的轮次,有效信息密度较低,早期的 Instruction 权重随着 Token 增加被稀释,越难保持相同正确率。当下基础模型标称 context windows 和真正有效记忆的 context windows 都还有距离。VLA 或者 GUI 场景视觉输入高频冗余可能更严重。
- 稳定的输出评估:模型输出的概率性导致单步不等于能稳定输出。这也取决于我们说的单步正确率是 pass@1 还是 pass@k ,如果是前者,鲁棒性可能不足,还需要 verifier 来提升 pass@1 单步可靠性,否则 pass@1 有 95% 的正确率也不意味着稳定输出。
当然,这只是直观推演,很多复杂任务(如 DeepResearch)保有一定的冗余和试错空间,并不要求每一步都精确无误,但核心难题依然存在。
Agentic RL 的长程痛点
Agentic RL 中长序列的任务除了 Agent 架构,还有 RL 学习机制的叠加,可以从这两个方面看:
理论层面:
- 奖励稀疏且延迟:任务越长,探索空间越大,outcome reward 并不能及时有效奖励。
- 信用分配不平衡:长程行为的权重被均摊或衰减,导致算法无法真正实现局部有效的 Credit Assignment。
工程层面:
- MoE 激活偏差:在长程任务下,MoE 模型训练推理激活 gate 的不一致性 Gap 也会被放大和累积,导致训练更加不稳定
- Off-policy 的工程折衷:长尾效应导致的训练效率低下需要长样本更容易被分解、截断、分开推理,样本会更少,或者因为策略版本更新导致 Off-policy 性质增强,最终导致梯度估算更不准,训练陷入不稳定。
优化 Long Horizon 问题是个系统工程
缓解上下文增长:Context Manager
直观的工程思路是通过 Context Manager 简化步骤或压缩序列,这里大多是 memory 的各种 trick 再玩一次。
经典策略:
- 压缩 COT:长/短/空 COT 混合训练,或引入类似 KIMI 的过度思考惩罚策略。
- 滑窗机制:仅保留最近几轮的 Obs & Results。
- 记忆剪枝:摒弃单纯的 Append-only。引入 Working Memory 和 Episodic Memory,每隔 K 步生成 State Summary 替换原始对话历史。
- 文件外挂:类似 Manus 的策略,将较长的输出 Offload 到 Notebook 或文件中,建模为工具调用,而非占用 Prompt Token(AgentMem, FoldGRPO et al.)。
另一方面,所有需要修改会话历史的操作本质上也修改了序列的概率分布,可能导致训练时的梯度并不准确,又引入新问题。
训练效率、稳定性与样本稀缺
之前在 【AgentRL】工业级Agentic RL 训练对比选型指南 中分析过同步与异步模式的折衷,两种模式都或多或少会导致长样本比较稀缺:
- 同步模式:若设置较高的轮次上限,Long-horizon trajectory 会显著拖慢整体 Rollout 速度;若设置较低,最有价值的长轨迹会被截断。除非通过精细的调度策略(短任务打包、长轨迹预测优先),否则长样本在 Batch 中将极其稀缺。
- 异步模式:训推分离会导致严重的 Off-policy 问题。Long trajectory 被旧版本 Policy 采样的概率远高于 Short trajectory,导致训练极易不收敛。增加 staleness 控制的方式也会导致长样本的稀缺。
这里解决思路核心仍在于长样本的推理提效(具体做法看前面的博客,这里不重复了),以使得 trade-off 后仍然能够扩最大交互次数上限,采集更长的 trajectory。
第二点是,在长程任务中,Off-policy 性质、训推框架差异等细节都会被放大。
影响 RL 训练效果和稳定性的关键往往在于 Rollout 和 Train 的细微不一致 —— 无论是 moe 还是 long trajectory 训练都可以追溯到训推引擎在参数、配置、FP16/BP16、tokenizer、MoE 专家激活等细节差异(更具体的可参考 https://fengyao.notion.site/off-policy-rl)。解决思路也就是一一对齐训推差异,MoE 上参考 R3(Rollout Routing Replay)记录回放、GSPO 等工作概率分布上降低影响。
参考资料
-
No backlinks found.