huggingface/Repo2RLEnv

Convert any Repo into an RL Environment

解決的問題

Repo2RLEnv 將現有的 GitHub 倉庫轉換為可驗證的強化學習(RL)環境。這使得開發者無需手動撰寫任務或依賴人工評分獎勵,即可建立高品質的程式碼代理訓練與評估資料集,因為環境提供程式化、自動化的評分機制。

工作原理

該工具使用合成流程分析倉庫的原始碼、已合併的拉取請求(PR)和提交記錄,生成任務。這些任務以 Harbor 標準導出,可與各種 RL 執行環境和代理框架相容。

關鍵流程包括:

  • 合成流程:採用不同策略建立任務,例如挖掘 PR 差異(pr_diff),或在 Docker 沙箱中執行現有測試套件(pr_runtimecommit_runtime)。
  • 引導階段:針對基於執行時的流程,LLM 代理會自動設定一個 Docker 環境,使倉庫的測試得以執行,之後該環境會被快取以提升效率。
  • 驗證機制:獎勵基於倉庫自身測試的執行結果(測試執行)或代理輸出與已知正確差異的相似性(差異相似性)來計算。

適用對象

專為需要從真實軟體專案中取得可擴展、可驗證資料的研究人員與開發者設計,用於訓練或評估基於 LLM 的程式碼代理。

核心亮點

  • 可驗證獎勵:使用程式化信號(測試通過/失敗或差異相似性)而非人工評分。
  • Harbor 相容性:以 Harbor 標準輸出資料,可無縫整合至 RL 訓練器與代理框架中。
  • 自動化環境設定:引導階段利用 LLM 自動建構所需的 Docker 沙箱環境。
  • 多語言支援:支援 Python、Go、Node 和 Rust 的執行時流程,文字僅差異流程支援任意語言。
  • Hub 集成:原生支援直接將資料集推送到與從 Hugging Face Hub 拉取。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案