长程 Agent 为什么越训越差?Horizon Length 实证研究与两种缩短训练跨度的方法

一道题所需的解题规则没有变,只是必须连续操作更多次,RL 训练就可能从稳定进步变成崩溃。这篇论文通过数独和 Rush Hour 的受控实验研究这个问题,并验证两种办法:让一次决策执行多个底层动作,以及在可验证的子目标处切断回报计算。两者都能缩短训练需要处理的有效跨度。

本文精读 On Training Large Language Models for Long-Horizon Tasks: An Empirical Study of Horizon Length(Sunghwan Kim 等,arXiv v1,2026-05-04;arXiv 页面注明已被 ICML 2026 接收)。解读依据完整正文和附录,实验数值取自原文表格;自构造的数值例子及独立分析会分别标明。

1. 一句话结论与论文全景

在局部解题能力基本具备时,交互跨度本身仍能成为 Agent RL 的训练瓶颈;减少实际决策轮数,或把终局信用分配拆成较短的可验证片段,可以稳定训练,并提高对更长同类任务的泛化。

论文的主角是一个实验问题:模型“每一步会做”和“能连续完成很多步”之间,究竟差了什么?作者主要使用 Qwen3-1.7B,先做监督微调(SFT),再做基于 REINFORCE 的 RL;在数独上通过空格数控制目标距离,在 Rush Hour 上通过最优解步数分组,另用 WebShop、4B 模型和 GRPO-style 更新做补充验证。

一个直观结果来自附录表 7:同样在目标距离 21–30 的数独上训练,测试到距离 26–30 时,宏动作 RL 的平均成功率为 69.50%,原子动作 RL 在崩溃前为 8.75%。测试到训练未见的距离 31–35,宏动作 RL 仍有 54.00%,后者为 3.25%

但这不是无限长程推理的证据:在距离 41–45 时,宏动作 RL 的平均成功率已降到 14.00%;附录还明确发现,步数泛化没有自动带来新解题技巧的泛化。

2. Motivation:先分清“更长”和“更难”

2.1 长任务通常混着好几种困难

网页导航、代码修改或交互式解谜中,任务越长,往往也越需要复杂规划、更多领域知识和更长的上下文。因此只看到长任务训练失败,无法确定问题来自操作长度、知识不足,还是环境观察困难。

作者尝试控制这些混杂因素。数独规则、可用解题技巧和文本表示尽量保持一致,只增加必须填写的格子数;这样,如果训练仍然随步数增加而崩溃,就有更强理由把 horizon 本身视为瓶颈。这个设计的价值在于诊断,而不是提出一个全新的策略梯度估计器。(正文 §3)

2.2 三种长度不能混用

论文定义 直观例子
目标距离 \(d(s_0,g)\) 最优策略完成目标所需的最少原子动作数 数独还空着 30 格,至少要填 30 次
交互预算 \(H_{\max}\) 环境最多允许多少轮交互 最多允许调用环境 50 次
有效跨度 \(h_\pi(s_0,g)\) 当前策略成功完成任务实际用了多少步 因重复或无效操作,实际用了 38 轮

在按同一种原子动作计数的成功轨迹上:

\[ d(s_0,g)\leq h_\pi(s_0,g)\leq H_{\max}. \]

但开放宏动作后,单位变了:目标距离仍按底层原子动作算,策略交互次数则按宏动作算。例如 30 次填格可以在 10 轮里执行完。此时不能把 \(d=30\)\(h_{\text{macro}}=10\) 直接代回上述不等式。

同理,交互轮数也不同于 token 长度。一次输出五个动作通常比一次输出一个动作更长;宏动作减少环境往返,但不保证总 token 数同比下降。

2.3 为什么长跨度会破坏学习?

作者给出两个相互作用的解释。(正文 §4.1、附录 D.1)

第一是探索。若完成任务需要连续通过很多决策,成功轨迹会越来越难采到。作为教学直觉,假设各次决策独立、成功率都为 \(p\),任务需要 \(h\) 次成功决策,则:

\[ P(\text{success})=p^h. \]

