huggingface/Repo2RLEnv

Turn any repository into verifiable RL environments for coding agents - Harbor tasks you can train on, evaluate and share on the Hugging Face Hub

Repo2RLEnv – 将代码仓库转化为可验证的强化学习任务

是什么 – Repo2RLEnv 是一个 Python 库(及 CLI),可自动从现有软件制品(已合并的拉取请求、提交历史、CVE 补丁、终端录制等)生成 Harbor 强化学习环境。每个生成的任务包含指令、起始容器、私有验证器(奖励函数)和参考解决方案。这些任务遵循开源的 Harbor 任务格式,因此任何 Harbor 兼容的智能体均可在这些任务上进行训练或评估。

为何重要 – 训练代码智能体(如代码补全、缺陷修复或代码生成模型)需要数千个现实的编程问题,并具备自动验证成功的方法。手动构建此类环境既缓慢又容易出错。Repo2RLEnv 从真实开发数据中提取信息,并将其转化为即用型强化学习环境,显著降低了构建高质量基准的成本。

主要特性

  • 23 个生成器:覆盖仓库修复、实现、补丁重现、终端状态任务以及纯推理/优化问题。
  • 21 个已发布数据集(约 1,930 个任务)在 Hugging Face Hub 上,可直接下载。
  • Tasksmith – 一个可自动从 PR 构建新任务的智能体,使用 LangGraph 协调和远程工作器(Modal 或 Daytona)。
  • Harbor 兼容性 – 通过 harbor CLI,任何 Harbor 智能体均可运行、审查和共享这些任务。
  • 零 LLM 密钥快速启动 – 最简单的流水线仅需 Python 3.12+ 和 GitHub CLI 即可在本地运行。

典型工作流程

  1. 生成:从仓库(例如 pallets/click 的最近 PR)生成一组任务。
  2. 验证:使用内置的 Oracle 在本地验证任务,确保参考解决方案得分为 1.0。
  3. 运行:使用 harbor run 命令让智能体(例如 Claude‑Sonnet)在任务上运行。
  4. 发布:通过一条命令将自动生成的任务发布回 Hub。

安装

# 核心库和 CLI
pip install repo2rlenv

# 添加 Harbor 支持(运行/审查任务所需)
pip install 'repo2rlenv[harbor]'

# 完整功能栈,支持 Tasksmith 在远程工作器(Modal/Daytona)上运行
pip install 'repo2rlenv[tasksmith,daytona,harbor]'

快速入门(约 5 分钟内完成,无需 Docker,无需 LLM API 密钥)

pip install 'repo2rlenv[harbor]'
gh auth login

# 从 click 库生成三个 PR 差异任务
repo2rlenv generate --repo pallets/click \
  --pipeline pr_diff --pipeline-opt limit=3 --out ./tasks

# 验证其正确性
repo2rlenv validate ./tasks --oracle

# 训练/评估智能体(示例使用 Anthropic Claude)
harbor run -p ./tasks -a claude-code \
  -m anthropic/claude-sonnet-4-6 \
  --ae ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY --env docker

Tasksmith 简介 – 将 Tasksmith 指向一个已合并的 PR 和一个代码智能体,它将:

  1. 分析变更和仓库上下文。
  2. 在远程容器中启动仓库。
  3. 起草指令和私有验证器。
  4. 将所有内容打包为 Harbor 任务。
  5. 通过审查与修复循环,不断迭代直到任务通过所有控制。

更多资源

谁应该使用它

  • 构建或评估代码生成、缺陷修复或软件工程智能体的研究人员。
  • 希望从自身代码库创建定制强化学习基准的团队。
  • 对大规模、自动验证编程环境感兴趣的任何人。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • Dispatch