SWE-Pro
收藏Hugging Face2026-05-06 更新2026-05-07 收录
下载链接:
https://huggingface.co/datasets/probench-swe/SWE-Pro
下载链接
链接失效反馈官方服务:
资源简介:
SWE-Pro 是一个用于评估语言模型和LLM代理在真实世界软件优化任务上性能的基准数据集。该数据集收集了来自流行Python代码库的优化场景,并以专家人工提交的pull request作为性能目标的黄金标准。数据集包含102个测试样本,每个样本包含完整的优化场景信息。数据结构包括:唯一标识符(id, scenario_id)、源代码库信息(repo, pr_number)、版本控制信息(baseline_sha, reference_sha)、任务描述(task, entry_point, whats_new)、执行环境元数据(docker)、结构化代码上下文(oracle_context)、性能场景参数(params)以及核心测试用例(core_tests)。数据集特别适用于评估模型在代码优化、性能改进等软件工程任务上的能力。
SWE-Pro is a benchmark dataset for evaluating the performance of language models and LLM agents on real-world software optimization tasks. The dataset collects optimization scenarios from popular Python codebases and uses expert-submitted pull requests as the gold standard for performance goals. The dataset contains 102 test samples, each with complete optimization scenario information. The data structure includes: unique identifiers (id, scenario_id), source code repository information (repo, pr_number), version control information (baseline_sha, reference_sha), task description (task, entry_point, whats_new), execution environment metadata (docker), structured code context (oracle_context), performance scenario parameters (params), and core test cases (core_tests). The dataset is particularly suitable for evaluating the capabilities of models in software engineering tasks such as code optimization and performance improvement.
创建时间:
2026-05-06
原始信息汇总
数据集概述:SWE-Pro
基本信息
- 数据集名称: SWE-Pro
- 许可证: MPL-2.0
- 数据集大小: 约 19.13 MB(下载大小约 6.83 MB)
- 样本数量: 102 个实例(测试集)
- 类别规模: n<1K(小于1000个实例)
数据集目标
SWE-Pro 是一个基准数据集,用于评估语言模型和基于 LLM 的智能体在真实世界软件优化任务上的表现。该数据集从流行的 Python 代码仓库中收集优化场景,以专家人工提交的 Pull Request 作为性能优化的黄金参考标准。
数据字段说明
| 字段 | 类型 | 描述 |
|---|---|---|
id |
整数 | 实例的唯一数字标识符 |
scenario_id |
字符串 | 唯一场景标识符(例如 pandas-50778) |
repo |
字符串 | 优化任务的源代码仓库 |
pr_number |
整数 | 对应优化的 Pull Request 编号 |
baseline_sha |
字符串 | 优化前(基线版本)的提交 SHA |
reference_sha |
字符串 | 优化后(金标准解决方案)的提交 SHA |
task |
字符串 | 优化任务的自然语言描述 |
entry_point |
字符串 | 待评估的目标 API、函数或方法 |
whats_new |
字符串 | 描述优化的变更日志摘要 |
docker |
对象 | 基线和参考版本的执行环境元数据 |
oracle_context |
对象 | 从基线仓库提取的结构化代码上下文 |
params |
列表[对象] | 用于构建性能场景的参数定义 |
core_tests |
列表[字符串] | 从仓库测试套件中选出的正确性测试 |
嵌套字段详解
| 嵌套字段 | 类型 | 描述 |
|---|---|---|
docker.baseline.tag |
字符串 | 基线版本的 Docker 镜像标签 |
docker.baseline.digest |
字符串 | 基线版本的 Docker 镜像摘要 |
docker.reference.tag |
字符串 | 参考版本的 Docker 镜像标签 |
docker.reference.digest |
字符串 | 参考版本的 Docker 镜像摘要 |
oracle_context.file_context |
列表[对象] | 相关源文件的文件级上下文 |
file_context.file_path |
字符串 | 源文件的路径 |
file_context.raw_code |
字符串 | 源文件的原始内容 |
params.name |
字符串 | 参数名称 |
params.short_indicator |
字符串 | 场景定义中使用的简短标识符 |
params.values |
列表[字符串] | 参数的允许取值 |
params.explanation |
字符串 | 参数在场景中作用的描述 |
数据拆分
- 测试集 (test): 包含 102 个实例,总大小为 19,133,916 字节。
配置信息
- 配置名称: default
- 数据文件: 测试集数据位于
data/test-*路径下。
搜集汇总
数据集介绍

