Hugging Face 将 Claude Code、Codex 等编码 harness 变成 RL 训练环境并开源
Hugging Face 团队把 Claude Code、Codex、Hermes、Pi、OpenCode 等编码 harness 变成了 RL 训练环境,不改动 harness 和训练代码,全部开源。
我们把 Claude Code、Codex、Hermes、Pi、@opencode 以及其他编码框架改造成了强化学习环境。框架本身零改动,训练代码也零改动。任何开源模型、任何任务集,朋友们,完全开源!
同一个模型、同一套权重:在 Mini-SWE-Agent 下是 62%,在 Claude Code 下是 33%。但要在真实框架内训练,通常意味着把它重新实现为一个环境,所以大多数模型都是在一个实际上没人发布的脚手架里训练的。
解决方案是代理,而不是重写。框架以为自己在和模型 API 对话,实际上它在和一个捕获代理对话——该代理支持编码智能体使用的 4 种格式(OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Gemini),将请求转发给 @vllm_project,记录 vLLM 采样出的确切 token ID 和 logprobs,然后把 TRL 可以训练的序列交出去。框架本身就成了环境。目前有 10 个框架通过它运行,一个都没改。
而且因为你控制奖励,你可以塑造框架从未要求过的行为。我们为用更少工具调用完成任务加了一个小奖励:在模型已经能解决的任务上,它现在在所有框架中都减少了 31% 的调用,在 Codex 下减少约一半。
在 @liquidai 的 LFM2.5-2.6B 上测试:
→ 在一个框架中训练:主要在该框架中变强(OpenCode 34% → 58%)。
→ 同时在 4 个框架中训练:在全部 4 个中都变强(42% → 54%)。
→ 改用 Qwen3.8-27B 的 3,189 条 rollout 做 SFT:在 47.5% 就停滞了,低于两次 RL 运行的结果。
一切开放且可复现:OpenEnv 中的捕获代理、TRL 中的训练器、任务、SFT 数据、训练代码以及全部 7 个训练好的模型。接下来是更大的模型和更大的训练规模。
完整指南:huggingface.co/spaces/FineEn…
来源:ClementDelangue · x.com