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