SWE Infinite
收藏github2026-02-14 更新2026-02-15 收录
下载链接:
https://github.com/unconst/SweInfinite
下载链接
链接失效反馈官方服务:
资源简介:
一个自动化工厂,用于生成经过验证的SWE-bench风格的基准任务。持续从GitHub挖掘修复实际问题的合并拉取请求,提取解决方案和测试补丁,通过执行验证它们,并生成质量评分的任务实例。
An automated factory for generating validated SWE-bench-style benchmark tasks. It continuously extracts solution implementations and test patches from merged pull requests that fix real-world issues on GitHub, validates these artifacts through execution, and generates task instances paired with quality scores.
创建时间:
2026-02-14
原始信息汇总
SWE Infinite 数据集概述
数据集简介
SWE Infinite 是一个用于自动生成经过验证的 SWE-bench 风格基准任务的自动化工厂。它持续从 GitHub 挖掘已合并的、修复实际问题的拉取请求,提取解决方案和测试补丁,通过执行进行验证,并生成经过质量评分的任务实例。
核心功能与流程
该管道以两阶段循环(注释,然后提取)运行,包含多个子阶段:
- 注释:通过 GitHub API 下载并丰富已合并的 PR 的元数据。
- 提取:克隆仓库,计算差异,分割为解决方案和测试补丁。
- 测试生成:为没有测试变更的 PR 通过 LLM 生成测试。
- 验证:运行测试套件以填充
FAIL_TO_PASS和PASS_TO_PASS字段。 - 质量评估:通过 LLM 对问题陈述清晰度、测试质量和难度进行评分。
- 存储:将最终任务保存为 JSON 文件至
dataset/目录。 - 评估:在生成的任务上运行 Cursor 代理并记录结果。
配置与使用
主要命令
- 生成任务:
swe-infinite - 评估任务:
swe-eval
关键生成器标志
--once:生成一个任务后退出。--validate:启用执行验证。--quality:启用 LLM 质量评分。--decontamination:启用与已知基准数据集的重叠检查。--docker:使用 Docker 进行隔离验证环境。--no-generate-tests:禁用对无测试变更 PR 的 LLM 测试生成。--eval:对每个生成的任务运行 Cursor 代理评估。--languages:指定处理的语言(如python,go)。
关键评估器标志
--agent-timeout:代理超时时间(秒)。--model:Cursor 代理使用的模型。--update-tasks:将评估结果写回每个任务 JSON 文件。
系统与工具要求
必需工具
- Python 3.11+
- uv:用于虚拟环境和包管理。
- git:用于仓库操作。
- Cursor IDE:提供
agentCLI,用于所有 LLM 操作。
可选工具
- Docker:用于隔离的验证环境。
环境变量
GITHUB_TOKEN:GitHub 个人访问令牌(推荐)。
项目结构
src/swe_infinite/:包含管道各模块的源代码。dataset/:运行时生成的 JSON 任务文件。results/:运行时评估结果文件。workspace/:运行时缓存的仓库、验证目录、评估目录。pipeline.db:SQLite 数据库文件。
支持的语言
- Python
- TypeScript
- JavaScript
- Java
- Go
搜集汇总
数据集介绍