例如 \(p=0.95\) 时,\(0.95^{10}\approx59.87\%\),而 \(0.95^{30}\approx21.46\%\)。真实 Agent 的错误相关、可恢复,而且不同动作难度不同,因此这只是简化模型,不能用于直接预测论文曲线。

第二是信用分配。终局失败可能给许多本来正确的中间步骤带来负 advantage。策略梯度随后压低这些已采样 token,同时提高其他 token 的 logit,却没有指出真正正确的替代动作。作者观察到,长跨度训练崩溃伴随触及最大回复长度的比例突然上升,并推测错误负向更新的累积损害了生成行为。曲线支持两者相关,但尚不足以证明这就是崩溃的唯一原因。

3. Method:怎样缩短有效训练跨度?

3.1 先构造尽量可比的任务

数独使用 \(9\times9\) 棋盘,按空格数划分 L1–L7:11–15、16–20、21–25、26–30、31–35、36–40、41–45。作者使用 HoDoKu 检查解题技巧,并用 Qwen3-8B 在一次生成完整答案的设置下进行 pass@8 筛选,保留至少答对过一次的题目。训练覆盖 L1–L2 或 L3–L4;每个训练区间有 640 题,L5–L7 用于更长距离的测试。(表 1、附录 B.1)

Rush Hour 无法简单地改成可靠的一次性解答,所以先允许车辆一次移动多格,用 GPT-5-mini 筛选能解出的题,再按求解器给出的最优步数分组。(附录 B.2)

这里有一个必须保留的边界:筛题模型比主要受训模型更大。因此筛选证明的是参考模型在短跨度设置下能解,并不严格证明 Qwen3-1.7B 已具备每一道题的全部局部能力。

3.2 宏动作:一次决策批量执行多个原子操作

数独原子动作可以是:

1
value(5, r1c1)

宏动作允许一次回复输出多个填格动作;Rush Hour 则从一次移动一格扩展为 move(id, direction, N),一次移动 \(N\) 格。策略因此可以在较少的环境交互中完成同样的底层工作。(正文 §4.2.1)

这里的关键设计变量是动作长度由谁决定。作者比较了固定长度、限定上限但长度可变,以及不设固定上限的宏动作。图 5 和图 13 显示,允许策略灵活选择动作数量通常更好,但并不是宏动作越长越好;例如 Gemini-3-Flash-Preview 的固定两步也很有竞争力,而固定五步明显较差。

3.3 子目标分解:在可验证里程碑处重新计算回报

另一种路线保持原子动作接口,将完整目标分成较短子任务。数独有天然可验证的里程碑:正确完成一个子宫格。作者在完成子宫格时提供中间奖励,并在该处切分轨迹,对每个片段独立计算 return。(正文 §4.2.2)

对片段内时刻 \(t\),若该片段结束于 \(b_j\),则其局部回报可以写成:

\[ G_t^{(j)}=\sum_{k=t}^{b_j}\gamma^{k-t}r_k. \]

它改变的是当前动作需要对多远的结果负责。已经完成的子目标可以提供成功信号,即使后续另一片段失败,也不必让前面所有步骤承担相同的终局惩罚。总的底层操作数未必减少,但回报传播距离缩短了。

这一点把本文与细粒度奖励联系起来:单纯增加格式或合法性奖励,未必缩短任务级信用分配;这里的有效操作还包括在子目标边界切开 return。

3.4 配套 RL 目标与稳定化措施

Agent 状态由任务目标、当前观察和最近两轮历史组成,避免历史无限增长。每次输出包含详细思考、简短理由和动作,历史中保留理由摘要而不保留完整思考。模型先用专家成功轨迹 SFT,再进行 RL。(附录 C.1–C.3)

奖励拆成轨迹结果与局部约束两部分。记轨迹折扣回报为 \(r_t^{\text{traj}}\),格式和动作合法性奖励之和为 \(r_t^{\text{step}}\),分别在 batch 内归一化:

\[ \hat r=\frac{r-\operatorname{mean}(r)}{\operatorname{std}(r)}, \qquad A_t=\hat r_t^{\text{traj}}+\alpha\hat r_t^{\text{step}}, \quad\alpha=0.2. \]

