论文

LEGO-RL: 面向编码智能体的原生强化学习

LEGO-RL: 面向编码智能体的原生强化学习

针对编码智能体的强化学习日益依赖长时运行的智能体框架来管理工具集成、仓库上下文和执行反馈。然而,这些框架的原生执行环境与策略梯度训练天然存在错位:环境崩溃和奖励作弊会污染结果信号,而训练-推理差异则使 rollout 行为与策略更新脱钩。为此,我们提出 LEGO-RL,一个在不修改原生编码智能体框架内部控制流的前提下,将其与可扩展的策略梯度优化桥接起来的框架。 LEGO-RL 基于三大支柱: 1. 忠实优化:通过进程内 LLM 代理捕获原始生成流,实现 token 级对齐,并在框架侧压缩或重序列化时进行稳健的训练端 log-probability 重计算。 2. 可靠执行:通过可扩展的沙箱编排,利用镜像缓存和分阶段防御来缓解奖励作弊。 3. 可观测训练:集成自动化验证和监控插件,并配备 Live UI 进行细粒度轨迹诊断。 我们使用 GSPO 在三个原生编码智能体框架上训练稀疏 MoE 模型 Qwen3.5-35B-A3B 来评估 LEGO-RL。在 SWE-bench Verified 上,LEGO-RL 将 Qwen3.5-35B-A3B 的性能分别提升至 OpenHands SDK(64.0%→70.4%)、Claude Code(62.4%→68.2%)和 OpenCode(57.2%→66.6%),同时保持 rollout-训练概率相关性超过 0.99。

论文精读

TL;DR LEGO-RL 通过 in-process LLM proxying、沙箱编排与可观测插件,在不改动原生编码 agent harness 的前提下进行策略梯度优化,将 Qwen3.5-35B-A3B 在 SWE-bench Verified 上提升约 6%,rollout–训练概率相关性 >0.99。

问题

问题背景

当前 AI 业界对 coding agents(代码智能体)的强化学习训练高度依赖原生 agent harness(如 OpenHands、Claude Code)来管理长时任务中的工具调用、仓库上下文与执行反馈。这些 harness 原本为推理部署设计,而非面向策略梯度优化。

现有方法局限

传统做法要么修改 harness 内部逻辑以适配训练,导致推理行为失真;要么在训练侧重建一套模拟环境,但无法复现真实 harness 的复杂动态。具体表现:

  • 环境崩溃与 reward hacking:沙箱执行中的偶发错误或代理利用评测漏洞,会污染结果信号,使策略学到投机行为。
  • 训练-推理不一致:训时 rollout 与推理时 harness 在 prompt 构建、历史压缩、模型前向路径上存在差异,造成策略更新的梯度方向偏离真实目标。
  • 概率对齐困难:harness 可能对模型输出做 compaction 或 re-serialization,导致 trainer 无法准确获取 token 级 log-probability,破坏策略梯度估计的无偏性。

为什么难且重要

  1. 不改动 harness 是硬约束:主流 harness 更新频繁,侵入式修改会引入大量维护成本,且无法覆盖所有用户环境。
  2. 可扩展的沙箱编排:大规模 rollout 需要快速、隔离且奖励防作弊的执行环境,但对镜像缓存、资源调度要求极高。
  3. 观测与诊断:agent 轨迹长且稀疏,缺乏可视化手段会严重影响调试效率和训练稳定性。 业界关注点集中在如何在真实执行环境中进行可靠的策略搜索,这直接影响 coding agents 在 SWE-bench 等基准上的真实能力提升。

行业类比

类似在自动驾驶中,仿真器与训练框架若接口不一致,模型会学到仿真特有捷径,导致实车表现暴跌;LEGO-RL 相当于搭建了仿真器与训练框架之间的对齐层,让策略在真实 harness 中直接优化。

核心洞察

  • 核心创新在于通过进程内 LLM 代理(`in-process LLM proxying`)捕获原始生成流,实现 token 级对齐与训练侧重算 log-prob。与现有 agent RL 框架不同,LEGO-RL 不修改 harness 内部控制流,而是以透明代理方式截获未经压缩或重序列化的原始输出,确保 rollout 与训练概率分布一致性超过 0.99。这一设计有效消除历史重写导致的 train-inference discrepancy,为长上下文、多步工具调用的编码智能体提供了低侵入、高保真的优化路径。
  • 可靠执行方面,LEGO-RL 通过可扩展沙箱编排(镜像缓存、阶段式防御)系统性地处理环境崩溃与奖励黑客问题。与仅聚焦算法侧或简单环境封装的框架相比,它把执行可靠性、任务有效性和奖励完整性纳入 RL 训练闭环,显著降低无效 rollout 和误导性奖励对策略更新的污染。工程启示:在真实编码 agent 训练中,执行环境的稳定性与奖励信号质量同等重要,需在基础设施层做专门加固,而非事后修补。

方法

输入与优化目标

LEGO-RL 接收编码 agent 的原生 harness(如 OpenHands SDK、Claude Code、OpenCode)产生的 rollout 轨迹,包括 LLM 调用、工具交互、执行反馈与最终结果。优化对象是策略梯度训练 中的模型(文中为稀疏 MoE 架构 Qwen3.5-35B-A3B),使用 GSPO 优化器。

