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 相容性:以 Harbor 標準輸出資料,可無縫整合至 RL 訓練器與代理框架中。
- 自動化環境設定:引導階段利用 LLM 自動建構所需的 Docker 沙箱環境。
- 多語言支援:支援 Python、Go、Node 和 Rust 的執行時流程,文字僅差異流程支援任意語言。
- Hub 集成:原生支援直接將資料集推送到與從 Hugging Face Hub 拉取。
相關
- 專案
- 專案
- 專案
- 專案
- 專案