论文的默认设置是 batch normalization,不应直接写成标准 GRPO 的组内归一化。GRPO-style 版本作为另一个实验单独验证。

由于 rollout 策略 \(\mu\) 与训练策略 \(\pi_\theta\) 可能不一致,作者对一次回复 \(y_t\) 使用两种重要性采样比率:

\[ \rho_{\text{seq},t} =\prod_{i=1}^{|y_t|} \frac{\pi_\theta(y_{t,i}\mid x_t,y_{t,<i})} {\mu(y_{t,i}\mid x_t,y_{t,<i})}, \qquad \rho_{\text{geo},t}=\rho_{\text{seq},t}^{1/|y_t|}. \]

几何平均比率负责筛除偏移太大的样本,序列比率负责截断加权:

\[ w_t=\mathbf1[0.995\leq\rho_{\text{geo},t}\leq1.01] \min(\rho_{\text{seq},t},3). \]

最终梯度按下面的形式累加,\(w_t\) 停止梯度:

\[ \nabla J(\theta) =\mathbb E_{\tau\sim\mu} \left[\sum_t w_t A_t \sum_{i=1}^{|y_t|}\nabla_\theta\log\pi_\theta(y_{t,i}\mid x_t,y_{t,<i})\right]. \]

附录表 3 给出 RL 学习率 \(10^{-6}\)、折扣因子 \(\gamma=0.995\),KL loss 和 KL penalty 系数均为 0。作者还强调保存采样时的原始 token IDs,避免“转成字符串再重新分词”改变用于算 log probability 的 token 序列。

推理阶段继续使用训练对应的动作接口和滚动记忆,权重不再在线更新。论文用训练后的策略回答未见题目,并进一步测试未见的目标距离。

4. 具体数值例子:从棋盘到一次训练更新

以下是教学用简化示例:将真实 \(9\times9\) 数独缩为 \(4\times4\)、每个子宫格为 \(2\times2\)。动作、回报和概率均为演示构造;\(\gamma=0.995\)\(\alpha=0.2\) 及重要性采样阈值沿用论文配置。

4.1 相同棋盘,四次填格与两轮交互

输入棋盘为:

1
2
3
4
5
. 2 | 3 4
3 . | 1 2
----+----
. 1 | 4 3
4 . | 2 1

每行只有一个空格,可依次确定:第一行缺 1,第二行缺 4,第三行缺 2,第四行缺 3。完整原子动作序列是:

1
2
3
4
a1 = value(1, r1c1)
a2 = value(4, r2c2)
a3 = value(2, r3c1)
a4 = value(3, r4c2)

每轮只执行一个动作时,需要四轮观察—决策—执行。允许宏动作时,可以在第一轮输出 [a1,a2],观察左上宫格已完成,再在第二轮输出 [a3,a4]。最后得到:

1
2
3
4
5
1 2 | 3 4
3 4 | 1 2
----+----
2 1 | 4 3
4 3 | 2 1

两种接口都完成了四次填格,目标的原子距离为 4;策略与环境的往返次数分别为 4 和 2。宏动作内部仍要正确生成两个动作,因此不能假设它与单个原子动作具有相同的成功概率。

4.2 子目标怎样改变回报?

仍使用四轮原子动作。先设只有最后成功时得到奖励 1,则奖励序列为 \([0,0,0,1]\)。以 \(t=0,1,2,3\) 编号:

\[ G=[\gamma^3,\gamma^2,\gamma,1] =[0.985075,0.990025,0.995,1]. \]

改用两个子目标:完成左上宫格、完成左下宫格,每次完成奖励 1;分别对 [a1,a2][a3,a4] 计算片段回报,得到:

\[ G^{(1)}=[0.995,1],\qquad G^{(2)}=[0.995,1]. \]

假如第一宫格正确完成,第二片段却失败且没有获得成功奖励,则回报变成:

\[ G_{\text{subgoal}}=[0.995,1,0,0]. \]

只有终局奖励时,该失败轨迹四个位置的成功回报都是 0;子目标分解让前两步仍得到可辨认的成功信号。这里既增加了可验证中间奖励,也切断了片段间的 return,不能把收益全归因于折扣数值从 0.985 变成 0.995。

4.3 从 reward 算到 advantage

取一个包含四个待训练时间步的教学 batch,轨迹回报和局部奖励分别为:

\[ r^{\text{traj}}=[1,1,0,0],\qquad r^{\text{step}}=[0,0,-1,-1]. \]

第二个数组表示前两步合法、后两步受到局部惩罚;并非论文规定惩罚一定为 \(-1\)。按总体标准差手算,二者均值为 \(0.5\)\(-0.5\),标准差均为 \(0.5\),因此:

\[ \hat r^{\text{traj}}=\hat r^{\text{step}}=[1,1,-1,-1], \]

\[ A=[1,1,-1,-1]+0.2[1,1,-1,-1] =[1.2,1.2,-1.2,-1.2]. \]

这展示了两个奖励维度先独立标准化、再合并的流程;真实 batch 的有效步、数值稳定项和边界处理需要依实现核对。

4.4 重要性采样与梯度方向

把某条正向回复压缩为两个 token,采样策略对它们的条件概率为 \([0.4,0.5]\),当前策略对应概率为 \([0.402,0.501]\)。这不是同一个位置的词表分布,而是两个不同位置上实际采样 token 的概率。

\[ \rho_{\text{seq}} =\frac{0.402}{0.4}\frac{0.501}{0.5} =1.005\times1.002=1.00701, \]

\[ \rho_{\text{geo}}=\sqrt{1.00701}\approx1.003499. \]

它位于 \([0.995,1.01]\),通过 mask;序列权重也未触及上限 3,所以 \(w=1.00701\)。取 \(A=1.2\),该回复每个 token 的 log probability 梯度系数是:

\[ wA=1.00701\times1.2=1.208412. \]

为了看到 token 更新,假设第一个位置的完整三 token 分布为 \(p=[0.402,0.448,0.15]\),采样的是第一个 token。根据正文 §2.2.2 的 softmax 梯度:

\[ \frac{\partial J}{\partial z_v} =wA\bigl(\mathbf1[v=y]-p_v\bigr), \]

得到:

\[ \begin{aligned} \nabla_z J &=1.208412[0.598,-0.448,-0.15]\\ &\approx[0.722630,-0.541369,-0.181262]. \end{aligned} \]

最大化目标会提高已采样 token 的 logit,降低其他两个。若相同位置被赋予 \(A=-1.2\),整个向量反号;这说明负回报会压低已选 token,同时抬高替代项,但无法辨别哪个替代项才正确。这也是长轨迹中误罚正确局部步骤的风险来源。

完整流程到此闭合:宏动作改变交互结构,子目标改变回报归属,batch 归一化形成 advantage,重要性采样修正 rollout 偏移,最后策略梯度更新模型。真实训练使用整个词表和全部有效输出 token,优化器更新共享模型参数,而不是直接修改这三个独立 logit。

5. Results:哪些证据最有说服力?

5.1 先明确指标与比较口径

主实验使用 Qwen3-1.7B、SFT 初始化后 RL 训练 4 epochs;训练与评估温度均为 0.8,每题评估四条轨迹。avg@4 是这四次尝试的平均成功比例,pass@4 是四次至少成功一次的题目比例,两者不能混用。(正文 §4.1)

数独 L1–L6 每级测试 100 题,L7 为 50 题。下面全部使用 avg@4,单位为百分比;原子动作长程 RL 的数值来自作者标注的 before collapse checkpoint。(附录表 7)

动作与训练方式 RL 训练目标距离 L3:21–25 L4:26–30 L5:31–35 L6:36–40 L7:41–45
宏动作,初始 SFT 无 RL 26.25 8.75 2.00 0.00 0.00
宏动作 RL 11–20 68.75 41.75 26.25 8.25 2.50
宏动作 RL 21–30 87.25 69.50 54.00 30.75 14.00
原子动作 RL 11–20 43.25 13.75 4.00 0.50 0.00
原子动作 RL,崩溃前 21–30 29.75 8.75 3.25 0.00 0.00
原子动作 RL,子目标分解 21–30 51.00 28.75 11.50 3.00 0.00

同在 21–30 上训练,宏动作相对原子动作崩溃前的 L4 提升为 \(69.50-8.75=60.75\) 个百分点,L5 提升为 \(54.00-3.25=50.75\) 个百分点。子目标分解的 L4 提升则为 \(28.75-8.75=20.00\) 个百分点。

宏动作策略的初始性能本来就较高,因此这张表单独看不能把全部差距都归因于交互轮数;作者为此做了更有针对性的干预。

5.2 最关键的消融:让同一个宏动作策略重新走长路

图 4 保留宏动作策略,但让环境每轮只执行一个原子动作,从而恢复较长的实际交互跨度。结果是:该设置训练初期变好,后来仍然崩溃;正常执行宏动作的设置则稳定提升。

这比简单比较两套动作接口更有解释力,因为策略原本的宏动作表示能力被保留,主要改变的是实际执行跨度。它支持有效 horizon 对训练稳定性有直接影响;但执行接口变化也会改变状态访问和反馈频率,因此仍应称为强实验证据,而非对所有混杂因素的数学排除。

5.3 从短到长的课程能把探索启动起来

Rush Hour 先在距离 4–9 上 RL,再迁移到 10–12。附录表 8 的宏动作结果如下:

RL 训练方式 测试 10–12 测试 13–15 测试 16–18 测试 19–21
只训练 4–9 30.36 4.25 0.75 0.00
直接训练 10–12 32.14 5.50 0.75 0.25
先 4–9,再 10–12 56.18 20.25 5.00 2.25

课程训练在 10–12 上比直接训练提高 24.04 个百分点,在未见的 13–15 上提高 14.75 个百分点。这里“短程训练”说的是 RL 阶段:Rush Hour 的 SFT 已覆盖 4–12,不能把它描述成模型此前完全没见过 10–12 的任务。

5.4 换环境、模型规模和优化器是否还成立?

正文 §4.3、图 7 给出三组补充结果:WebShop 上较短的接口训练更稳;Qwen 4B 数独原子动作训练仍可能崩溃,宏动作缓解;改为 GRPO-style 组内归一化也观察到类似趋势。

WebShop 的设计尤其需要说明:原生 search/choose 加参数被当作短跨度条件;长跨度条件将一次调用拆成“先选操作类型,再选参数”两次决策。因此该实验表明人为增加接口决策轮数有代价,尚不能直接证明任意真实网页长任务都能通过动作合并解决。

附录表 6 还显示训练基础设施的重要性:完整的重要性采样与奖励归一化配置为 avg@4 96.0;仅 Seq-TIS 为 91.4,仅 Geo-MIS 为 89.4,去掉奖励归一化则为 44.4。这些是该表特定消融设置的结果,不能与上面的跨 horizon 主表混成同一个总体分数。

6. 最具创新性的点

我认为核心贡献是:通过任务构造和执行干预,将 horizon 从“任务难度的附属描述”推进为一个可以单独研究、可以主动改变的训练变量。

宏动作、层次 RL、子目标和课程学习都有既有研究基础。本文把这些操作连接到同一个经验问题:在推理规则相近的情况下,需要多长的交互链、把回报传多远,会怎样改变训练稳定性?

最能支撑这个贡献的是图 4 的“恢复长跨度”干预,表 7–8 的跨目标距离测试则展示了实际后果:训练学到的局部行为可以在更长的熟悉任务中复用,但需要控制错误累积和训练噪声。

7. 不足与可能的改进

7.1 作者承认:任务与模型覆盖仍有限

附录 A 强调文本解谜和 Qwen 小模型的局限。正文已补充 WebShop、4B 模型,以及前沿模型上的动作接口测试,所以不能说论文完全没有其他环境或更大模型;更准确的边界是,大规模跨模型族的长程 RL 训练,以及带噪声、随机转移的真实部署证据仍不足。

