Nous avons transformé Claude Code, Codex, Hermes, Pi, @opencode et d'autres harness de codage en environnements RL. Aucune modification des harness, aucune modification du code d'entraînement. N'importe quel modèle ouvert, n'importe quel jeu de tâches, entièrement open source mes amis !
Même modèle, mêmes poids : 62 % sous Mini-SWE-Agent, 33 % sous Claude Code. Mais entraîner au sein d'un vrai harness signifie normalement le réimplémenter comme un environnement, donc la plupart des modèles sont entraînés dans un scaffold que personne ne déploie réellement.
La solution est un proxy, pas une réécriture. Le harness croit parler à une API de modèle. Il parle en réalité à un proxy de capture qui comprend les 4 formats utilisés par les agents de codage (OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, Gemini), transmet à @vllm_project, enregistre les token IDs et logprobs exacts échantillonnés par vLLM, et fournit à TRL des séquences sur lesquelles il peut s'entraîner. Le harness devient l'environnement. 10 harness l'ont utilisé aujourd'hui, aucun modifié.
Et comme vous contrôlez la récompense, vous pouvez façonner des comportements que le harness n'a jamais demandés. Nous avons ajouté un petit bonus pour résoudre une tâche en moins d'appels d'outils : sur les tâches qu'il résolvait déjà, le modèle utilise désormais 31 % d'appels en moins, dans chaque harness, et environ la moitié sous Codex.
Testé sur LFM2.5-2.6B de @liquidai :
→ Entraîner dans un seul harness : de meilleures performances surtout dans ce harness (OpenCode 34 % → 58 %).
→ Entraîner dans 4 à la fois : de meilleures performances dans les 4 (42 % → 54 %).
→ SFT sur 3,189 rollouts de Qwen3.8-27B à la place : plafonne à 47.5 %, en dessous des deux exécutions RL.
Tout est ouvert et reproductible : le proxy de capture dans OpenEnv, le trainer dans TRL, les tâches, les données SFT, le code d'entraînement et les 7 modèles entraînés. Des modèles plus grands et des exécutions plus importantes ensuite.
Guide complet : https://huggingface.co/spaces/FineEnvs/multi-harness-rl

