遇见数据集

swe-task-forge-tasks

收藏
Hugging Face2026-09-07 更新2026-09-08 收录
官方服务:

资源简介:

swe-task-forge task pool 是一个代码软件工程任务数据集,用于评估 AI agent 在真实代码仓库中解决软件工程问题的能力。数据集包含多个任务,每个任务对应一个 Harbor 包,内含任务描述(instruction.md)、环境配置(environment/Dockerfile)、测试脚本(tests/)、参考解决方案(solution/)以及 agent 运行记录(runs/)。任务类型包括 carve(挖空实现缺失模块)、fault(修复故障,如依赖缺失)、mining(基于仓库历史挖掘缺陷)。数据来源为多条 pipeline(carve、fault、mining),经过严格的质量门控(两臂门:不给答案必挂、给 oracle 必过)和 agent 实际运行验证。当前数据集包含 138 个任务(2026-09-07 批次),来自 40 个独立 Docker 镜像,GLM-5.3 模型整体解决率为 78%(108/138)。其中 carve 94 题(解决率 73%)、fault 19 题(解决率 100%)、mining 25 题(解决率 80%)。历史批次还包括 v1(36 题,解决率 72%)和 v0(59 题,因测试泄漏已下线)。该数据集适用于训练和评估 AI 在代码补全、故障修复、自动化调试等软件工程任务上的能力。任务使用方式为:加载对应 Docker 镜像,构建环境,让 agent 在无网络环境中工作,运行测试脚本得到 reward.json。

swe-task-forge task pool is a code software engineering task dataset designed to evaluate the ability of AI agents to solve software engineering problems in real code repositories. The dataset contains multiple tasks, each corresponding to a Harbor package that includes a task description (instruction.md), environment configuration (environment/Dockerfile), test scripts (tests/), reference solution (solution/), and agent run logs (runs/). Task types include carve (carving out missing implementation modules), fault (fixing faults such as missing dependencies), and mining (mining defects based on repository history). Data sources are multiple pipelines (carve, fault, mining) that undergo strict quality gating (two-arm gate: no answer must fail, with oracle must pass) and actual agent run verification. The current dataset contains 138 tasks (batch 2026-09-07) from 40 independent Docker images, with an overall solution rate of 78% (108/138) for the GLM-5.3 model. Among them, carve has 94 tasks (73% solution rate), fault has 19 tasks (100% solution rate), and mining has 25 tasks (80% solution rate). Historical batches include v1 (36 tasks, 72% solution rate) and v0 (59 tasks, taken offline due to test leakage). This dataset is suitable for training and evaluating AI capabilities in software engineering tasks such as code completion, fault repair, and automated debugging. The task usage method is: load the corresponding Docker image, build the environment, let the agent work in a network-free environment, and run the test script to obtain reward.json.

创建时间:
2026-09-05
原始信息汇总

数据集概述

swe-task-forge-tasks 是一个软件工程智能体任务池数据集,由 Zeng-Weijun 维护,托管于 Hugging Face。该数据集包含 178 个任务,其中 178 个被尝试、135 个被解决,任务来源包括 buildcarverevertminingswebench 等多种类型。

数据结构

  • MANIFEST.jsonl:每个任务一个 forge-task.v1 信封。
  • tasks/<task_id>/:Harbor 软件包,包含 task.tomlinstruction.mdenvironment/Dockerfiletests/solution/runs/
  • 任务通过 env_id 指定镜像名称,镜像字节存储在 swe-task-forge-environments 仓库中。
  • 基准测试(Benches)通过引用选择池中的任务,位于 swe-task-forge-benches 仓库。

任务使用流程

  1. docker load 加载任务镜像
  2. docker build -f environment/Dockerfile 构建环境
  3. 智能体在容器内工作(无网络)
  4. tests/solution/ 拷入容器,由 root 运行 sh /tests/test.sh 查看 reward.json

版本与批次

batch-2(2026-09-07,当前,138 题)

由三条流水线并行生成,来源为 55 个可用镜像。

线 任务数 环境数 glm-5.3 解决率 中位步数 满 30 步任务数
carve 94 35 69/94 (73%) 21 39
fault 19 19 19/19 (100%) 13 0
mining 25 15 18/25 (72%) 20 12
合计 138 40(去重) 106/138 (77%)

关键变更:镜像中的 .git 目录被移至 /root/.forge-sealed-git,使容器内 git 命令失效,防止模型直接读取历史中的答案。封存后 carve 解决率从 95% 降至 73%(22 个百分点差异源于模型读取答案)。

fault 线说明:fault 线 19 个任务全为“依赖被删→装回去”的单一形状,全部被 glm-5.3 解决(100%),缺乏区分度;其答案藏于 /root/.forge-hidden/setup.sh,不受 .git 封存影响。

已知问题

  • carve 线最大掉落为 nothing_to_hollow(177/424)
  • mining 线主要掉落为 suite_indifferent_to_commit(116)和 gold_patch_does_not_apply(76)
  • fault 线 environment 家族 485/523 不咬

fault v1.0.0(2026-09-05,4 题)

修复类任务,代码未改动,但机器损坏或依赖缺失,agent 需排查修复。来源为 15 个 docker、139 个候选,经两臂门筛选出 4 个。glm-5.3 解决 3/4(75%),全部来自 build 家族。environment 家族 128/134 不咬,产量取决于“套件触及机器”的程度。

carve v1.0.0(2026-09-05,36 题,当前)

