Harness-native Agent 的端到端训练:OpenForgeRL 解耦训练与推理

arXiv:2607.21557 · Xiao Yu (Columbia) et al. · 2026-07-23 · cs.AI

为什么重要:当前所有能打的 agent 几乎都套在 Claude Code、Codex、OpenClaw 这类复杂 harness 上,但开源 RL 栈只能训练"简化版 harness",结果就是 train-deploy mismatch——你训练的 agent 和你部署的 agent 不是同一个东西。Columbia + Microsoft Research 的这篇论文给出了一个工程化的解:让 RL 训练直接在你的真实部署 harness 上跑,把 harness 当成生产环境而不是训练障碍。

一句话总结:用轻量 proxy 拦截 harness 的推理调用、把轨迹录成标准 RL 样本,再用 Kubernetes 把 rollout 扔到远程容器——任何 harness × 任何环境都能直接喂给 veRL 这类标准 RL 框架。

核心论文解读

OpenForgeRL: Train Harness-native Agents in Any Environment

局限性

关键架构图(文字版)

┌──────────────┐    proxy      ┌───────────────┐
│  Harness     │ ◀────────────▶│  RL Trainer   │
│ (OpenClaw,   │  拦截 model   │  (veRL etc.)  │
│  Claude Code,│  call 并记录   │               │
│  Codex, ...) │                └───────┬───────┘
└──────────────┘                        │
        │                               │ 启动 rollout
        │ 跑在容器里                     ▼
        ▼                       ┌───────────────┐
┌──────────────┐                │  K8s Cluster  │
│  Remote      │ ◀─────────────▶│  (Azure 等)   │
│  Container   │  每个 rollout   └───────────────┘
│  per rollout │   独立环境
└──────────────┘

关键设计取舍:让 harness 保持原样跑在生产环境,训练只接管 model call 这一层。这绕过了"重新实现简化 harness"的坑,但也意味着 harness 内部状态对 trainer 是黑盒——只能从轨迹反推。

相关工作

论文 / 系统 定位 与 OpenForgeRL 关系
Agentic Context Management (ACM) 把 agent memory 当 lifecycle / architecture 问题,不是 storage 问题 互补:OpenForgeRL 解决训练侧 train-deploy mismatch,ACM 解决部署侧 context 增长成本(claim 92% LongMemEval)
Recursively Self-Improving Agent for Deep Research 多约束 deep research agent,分解验证 vs 搜索成本 同一波"agent 工业化"路线,关注点在 self-improvement 而非 RL infra
RRBench (UCL-ARC) 本地 open-weight LLM 在受限研究环境下做纵向数据准备 同一波"governance-restricted agent",但关注 offline evaluation 而非训练
Continuous Assurance for Citizen-Created Agents 低代码 agent 的部署后可靠性治理(dependency mapping + readiness contracts) 关注 democratization 后的 silent degradation,与 OpenForgeRL 训练期可靠性互补
MIRROR (Modality-Informed Reciprocal Reasoning) 用 reverse-KL 让 VLM 在 text/image/combined 三视图间互训 同期 RL 训练新方法学,但不在 harness 层面

我的判断

这是一个工程上的杠杆点,不是方法论突破。真正的贡献是把"任何 harness × 任何环境 × 标准 RL 框架"这个组合变成可复现的工程栈,而不是提出新的 RL 算法。

为什么这件事对 JC 重要

三个值得追踪的问题

  1. error recovery 是 agentic RL 的下一个硬骨头——OpenForgeRL 明确承认这一点,但没给方案。后续工作可能会把 self-verification、rollback、tool retry 显式建模成可学习 primitive。
  2. harness-aware RL 算法:现在 OpenForgeRL 是 harness-agnostic(任何 harness 都能塞),但 harness 难度差异说明 harness 结构和 RL 收敛行为强耦合。专门针对 harness 结构的 curriculum / reward shaping 是下一个方向。
  3. K8s 依赖是 adoption 障碍:单机 / 单卡研究者用不了。轻量版(Docker Compose + 本地 rollout)会决定这个工作被引用的范围。

反向风险

下一步可以挖