可扩展到代码修复、带工具失败的浏览任务和随机环境,比较成功率、错误恢复率与崩溃频率。代价是更高环境成本,也更难把 horizon 与观察困难分离,因此应保留配对的接口干预实验。

7.2 作者实测:horizon generalization 不等于 technique generalization

附录 D.4、图 12 加入需要中高难度技巧的数独后,模型即使在训练范围内的步数上也明显退化。原基准大多只需简单技巧,长程成功主要表示已知技能能连续执行更多次。

可以把课程做成二维设计:分别增加目标距离和技巧难度,用含新技巧的示范或可验证过程监督补齐能力,再测试“新长度 × 新技巧”。这会增加标注成本,也需要避免把新技巧监督带来的收益误算成纯 RL 泛化。

7.3 我的分析:筛题控制并不等于完全消除了能力差异

数独由 8B 模型筛选、主要由 1.7B 模型训练;Rush Hour 则由 GPT-5-mini 筛选。参考模型能解与目标模型具备充分局部能力之间仍有距离,筛选也可能偏向容易被压缩执行的题型。

改进可以在同一题的多个中间状态上测量目标模型的单步正确率,再做匹配采样;同时报告筛选前后的结果。这样能更直接控制初始能力,但会增加评估成本,并可能让样本选择偏向目标模型已有偏好。

7.4 我的分析:需要同时报告原子动作、交互轮数和 token 预算

表 3 中,数独宏动作的单次回复上限从 2,048 扩到 4,096 tokens;Rush Hour 的环境轮数上限也从 30 改为宏动作的 20。宏动作还会改变一次观察后能连续执行多久。因此稳定性收益不能自动等同于相同总算力下更高效。

可在固定总生成 token、固定墙钟时间和固定环境调用预算三种协议下分别对比,绘制成功率—成本曲线。实验开销会增加,但可以分清收益来自执行结构、额外生成预算,还是更少的工具往返。

7.5 我的分析:宏动作与子目标都需要应对反馈不足

随机环境中,执行多个动作前不观察中间状态,可能使早期小错扩大。子目标也可能局部可验证却不利于最终目标,例如完成一个方便但错误方向的中间任务。

宏动作可以增加中途检查与提前终止,让长度随不确定性调整;子目标则需要验证其与最终目标的一致性。应同时测最终成功率、无效操作率和恢复成本。新风险是 verifier 调用增多,重新拉长实际交互跨度。

7.6 我的分析:崩溃机制和统计稳定性还可以进一步验证

负 advantage 的 logit 梯度揭示了误罚的可能性,但负更新本身并不必然导致崩溃。参数共享、采样偏移、回复截断和记忆窗口也可能参与形成训练退化。主文与结果表没有提供清晰的多训练 seed 置信区间,曲线现象还需要重复实验支撑。

可以固定 horizon,分别干预负 advantage、token 一致性与采样修正,报告多 seed 崩溃率、平均成功率和最大长度回复比例;再与固定训练 token 的短长跨度实验交叉。仅抑制负更新也可能削弱必要探索,所以应评价稳定性和最终能力,而不是只追求曲线平滑。

8. 读者应记住的要点

长程 Agent 的困难包含局部能力、连续执行、探索和回报归因。本文给出的实证建议是:当规则已会、训练却随步数增长而失稳时,可以把动作粒度和子目标边界当作主要训练设计变量。

宏动作缩短决策链,子目标分解缩短回报传播链;前者依赖批量执行的可靠性,后者依赖里程碑可验证且与总目标一致。两者能帮助模型把已有技能用得更久,但对新技能的学习与极长任务的可靠性,仍需另外验证。

参考与站内延伸


长程 Agent 为什么越训越差?Horizon Length 实证研究与两种缩短训练跨度的方法
https://kissshhot.github.io/2026/09/07/long-horizon-training-horizon-reduction/
作者
丁一帆
发布于
2026年9月7日
许可协议

点赞与评论

喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。

如果评论无法加载,请检查网络连接后刷新页面。