构建方式
SWE-Pro数据集旨在评估语言模型及大模型智能体在真实世界软件优化任务中的表现。其构建基于广泛使用的Python仓库中由人类专家提交的Pull Request,以此作为性能优化的黄金标准。每个样本均涉及一个优化场景,通过精确记录基准版本与优化版本的提交哈希值、对应的Docker执行环境元数据以及核心测试用例,确保优化前后性能的可比性与可复现性。数据集精心采集了目标API或函数的代码上下文,并定义了参数集合,以便构造多样化的性能评估子场景。
特点
SWE-Pro数据集包含102个精心筛选的实例,每个实例具有丰富的结构化字段。其独特之处在于,它不仅提供了优化任务的自然语言描述和变更日志摘要,还包含了来自基准仓库的细粒度代码上下文,即相关源代码文件的路径与原始内容。此外,数据集明确界定了构建性能场景所需的参数名称、简洁标识、取值范围及其详细解释,为模型在复杂优化问题上的推理与规划能力提供了多维度的度量基准。
使用方法
使用SWE-Pro数据集时,研究者需加载包含测试分割的默认配置,并利用提供的实例字段构建评估流程。具体而言,可依据`repo`、`baseline_sha`及`reference_sha`信息分别检出优化前后的代码版本,利用`docker`字段中的镜像标签与摘要来统一执行环境。`oracle_context`提供了优化的上下文线索,而`core_tests`则用于验证优化代码的正确性。研究人员可通过设置`params`中的不同参数值,生成一系列细粒度性能评估任务,从而系统地评测语言模型在软件优化上的能力。
背景与挑战
背景概述
在软件工程领域,代码优化是提升系统性能和资源利用效率的关键环节,然而现有的大规模语言模型评估基准多聚焦于代码生成、修复或测试任务,鲜有专为软件优化能力设计的评测体系。SWE-Pro数据集应运而生,由研究团队于2024年左右构建,旨在填补这一空白。该数据集从知名的Python开源仓库中精心收集了102个真实的优化场景,以专家级人类提交的拉取请求作为黄金标准参考,系统性地评估语言模型及其代理在软件优化任务上的表现。通过提供包括基准版本、优化版本、自然语言任务描述和执行环境元数据在内的丰富信息,SWE-Pro为研究社区提供了一个标准化、可复现的评估平台,推动了面向软件性能优化的智能代码生成技术的深入发展。
当前挑战
SWE-Pro主要应对的是软件优化领域长期存在的评估难题:现有基准缺乏对性能提升这一复杂任务的针对性度量,模型不仅需理解代码功能,还需识别性能瓶颈并生成高效的优化方案。数据集构建过程面临多重挑战,首先是从海量开源仓库中筛选出具有明确性能优化目标且代码质量可靠的拉取请求,确保每个场景的优化效果可验证。其次是参数化场景设计,需要为每个优化目标定义多维度的性能测试参数,以模拟不同输入条件下的执行效果。此外,还涉及确保代码正确性,在引入性能优化时维持原有功能不变,这要求对基准版本和参考版本均进行严格的测试验证。最后,通过Docker容器化技术固化执行环境,消除因环境差异导致的性能测量偏差,保障评测结果的可比性、可复现性与公平性。
常用场景
经典使用场景
SWE-Pro作为一项面向真实世界软件性能优化任务的基准评测数据集,其经典使用场景在于评估大语言模型及基于语言模型的智能代理在代码优化方面的能力。该数据集从流行的Python仓库中收集优化案例,以专家编写的人类拉取请求作为性能提升的金标准,使得研究者能够系统性检验模型在理解代码逻辑、定位性能瓶颈、生成高效优化方案等方面的综合素养。通过提供明确的基线版本与优化参考版本,SWE-Pro为自动代码优化任务构建了一个可复现、可比较的标准化评估框架。
衍生相关工作
围绕SWE-Pro数据集,后续衍生了一系列富有价值的相关工作。研究者可以基于其定义的任务格式和评估指标,开发专门针对代码优化的语言模型微调策略或提示工程方法。该数据集为构建从代码理解到性能分析再到代码生成的端到端智能代理系统提供了训练与验证的基石。此外,已有工作利用其丰富的上下文信息(如oracle_context)研究模型在局部代码修改中的语义保持能力,以及与仓库测试套件的交互机制。这些衍生效应的涌现,使得SWE-Pro不仅是一个静态的评估基准,更是一个激发代码优化自动化方向创新研究的活跃平台。
数据集最近研究
最新研究方向
SWE-Pro作为专注于真实世界软件优化任务的基准数据集,正引领着大语言模型与智能体在代码性能提升领域的前沿探索。该数据集通过收集流行Python仓库中的专家级优化型拉取请求,为模型提供了从基线到优化版本的完整代码演进路径、性能场景参数及正确性测试套件,从而推动研究从简单的代码生成向兼顾性能与正确性的复合任务转型。当前热点聚焦于利用该基准评估和训练LLM智能体在复杂代码优化中的自主探索能力,例如如何自动化识别性能瓶颈、生成优化方案并保证功能无损,这一方向不仅直接关联到开源社区协作效率的提升,还为构筑更高效的AI辅助软件工程范式和自动化运维工具奠定了关键评测基础。
以上内容由遇见数据集搜集并总结生成