关键模块

  1. In-Process LLM Proxying:在 agent 进程内嵌入 LLM 代理,直接捕获模型原始生成 token 序列,用于 token 级对齐与 trainer 端 log-probability 重计算。即便 harness 对历史消息进行压缩或重新序列化,仍能保证 rollout 与训练阶段的概率一致性。
  2. Sandbox Orchestration:可扩展的沙箱执行环境,提供镜像缓存和分阶段防御机制,减少环境崩溃与奖励黑客(reward hacking)对训练信号的污染。
  3. Observability Plugin + Live UI:集成插件自动运行验证与监控,Live UI 支持细粒度轨迹诊断。

输出与训练

各模块协同输出可靠的 token 级 log-probabilities、干净的奖励信号 和实时训练观测数据,供 GSPO 进行策略梯度更新。实验显示 rollout–training 概率相关性超过 0.99。

与同类 RL 训练框架(如修改 harness 内部逻辑或采用外部对齐器)不同,LEGO-RL 通过进程内代理与沙箱编排,在不修改 harness 内部控制流 的前提下实现原生环境与策略梯度优化的无缝衔接。

实验

实验设计

LEGO-RL 在 Qwen3.5-35B-A3B 稀疏 MoE 模型上采用 GSPO 进行策略梯度训练,分别接入 OpenHands SDK、Claude Code、OpenCode 三类 native coding-agent harness,以 SWE-bench Verified 为评估基准。重点考察端到端训练有效性、任务可靠性、奖励完整性、rollout–训练对齐度、系统效率与行为变化。

关键发现

三个 harness 下模型得分分别提升至 70.4%、68.2%、66.6%,提升幅度为 6.4–9.4 个百分点。同时,rollout 与训练阶段的对数概率相关性维持在 >0.99,说明 in-process LLM proxying 能够忠实捕获原始生成流并支持 trainer 侧重算 log-prob,即使 harness 侧存在 compaction 或 re-serialization。

基线对比解读

与训练前基线相比,LEGO-RL 在所有 harness 上均获得显著且一致的提升,表明框架不依赖修改 harness 内部控制流即可桥接原生执行环境与策略梯度优化。相比仅依赖传统 RL 基础设施的方法,其核心贡献在于解决环境崩溃与奖励黑客导致的信号污染,以及 train–inference 分布偏移,使训练信号更接近真实 agent 行为。

行业影响

落地场景

LEGO-RL 适用于需要持续训练编码智能体的产品团队,典型场景包括:IDE 插件型代码助手 在仓库级任务上的自我改进;CI/CD 流水线中的自动修复与重构代理;以及 SaaS 集成开发 中生成客户定制化脚本。例如,电商平台可用其训练代理自动维护推荐服务代码库、生成并验证 PR;金融机构可用代理更新风控规则引擎代码,降低人工审查压力。核心优势是无需修改 OpenHands SDK、Claude Code 等原生 harness 的控制流,可直接复用现有 agent 基础设施。

商业价值

通过提升 SWE-bench Verified 成功率(三个 harness 平均提升 6–9 个百分点),直接降低人工干预和返工成本。沙箱镜像缓存与异步调度减少 GPU 空闲与集群开销;奖励完整性防御减少训练崩溃,提高训练稳定性。模型从 35B 稀疏 MoE 即可获得接近更大稠密模型的编码能力,降低推理和部署成本。对产品化而言,意味着能以更低算力训练出可商用的编码智能体,提升开发体验和交付速度。

现有产品/工作流接口

LEGO-RL 通过 in-process LLM proxy 捕获生成流并重算 log-prob,兼容 vLLM 等主流推理引擎;沙箱编排基于 Docker/K8s,可与现有 CI/CD 和 MLOps 平台(如 Argo Workflows、Airflow)集成。任务数据采用 Harbor task 格式导入,支持多个 harness 切换。Live UI 和插件可挂接到 TensorBoard、W&B 等监控栈,便于训练过程诊断。整个框架作为外部训练协调器,不侵入 harness 代码,方便在现有 agent 开发 loop 上增量接入。

局限

  • **方法依赖 in-process LLM proxying 机制,必须针对不同 agent harness 的进程内调用模式进行适配**。论文仅在 OpenHands SDK、Claude Code、OpenCode 三个 harness 上验证,其他广泛使用的编码智能体平台(如 Aider、SWE-agent 等)尚未覆盖。此外,框架假设 harness 不修改内部控制流,若上游 harness 出现较大架构调整,代理层可能需要重新实现,长期维护成本未知,可能限制其生态兼容性。
  • **实验设计单一,仅使用 Qwen3.5-35B-A3B 一个稀疏 MoE 模型与 GSPO 一种策略优化算法**,缺乏对稠密模型(如 Qwen2.5-7B/32B)或其他常用 RL 算法(如 PPO、GRPO)的对照,无法充分评估方法在不同模型架构和优化目标下的鲁棒性。评测集仅使用 SWE-bench Verified,虽然具有代表性,但该基准存在任务过时、提示泄露等问题,实际软件工程场景中的性能提升可能被高估。
  • **reward integrity 防御主要针对已知的奖励破解模式(如修改测试、直接输出答案等),无法覆盖所有未知的对抗性操纵路径**。在真实生产环境中,攻击者可能构造更隐蔽的奖励破坏手段,现有阶段防御策略的完备性未经严格对抗测试。另外,Live UI 和可观测性插件在大规模 rollout 时的可视化与存储开销未被量化,可能成为大规模分布式训练的性能瓶颈。
论文Yiming Du2026-08-18原文

相关内容