好きなOSSリポジトリを、そのまま強化学習の訓練データに変えられる時代が来ました。
本記事では、Hugging Faceが公開したオープンソースツール「Repo2RLEnv」の概要と使い方を解説します。
この記事でわかること
- Repo2RLEnvが解決する課題と仕組み
- 安定版パイプライン2種と実験版パイプラインの違い
- データセット生成からHugging Face Hub公開までの手順
- OpenEnvやSWE-Gymなど類似プロジェクトとの位置づけ
https://github.com/huggingface/Repo2RLEnv
Repo2RLEnvとは
Repo2RLEnvは、任意のGitHubリポジトリから検証可能な強化学習(RL)用タスクを自動生成するPythonツールです。Hugging FaceがApache 2.0ライセンスで公開しており、PyPIからrepo2rlenvとしてインストールできます。最新リリースはv0.8.3(2026年5月28日公開)です。
ツールのキャッチコピーは「Turn any GitHub repository into a verifiable RL environment for training and evaluation.」——任意のリポジトリを、訓練と評価に使えるRL環境へ変換する、という設計思想が端的に表れています。
なぜ必要か——RL訓練データの壁
コーディングエージェント向けのRL訓練では、タスク定義と報酬設計が最大のボトルネックです。SWE-benchのようなベンチマークは評価には優れていますが、任意のリポジトリから訓練データを量産する仕組みは限られていました。手作業でタスクを書き、テストで検証し、データセット形式に整える作業は、リポジトリごとに繰り返す必要があり、スケールしません。
Repo2RLEnvはこの課題に、「合成(synthesis)→標準化→訓練・評価」の一気通貫フローで応えます。リポジトリのマージ済みPRやコミット履歴を種にしてタスクを生成し、プログラムで自動採点する報酬を付与します。人間による手動採点は不要です。
主な機能
合成パイプライン
Repo2RLEnvの中核は、リポジトリを読み取りHarbor形式のタスクを出力する合成パイプラインです。安定版として推奨されるのは次の2つです。
pr_diffは、マージ済みPRの差分からテキストベースのタスクを生成します。エージェントが提案した編集を、実際のマージ差分と照合して6要素(フォーマット、変更サイズ、ファイル指定、領域オーバーラップ、変更内容の類似度、LLMジャッジ)で採点します。Dockerのブートストラップ不要で、軽量なpython:3.12-slimイメージだけで動きます。
pr_runtimeはSWE-bench方式の主力パイプラインです。マージ済みPRからタスクを生成し、Dockerサンドボックス内でリポジトリのテストスイートを実際に実行します。PRで修正されたテストが失敗から成功に変わること(FAIL_TO_PASS)、他のテストが引き続き成功すること(PASS_TO_PASS)を検証し、報酬はf2p_rate × p2p_rateで算出されます。ゲームしにくい、最も信頼性の高いシグナルです。
実験版パイプラインとしてcommit_runtime(PRを経由しないコミット履歴のマイニング)、cve_patches(CVE修正コミットからのセキュリティタスク)、code_instruct(ソースファイルから問題と検証器を生成)なども用意されています。実験版を実行するとCLIが警告を表示します。
ブートストラップ——環境構築の自動化
サンドボックスを使うパイプラインでは、対象リポジトリのDocker環境が必要です。Repo2RLEnvのブートストラップフェーズがこれを自動化します。LLMエージェントが新しいコンテナ内でシェルコマンドを繰り返し実行し、リポジトリのビルドとテスト収集が通るまで試行します。完成したイメージはコンテンツアドレスでキャッシュされ、同じリポジトリ・参照に対しては1回だけ実行されます。pr_diffはこの工程をスキップします。
Harbor形式での出力とHub公開
生成されたタスクはHarborタスクフォーマットで出力されます。Harborはタスク仕様とランタイムを提供するフレームワークで、Repo2RLEnvはサンドボックスやエージェントハーネスの再実装を避け、合成に専念する設計です。各タスクのtask.tomlには[metadata.repo2env]ブロックでパイプライン名、ベースコミット、PR URL、コンテンツハッシュ、報酬種別などの出所情報が記録されます。
データセットはrepo2rlenv pushでHugging Face Hubに直接公開できます。Harbor互換のregistry.jsonが書き出されるため、利用者はharbor downloadやrepo2rlenv pullで取得し、追加の変換コードなしに使えます。
エージェント評価とRL訓練
生成した環境に対して、Harborが提供する25以上のエージェントハーネス(Claude Code、OpenHands、Codex CLI、Gemini CLIなど)でエージェントを走らせ、自動採点できます。各タスクの報酬は/logs/verifier/reward.jsonに記録されます。
訓練側はHarbor互換のランタイム経由でTRL、SkyRL、Prime-RL、Tinker、Miles、Slime、harbor.rlなどに接続できます。v0.8.3では参照データセットとして3つがHub上に公開されており、pr_diffが100環境、pr_runtimeが100環境、commit_runtimeが52環境です。
使い方の概要
インストールはpip install repo2rlenv、またはuv add repo2rlenvで行います。gh auth loginとhuggingface-cli loginが済んでいれば、追加の認証設定は不要です。
repo2rlenv generate \
--repo pallets/click \
--pipeline pr_runtime \
--pipeline-opt limit=5 \
--llm anthropic/claude-sonnet-4-6 \
--out ./datasets/my-dataset
repo2rlenv validate ./datasets/my-dataset
repo2rlenv push ./datasets/my-dataset your-org/my-dataset
生成後はharbor runでエージェントを実行し、報酬を確認できます。プライベートリポジトリにも対応しており、gh auth tokenが自動解決されます。
料金
Repo2RLEnv本体はオープンソースで無料です。ただし、ブートストラップや一部パイプラインではLLM API(例: Claude Sonnet)の呼び出しコストが発生します。pr_runtimeのブートストラップはリポジトリごとに1回だけ実行されキャッシュされるため、大量タスク生成時のコストは抑えられます。Docker実行環境やクラウドインフラ(Modal、Daytona、E2Bなど)の利用料は別途かかります。
類似ツールとの違い
| ツール | 役割 |
|---|---|
| Repo2RLEnv | 任意のGitHubリポからHarbor形式のRLタスクを合成・公開 |
| Harbor | タスクフォーマットとランタイム(Repo2RLEnvの出力先) |
| OpenEnv | Gymnasium風APIでエージェント実行環境を構築・配備 |
| SWE-Gym | SWE-bench形式タスクのRL環境フレーミング |
| Microsoft RepoLaunch | LLMエージェントによるリポ環境セットアップ |
Repo2RLEnvは「任意のリポジトリを指すだけで訓練データを量産する」合成レイヤーに特化しています。OpenEnvが実行環境の標準化、Harborがタスク実行基盤を担うのに対し、Repo2RLEnvはリポジトリの履歴(PR、コミット、CVE)から検証可能なタスクを自動生成する点が独自の価値です。MicrosoftのRepoLaunchは環境構築に近い役割で、Repo2RLEnvのブートストラップは独立した再実装となっています。
注目のポイント
v0.8.3ではpr_runtimeに段階的報酬(graded reward)が導入され、FAIL_TO_PASSとPASS_TO_PASSの通過率を掛け合わせた密なRL勾配が得られます。またpr_diffは単一のdifflibスコアから6要素の検証器に刷新され、Harbor上でそのまま実行可能な環境として動作します。
プロジェクトは2026年5月にGitHubで公開され、v0.1.0のPyPI公開からわずか1か月で8つのパイプラインと252の参照環境データセットまで拡張されています。パイプラインはPipelineプロトコルを実装するだけで追加できる設計で、コミュニティからの拡張も想定されています。
RLでコーディングエージェントを鍛えたい開発者にとって、手元のOSSリポジトリをそのまま訓練環境に変換できるRepo2RLEnvは、データセット作成の工数を大幅に削減するツールです。まずはpr_diffで手軽に試し、本格的な訓練にはpr_runtimeへ進むのが現実的な導入ルートになります。