huggingface/Repo2RLEnv
Convert any Repo into an RL Environment
何を解決するか
Repo2RLEnv は既存の GitHub リポジトリを検証可能な強化学習(RL)環境に変換します。これにより、開発者は手動でタスクを記述したり、人間による評価を必要とせずに、高品質な訓練および評価データセットをコーディングエージェント用に作成できます。環境はプログラムによる自動スコアリングを提供します。
仕組み
このツールは合成パイプラインを使用して、リポジトリのソースコード、マージ済みプルリクエスト(PR)、コミットを分析し、タスクを生成します。これらのタスクは Harbor 標準仕様にエクスポートされ、さまざまな RL ランタイムやエージェントハーネスと互換性があります。
主なプロセスは以下の通りです:
- 合成パイプライン:PR の差分を抽出する(
pr_diff)や、Docker サンドボックス内で既存のテストスイートを実行する(pr_runtimeおよびcommit_runtime)など、タスク作成のための異なる戦略。 - ブートストラップフェーズ:ランタイムベースのパイプラインでは、LLM エージェントがリポジトリのテストを実行できる Docker 環境を自動的に設定し、効率性のためキャッシュされます。
- 検証:報酬は、リポジトリのテストの実行結果(テスト実行)またはエージェントの出力と既知の正しい差分との類似性(差分類似性)に基づいて計算されます。
対象ユーザー
LLM を用いたコーディングエージェントの訓練や評価を行う研究者や開発者向けです。実世界のソフトウェアプロジェクトからスケーラブルで検証可能なデータが必要な方々に最適です。
特徴
- 検証可能な報酬:人間による評価ではなく、プログラムによる信号(テストの成功/失敗、差分類似性)を使用。
- Harbor 互換性:RLトレーナーやエージェントハーネスとのシームレスな統合を可能にする Harbor 標準仕様でデータを出力。
- 自動環境設定:ブートストラップフェーズで LLM を使って必要な Docker サンドボックスを自動構築。
- 多言語対応:ランタイムパイプラインでは Python、Go、Node、Rust をサポート。テキストのみの差分パイプラインでは任意の言語に対応。
- Hub インテグレーション:Hugging Face Hub へ直接データセットをプッシュ・プルするネイティブサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト