OSAPRD
收藏数据集名称
Agentic Pull Request Dataset (OSAPRD)
数据集概况
该数据集共包含 4,910,698 个 Pull Requests,由10 个 AI 智能体(Agents) 生成的 4,392,818 个 PR 和人类撰写的 517,880 个 PR 组成。AI 智能体包括:Claude、Codegen、Codex、Copilot、Cosine、Cursor、Devin、Jules、Junie 和 OpenHands。
数据统计摘要
| 分类 | Pull Requests | 已合并 PR | 仓库数量 | 总增行数 | 总删行数 |
|---|---|---|---|---|---|
| 人类 | 517880 | 384681 | 314654 | 4520137534 | 1791798652 |
| Claude | 693698 | 631891 | 103572 | 2065311631 | 665993688 |
| Codegen | 6233 | 2912 | 1577 | 57564973 | 8889250 |
| Codex | 2509669 | 2174161 | 206407 | 1069190035 | 529094827 |
| Copilot | 758266 | 509602 | 181378 | 2245727932 | 1026718121 |
| Cosine | 2675 | 1443 | 531 | 2129986 | 578729 |
| Cursor | 201428 | 111454 | 57855 | 3752031314 | 949422873 |
| Devin | 46292 | 29441 | 6778 | 183553752 | 59538810 |
| Jules | 162537 | 113723 | 30148 | 205905195 | 86992626 |
| Junie | 9629 | 828 | 8868 | 1272512 | 93907 |
| OpenHands | 2391 | 1735 | 667 | 14186669 | 1732607 |
| 所有智能体 | 4392818 | 3577190 | 597781 | 9596873999 | 3329055438 |
| 总计 | 4910698 | 3961871 | 863819 | 14117011533 | 5120854090 |
注意:仓库数量已按不同分类去重,各分类之和可能不等于总计。
数据集结构
数据集包含三种实体类型,以 Parquet 格式存储:
- PullRequestRecords:记录 Pull Request 的内容、状态、作者元数据、仓库引用、时间戳以及摘要活动计数。
- FileChangeRecords:每行记录一个变更的文件,包含文件路径、增/删行数、内容 URL 以及补丁级别的元数据。
- RepositoryRecords:存储仓库的归属信息、可见性、状态标记、流行度指标、编程语言、主题标签、许可协议、时间戳以及描述信息。
此外,还包含以下嵌套实体:
- User:存储简洁的 GitHub 用户元数据,包括用户 ID、登录名、显示名称、类型和个人资料 URL。
- License:存储仓库的许可信息,包括许可证标识、名称、SPDX 标识符和 URL。
- RepositoryPeek:存储 Pull Request 记录中使用的轻量级仓库引用,包括仓库 ID、名称和 URL。
数据配置
该数据集提供多个配置,每个配置对应一个智能体名称和实体类型的组合。配置命名规则为:<智能体>_<实体>_records_02-06-2026。所有配置均使用 train 分割,数据以 Parquet 格式存储。
智能体列表:claude、codegen、codex、copilot、cosine、cursor、devin、humans、jules、junie、openhands
实体列表:pull_request_records、file_change_records、repository_records
数据加载示例
python from datasets import load_dataset
按配置加载 Claude 数据
claude_pull_request_records = load_dataset(OSAPRD/OSAPRD, claude_pull_request_records_02-06-2026, split=train) claude_file_change_records = load_dataset(OSAPRD/OSAPRD, claude_file_change_records_02-06-2026, split=train) claude_repository_records = load_dataset(OSAPRD/OSAPRD, claude_repository_records_02-06-2026, split=train)
按数据目录加载 Claude 数据
claude_pull_request_records = load_dataset(OSAPRD/OSAPRD, data_dir=data/claude/PullRequestRecords, split=train) claude_file_change_records = load_dataset(OSAPRD/OSAPRD, data_dir=data/claude/FileChangeRecords, split=train) claude_repository_records = load_dataset(OSAPRD/OSAPRD, data_dir=data/claude/RepositoryRecords, split=train)




