返回 FEED
AGENT2026-07-03

递归智能体优化(RAO):用 RL 训练 LLM 分而治之

AVB 解读了 Recursive Agent Optimization(RAO)论文——用强化学习训练 LLM 智能体生成递归子智能体,在 Python REPL 中实现分而治之。

实验环境

作者训练了两个非常小的本地模型:

  • Dense LM: Qwen3-4B-Instruct
  • MoE: Qwen3-VL-30B-A3B-Instruct

故意选择长程/长上下文任务:

  1. TextCraft-Synth: Minecraft 风格制作游戏,需要发现子问题(收集木头 → 制作木板 → 制作木棍)
  2. Oolong-Real: 长程 D&D 转录 Q&A,10-12 页对话,极难检索任务
  3. DeepDive: 多跳迭代网络搜索 + 信息综合

执行树

当语言模型被赋予任务 X 时,它产生一个"轨迹"(trajectory)——智能体为尝试完成任务而采取的一系列观察和动作。

在此过程中,智能体可能选择在委托的子任务 X1、X2... 上生成子智能体。这创建了一个有根执行树

  • 每个节点 = 一个解决一个任务的智能体实例
  • 根节点 = 原始任务
  • 子节点 = 该智能体决定委托的子任务

生成动作(Spawn Action)

递归实现为单个 async 函数:

result = await async_launch_subagent(
    goal="find all papers about X", ...
)

策略决定:

  1. 是否委托(调用 launch_subagent)
  2. 子任务描述是什么
  3. 请求什么输出格式
  4. 是否并行化子节点(asyncio.gather)
  5. 如何聚合结果

REPL 的强大之处

  • 返回类型不受限制
  • 父节点可以用普通 Python 链式、组合或转换子输出
  • 子节点可以顺序(依赖)或并发(独立)运行
  • 关键:子节点返回的输出不直接加载到父节点上下文,而是保存在 Python 变量中,父节点可以操作这些变量后再加载

局部节点奖励(信用分配)

标准 RLVR 中只有根节点获得奖励信号。在递归设置中,叶子智能体在数百个 token 之外,信用分配基本断裂。

RAO 使用局部成功信号:LLM judge(gpt-5-mini)评估子任务输出并生成奖励。

两个评分项

  1. Term 1: 该节点是否解决了分配的任务?(直接成功信号)
  2. Term 2: 该节点的子节点(如果存在)是否成功完成了委托的子任务?(委托奖励信号)

委托奖励使用子节点的平均成功率而非求和或计数,防止退化策略(生成 100 个琐碎子任务只为收集奖励)。

三个训练技巧

1. 多任务目标

从单个根任务自然生成多个深度的任务。RAO 同时训练每个深度的任务——同一策略被优化为深度 0(根规划器)、深度 1(中层委托者)和深度 2+(叶子执行者)的好智能体。

课程学习效果:子任务几乎总是比根任务简单。早期训练模型在根任务上失败(太难),但可以从较简单的深度 1 和深度 2 子任务中获得奖励。随着训练进展,模型自然生成更难更复杂的子任务。

2. Leave-One-Out 基线

对每个根任务采样 G 个独立 rollout 树。rollout g 的优势 = rollout g 的奖励 - 所有其他 rollout 的平均奖励。

每个子智能体的优势 = 局部奖励 - 同一 LOO 基线。

3. 深度级逆频率加权

如果智能体生成 4 个子节点,每个再生成 4 个,则有 1+4+16=21 个轨迹节点,但只有 1 个根。如果简单平均梯度,叶子节点以 16:1 主导更新。

修复:逆频率加权。深度 d 的每个轨迹权重 = α/|B_d|,其中 |B_d| 是该深度的轨迹数。这防止人口稠密的树层主导学习。

惊人结果

1. 上下文管理技能在训练后期自发进化

Oolong-Real 训练中,递归智能体被限制在 32K 上下文窗口但需要处理 55K+ token 文档。它最初尝试将整个输入文档打印到根上下文,立即填满并崩溃。然后完全自主地放弃了这个策略,学会了正确方法:将输入分块并委托每个块给子智能体。

2. 即使不需要递归,递归仍然帮助

即使 40K 上下文窗口完全足够解决任务,递归智能体仍然训练更快、表现更好。因为子智能体奖励充当密集过程奖励——每个子任务完成在任务中途提供训练信号,而非仅在最后。

3. 分而治之可迁移

模型仅在 TextCraft 中等难度任务上训练,从未见过困难任务。评估时泛化到更困难的任务——因为分而治之是可迁移策略

4. 30B 模型接近 Claude、o3、GPT-5-mini

Oolong-Real 上,递归智能体达到 0.320 平均奖励。30B 开源模型,仅在此特定任务上用 RL 训练,接近万亿参数前沿模型

5. 顺序任务更慢但更聪明

DeepDive 上,递归智能体比单一智能体慢 18 倍。但单一智能体快是因为它过早放弃并走捷径。递归智能体在困难任务上使用深度 4+,在需要的地方精确分配更多计算

核心 takeaway

递归智能体优化的核心洞察:分而治之不仅是一种策略,更是一种可学习的、可迁移的问题解决范式。

当模型学会将中等问题分解好,它可以将相同的分解模式递归地应用得更深,解决更困难的问题。子智能体奖励作为密集过程奖励,在任务中途提供训练信号——这是单一智能体无法获得的。

30B 模型接近前沿模型的结果表明,智能体架构和训练方法可能比模型规模更重要。