构建方式
在软件工程领域,自动化生成高质量的基准测试任务对于评估智能编码代理至关重要。SWE Infinite数据集通过一个精心设计的自动化流水线构建而成,该流水线持续从GitHub挖掘已合并的拉取请求,这些请求旨在修复真实存在的软件缺陷。构建过程分为标注与提取两个核心阶段:首先,系统通过GitHub Archive和API快速获取并丰富拉取请求的元数据,将其与对应的问题报告关联;随后,选取优质候选对象,克隆代码仓库,计算差异并分割为解决方案补丁与测试补丁。流水线还集成了可选的测试生成、执行验证与质量评估模块,利用大型语言模型生成缺失的测试用例,并通过在隔离环境中运行测试套件来验证补丁的有效性,最终将符合质量标准、格式规范的任务实例以JSON格式存储。
特点
该数据集的核心特征在于其高度自动化与真实性。所有任务均源自GitHub上真实发生且已被合并的代码修复,确保了问题场景的实用性与复杂性。数据集构建过程融入了多重质量过滤机制,包括对代码仓库的活跃度、许可证类型、测试框架存在性进行筛查,并对补丁的复杂度施加了严格的上下限控制。通过集成大型语言模型,系统能够为缺乏测试变更的拉取请求智能生成测试补丁,并对任务的问题描述清晰度、测试质量与难度进行自动化评分。此外,数据集支持多语言覆盖,涵盖Python、JavaScript、TypeScript、Java与Go,并提供了与现有SWE-bench数据集的重叠检查功能,确保了内容的独特性与评估的公平性。
使用方法
使用该数据集前,需确保系统环境已安装Python 3.11+、uv包管理器、git以及Cursor IDE提供的`agent`命令行工具。通过简单的命令行操作即可启动数据生成流程:在设置好GITHUB_TOKEN环境变量后,执行`swe-infinite`命令将启动持续的任务生成流水线。用户可通过丰富的命令行标志对生成过程进行精细控制,例如使用`--once`生成单个任务后退出,或通过`--validate`、`--quality`等标志启用执行验证与质量评分。对于生成的任务,可使用`swe-eval`命令调用Cursor智能代理进行自动化评估,以检验其解决实际编码问题的能力。数据集的任务以独立的JSON文件形式存储于`dataset/`目录,结构清晰,便于直接用于训练或评估各类代码生成模型。
背景与挑战
背景概述
在软件工程领域,自动化代码修复与智能编程辅助已成为前沿研究方向。SWE Infinite数据集由相关研究团队于近期创建,旨在构建一个持续生成已验证的SWE-bench风格基准任务的自动化工厂。该数据集通过挖掘GitHub上已合并的拉取请求,提取解决真实问题的补丁与测试代码,并经过执行验证与质量评分,为核心研究问题——即评估大型语言模型在真实软件维护任务中的性能——提供了大规模、高质量的评测资源。其动态生成机制与严格验证流程,显著提升了代码修复基准的时效性与多样性,对推动智能软件工程工具的发展具有重要影响力。
当前挑战
该数据集致力于解决软件工程中代码自动修复与任务理解的核心挑战,其构建过程面临多重困难。在领域层面,如何精准定义与评估模型在复杂、多步骤的软件问题解决能力,涉及对问题描述、代码上下文与测试套件的综合理解。在构建过程中,挑战包括从海量GitHub事件中高效筛选高质量拉取请求,确保补丁与测试的正确提取与分割,以及在多语言环境下进行可靠的执行验证。此外,生成合成测试、进行质量评分及避免与现有基准的数据污染,均需依赖大语言模型并设计稳健的容错机制,技术实现复杂度较高。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,SWE Infinite数据集为自动化代码修复与智能代理评估提供了标准化基准。该数据集通过持续挖掘GitHub上已合并的拉取请求,提取真实问题修复的解决方案与测试补丁,并经过执行验证,构建出高质量的编程任务实例。其经典使用场景在于为大型语言模型驱动的代码助手提供系统性评估框架,研究者可利用这些任务测试模型在理解代码库、定位缺陷及生成正确补丁方面的能力,从而推动智能编程工具的迭代与优化。
衍生相关工作
围绕SWE Infinite数据集,学术界与工业界衍生出多项经典研究工作。其中最具代表性的是基于该基准的代码大语言模型能力评估体系,如对GPT-4、Claude等模型在复杂软件任务上的系统性对比分析。同时,研究者利用其任务生成机制开发了增强型验证框架,例如结合动态符号执行与模糊测试的补丁正确性检测工具。这些工作进一步拓展了自动化软件工程的研究边界,催生了如基于强化学习的代码修复代理、跨项目缺陷迁移学习等创新方向。
数据集最近研究
最新研究方向
在软件工程智能化领域,SWE Infinite数据集作为自动化生成的基准测试任务工厂,正推动着代码修复与智能代理评估的前沿探索。该数据集通过持续挖掘GitHub上已合并的拉取请求,提取真实问题的解决方案与测试补丁,并借助执行验证与质量评分机制,构建出规模可扩展的评估实例。当前研究聚焦于利用大型语言模型增强测试生成与任务质量评估,同时结合容器化技术确保验证环境的隔离性与可复现性。这一方向不仅深化了智能编程助手在复杂软件维护任务中的能力测评,也为多语言、跨项目的自动化代码修复研究提供了标准化、动态更新的数据基础,显著促进了软件工程智能化工具的实用化进展。
以上内容由遇见数据集搜集并总结生成