将覆盖模块的测试与代码一并抽走,题面要求“写测试是任务的一部分”,判分采用原版测试。来源为 15 个 docker、68 个候选 → 43 个找到覆盖测试 → 36 个过两臂门 → 交付 10 个环境。glm-5.3 解决 26/36(72%),中位 19 步。未解决的题呈现出预期难度形状:实现正确、自写测试通过,但未猜中原作者测试的细节(如异常措辞、边界值)。

v0(2026-09-05,59 题,已下线)

测试留在容器内,glm-5.3 解决 58/59(98%)。阅读 60 个 trace 发现 23 个为直接 cat 测试后写代码,属“抄规格”而非解题,故下线并删除目录(镜像保留复用)。

官方数据说明

  • 三仓库分工:-environments 存放 docker 镜像(每镜像一份),-tasks 存放全部任务(大池子),-benches 仅存放 task_id 选择列表。
  • 每批数据在 README 顶部增补记录(添加时间、版本、原因、数量、质量、smoke 结果)。
  • 上半部分表格由上传器自动生成,无需手动修改。
  • README 同时存在于仓库 docs/DATA_README.md 和 Hugging Face 页面下半部分。
搜集汇总
数据集介绍
swe-task-forge-tasks 数据集图片
构建方式
swe-task-forge-tasks 数据集构成一个大型软件工程任务池,共计178项任务,由四条独立生产线协同构建:carve 线路通过挖空源码文件函数体并抽离覆盖测试以生成实现类任务;fault 线路通过注入构建或环境故障生成修复类任务,且经三阶段验证确保任务有效性;mining 线路从仓库提交历史中挖掘测试反转任务。任务封装采用 Harbor 包格式,包含 task.toml、instruction.md、environment/Dockerfile、tests/、solution/ 及 runs/ 等规范结构,并以池修订机制统一管理版本。
特点
本数据集的核心特点在于严格的防泄漏设计与质量控制。所有任务均需通过两臂门验证,即无答案时必败、有提示时必过,以此确保难度可解且非平凡。尤其值得一提的是,镜像内 .git 目录被密封迁移,杜绝了 agent 通过 git 历史直接获取答案的可能,使 carve 线真实解开率从95%降至73%。同时任务分布层次分明,部分题可实现至中位21步,反映部分可得分、非二值化错误的难度形状,并附带详尽的批次账本记录每次更新的产出、质量及已知问题。
使用方法
使用本数据集时,需先通过 docker load 加载任务对应的环境镜像,再根据 environment/Dockerfile 构建容器,agent 在无网环境下执行修复或实现任务。完成后将 tests/ 与 solution/ 拷贝进容器,以 root 权限运行 sh /tests/test.sh,最终依据生成的 reward.json 评判任务是否通过。基准测试集通过任务id选择列表构建,便于针对不同子集进行算法评估与对比分析。
背景与挑战
背景概述
swe-task-forge-tasks数据集诞生于2026年,由Harbor框架与repo2env团队协作构建,旨在为软件工程智能体提供高保真的代码修复与实现任务基准。该数据集集成三条核心线索——carve(模块实现)、fault(故障修复)、mining(提交级调试),共178个任务,覆盖多语言环境,并通过严格的“双臂门”机制确保任务可解性与判别力。其设计哲学强调任务与测试的分离,防止智能体通过直接读取测试或仓库历史作弊,从而推动智能体在真实软件工程场景中的泛化能力。作为swe-task-forge生态的核心任务池,它支撑了多个基准测试的构建,对评估大语言模型驱动的代码智能体具有重要影响力。
当前挑战
该数据集面临的核心挑战包括:首先,领域问题维度上,carve线需防止智能体通过git历史或无关测试泄露信息,fault线任务形状单一(依赖删除类)导致难度区分度不足,mining线对提交历史的依赖需平衡信息利用与防泄漏;其次,构建过程中,需处理镜像构建中的路径问题、运行器的并发异常(如relay失败导致误判)、以及任务打包时.digest缺失等技术缺陷,确保数据一致性与可重复性;此外,不同任务族的产量受限于仓库测试覆盖范围,environment家族多数不咬合,凸显了故障设计需基于运行时证据而非目录枚举的挑战。这些难点共同制约了数据集的有效性与智能体评估的可靠性。
常用场景
经典使用场景
swe-task-forge-tasks数据集为软件工程智能体研究提供了大规模、多样化的任务池,涵盖代码实现、故障修复与提交级问题解决等经典场景。每项任务封装为Harbor包,包含独立的环境、测试与解决方案,支持在无网容器中复现真实开发流程。研究者可借此评估语言模型或智能体在代码补全、测试驱动开发、依赖修复等环节的综合能力,尤其适用于构建具备环境交互与工具调用能力的自主编程系统。
解决学术问题
该数据集系统性地解决了软件工程智能体评估中任务真实性与可复现性不足的难题。其任务源自真实仓库,经由挖空、故障注入与提交挖掘等管线生成,并提供严格的两臂门控筛选以确保难度与有效性。通过隐藏测试、封存git历史等措施,有效遏制了数据泄漏与测试集记忆问题,使得对模型代码推理、故障诊断与补丁生成能力的度量更为可靠,推动了可靠代码智能体评测范式的发展。
衍生相关工作
该数据集衍生了多条研究思路,如基于两臂门控的任务生成与质量筛选流程,成为构建可控难度任务池的参考蓝图。对carve、fault与mining三条任务管线的剖析催生了针对任务泄漏检测与难度校准的研究。其多语言、多框架特性支持跨仓库泛化能力的探究,而记录的智能体成功/失败轨迹则为离线强化学习、行为克隆及过程监督提供了宝贵语料,进一步孕育了面向代码修复的专用策略模型。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务