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 へ直接データセットをプッシュ・プルするネイティブサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト