five

swe-prbench

收藏
Hugging Face2026-03-26 更新2026-03-27 收录
下载链接:
https://huggingface.co/datasets/foundry-ai/swe-prbench
下载链接
链接失效反馈
官方服务:
资源简介:
SWE-PRBench是一个用于评估大型语言模型(LLM)在代码审查任务中表现的数据集,包含350个经过人工标注的真实拉取请求(PR)。该数据集旨在衡量模型是否能像专家审查员一样识别代码变更中的问题,填补了现有基准在真实人类反馈、问题检测能力评估和受控上下文配置方面的空白。数据集中的PR来自65个高质量仓库,涵盖Python、JavaScript、Go等多种编程语言,并根据问题检测难度分为三类(Type1_Direct、Type2_Contextual、Type3_Latent)。数据集提供了三种预构建的上下文配置(config_A、config_B、config_C),支持系统性的上下文消融研究。所有PR的元数据、差异和人工注释均以JSON格式提供,确保数据的透明性和可重复性。数据集适用于代码审查质量评估、AI辅助开发工具测试等场景,遵循CC BY 4.0许可协议。
创建时间:
2026-03-25
原始信息汇总

SWE-PRBench 数据集概述

数据集基本信息

  • 名称:SWE-PRBench
  • 许可证:CC BY 4.0
  • 任务类别:文本分类
  • 主要语言:英语
  • 标签:代码审查、基准测试、LLM评估、拉取请求、软件工程
  • 数据规模:小于1K
  • 配置
    • prs:数据文件为 dataset/prs.jsonl
    • eval_split:数据文件为 dataset/evals/eval_100.json

数据集简介

SWE-PRBench 是一个包含 350个具有人工标注真实值(ground truth)的拉取请求 的基准测试,用于评估大型语言模型(LLM)是否能识别出与真实人类评审员在生产代码中标记的相同问题。

该基准测试旨在衡量模型能否像专家评审员一样评估提议的代码更改,这是一个与现有基准(如SWE-Bench)不同的判断任务,没有通过/失败的测试套件,也没有单一正确答案。

关键特性与设计

  • 真实值来源:来自真实合并的拉取请求中人类工程师在实际评审过程中撰写的评审评论。数据构建过程中没有生成、合成或修改任何评论。
  • 难度分类:每个PR根据可审查问题证据所在位置被分为三种难度类型:
    • Type1_Direct (66%):问题直接在更改的代码行中可见。
    • Type2_Contextual (21%):问题需要理解更改代码相对于同一文件中周围未更改代码的上下文。
    • Type3_Latent (12%):问题存在于导入或依赖于已更改文件的文件中,需要跨文件推理。
  • 上下文配置:提供三种固定的上下文配置,用于系统性地消融上下文提供的影响:
    • config_A:模拟GitHub PR电子邮件通知,令牌预算2000。
    • config_B:模拟GitHub PR网页视图,令牌预算2200。
    • config_C:模拟具有完整IDE访问权限的评审员,令牌预算2500。
  • 评估重点:专注于问题检测能力评估。
  • 评审员验证:法官间一致性κ=0.75(高度一致)。
  • 管道版本:v0.4.1。

数据统计概览

属性
拉取请求总数 350
代码仓库数 65个(来自100个RQS合格仓库)
编程语言分布 Python (69%), JavaScript (11%), Go (10%), TypeScript (6%), Java (4%)
难度类型分布 Type1_Direct / Type2_Contextual / Type3_Latent
上下文配置 config_A (2k令牌) / config_B (2.2k令牌) / config_C (2.5k令牌)
真实值 真实人类评审员评论,非生成或合成
法官验证 κ=0.75(高度一致)
管道版本 v0.4.1

数据集构建流程

  1. 仓库选择:使用仓库质量分数(RQS)对仓库进行评分,仅包含得分≥60/100的仓库,确保真实值来自具有真实人类评审活动的代码库。
  2. PR收集与过滤:通过GitHub API收集合并的PR,并经过十阶段硬性过滤(如仅合并状态、至少两条实质性人类评论、非文档更改、排除AI评论等)。
  3. PR质量评分:使用PR评审价值分数(RVS)对每个PR进行评分,仅RVS ≥ 0.35的PR进入最终数据集。
  4. 难度分类:根据人类评审员评论的is_in_diff字段与差异块行范围交叉引用,自动分类难度类型。

构建漏斗:约3000个原始PR → 硬性过滤后700个 → RVS质量筛选后350个。

数据集结构

dataset/ ├── prs.jsonl # 350条PR记录(元数据 + 差异) ├── annotations/ # 350个人工标注文件(真实值) ├── contexts/ # 预构建的上下文 │ ├── config_A/ # 350个config_A上下文 │ ├── config_B/ # 350个config_B上下文 │ └── config_C/ # 350个config_C上下文 └── evals/ └── eval_100.json # 论文中使用的100个PR分层样本

文件格式说明

  • prs.jsonl:每行一个PR记录,包含任务ID、仓库、语言、难度、RVS分数、差异补丁、提交哈希等字段。
  • annotations/ 下的JSON文件:包含真实值,即人类评审评论,每个评论有ID、内容、文件、行号、是否在差异中、是否为发起评论等字段。
  • contexts/ 下的JSON文件:包含预构建的上下文,包括配置名称、管道版本、总令牌数、是否被截断及渲染内容。
  • evals/eval_100.json:包含论文基线评估中使用的100个PR分层样本的描述、数量和任务ID列表。

真实值纳入标准

  • 人类撰写
  • 发起评论,非回复
  • ≥10个单词
  • 引用特定的代码行为
  • 非纯粹赞扬

引用信息

bibtex @article{kumar2026sweprbench, title={SWE-PRBench: Benchmarking AI Code Review Quality Against Real Pull Request Feedback}, author={Kumar, Deepak}, journal={arXiv preprint}, year={2026} }

相关链接

  • 博客文章:https://foundryhq.ai/blog/swe-prbench-benchmarking-ai-code-review-quality
  • GitHub仓库:https://github.com/FoundryHQ-AI/swe-prbench
  • 排行榜图片:https://huggingface.co/datasets/foundry-ai/swe-prbench/resolve/main/leaderboard.png
搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,代码审查是保障代码质量的关键环节,而SWE-PRBench的构建旨在填补现有基准在真实人类反馈评估上的空白。该数据集通过一个严谨的四阶段流程构建:首先采用存储库质量评分筛选出具有实质性人工审查文化的代码库;随后利用GitHub API收集合并的拉取请求,并经过十阶段硬过滤排除自动化或AI生成的评论,确保地面实况源自真实人类工程师的审查意见;接着通过拉取请求审查价值评分进一步筛选,保留具有显著信号的高质量任务;最后依据问题证据的所在位置,将每个任务自动分类为三种难度类型,最终形成包含350个拉取请求的精选集合,覆盖六种编程语言。
特点
SWE-PRBench的显著特点在于其以真实人类审查意见作为地面实况,而非合成或生成的内容,这为评估大型语言模型的代码审查能力提供了可靠的基准。数据集精心设计了三种固定的上下文配置,分别模拟不同审查场景下的信息提供层次,从而支持系统性的注意力表示分析。此外,每个拉取请求均按照难度进行分类,区分了问题证据直接存在于差异中、需要上下文理解或涉及跨文件推理的不同情境,这种分类有助于深入探究模型在不同认知负荷下的表现。
使用方法
使用SWE-PRBench时,研究人员可加载预构建的上下文配置和地面实况注释,通过评估模型在给定上下文中识别人类标记问题的能力来进行基准测试。数据集提供了标准化的评估分割,包含100个分层抽样的拉取请求,确保结果具有代表性和可比性。用户可遵循公开的评估流程,提交模型输出以参与排行榜,从而系统比较不同模型在代码审查任务上的性能,推动AI在软件工程辅助工具中的发展。
背景与挑战
背景概述
在软件工程领域,代码审查作为保障代码质量与促进知识共享的关键实践,其自动化评估长期面临缺乏高质量基准的困境。SWE-PRBench由FoundryHQ-AI的研究团队于2026年创建,旨在填补现有基准在衡量大型语言模型执行代码审查任务能力方面的空白。该数据集的核心研究问题是评估人工智能模型能否像人类专家一样,精准识别真实代码提交中存在的各类问题。它摒弃了合成或生成的地面真值,转而采用从实际合并的拉取请求中收集的、经人工标注的350条真实审查评论,涵盖了Python、JavaScript等多种编程语言。该数据集的建立为代码审查自动化研究提供了首个以人类反馈为金标准的评估框架,显著推动了智能代码辅助工具向实用化与可靠化方向发展。
当前挑战
SWE-PRBench致力于解决的领域挑战在于如何准确评估大型语言模型在代码审查这一复杂判断任务中的表现。该任务没有单一的正确答案或通过/失败的测试套件,其核心挑战是量化模型在识别代码变更中潜在问题方面的能力,并与人类审查者的判断达成一致。在数据集构建过程中,研究团队面临多重挑战:首要挑战是确保地面真值的纯粹性与代表性,必须严格筛选具有实质性人工审查文化的代码库,并排除由AI工具生成的评论,以维护数据完整性。其次,需要设计一套科学的筛选与评分管道,通过仓库质量评分和拉取请求审查价值评分,从数千个原始请求中遴选出高质量样本。此外,还需对任务进行难度分类并构建可控的上下文配置,以系统性地探究模型性能瓶颈,这些过程均要求精密的工程设计与严谨的验证。
常用场景
经典使用场景
在软件工程领域,代码审查是保障代码质量与团队协作的关键环节。SWE-PRBench数据集通过提供350个真实合并的拉取请求及其人类标注的审查意见,为评估大型语言模型在代码审查任务中的表现建立了基准。该数据集最经典的使用场景是系统性地测试模型能否像人类专家一样,从代码变更中识别出潜在问题,尤其侧重于模型在仅提供差异代码、增加上下文或跨文件推理等不同配置下的问题检测能力。
实际应用
在实际应用中,SWE-PRBench能够指导开发团队与工具提供商优化自动化代码审查系统。通过基准测试,可以识别现有模型在审查不同类型问题时的盲点,例如对于需要跨文件推理的潜在缺陷检测能力较弱。这有助于针对性地改进模型架构或提示工程,提升AI辅助代码审查工具在真实开发环境中的实用性与可靠性,最终促进软件交付效率与代码质量的整体提升。
衍生相关工作
SWE-PRBench的推出,衍生了一系列关注AI代码审查评估的后续研究。例如,基于其难度分类体系,研究者可以深入探究模型在不同复杂度任务上的表现差异;其上下文配置设计启发了对模型注意力机制与长上下文处理能力的进一步分析。该数据集也与SWE-Bench等代码生成基准形成互补,共同构建了从代码生成到代码评审的完整评估生态,推动了软件工程中AI评估方法的多元化发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作