Immersion in the GitHub Universe: Scaling Coding Agents to Mastery

TL;DR

提出ScaleSWE,通过多智能体自动构建高质量软件工程数据集,达10万实例。

cs.SE 🔴 高级 2026-02-10 48 次浏览
Jiale Zhao Guoxin Chen Fanzhe Meng Minghao Li Jie Chen Hui Xu Yongshuai Sun Wayne Xin Zhao Ruihua Song Yuan Zhang Peng Wang Cheng Chen Jirong Wen Kai Jia
软件工程 大规模数据 多智能体 自动化 大语言模型

核心发现

方法论

本文设计了基于沙箱的多智能体系统,包括环境构建、单元测试生成和问题描述合成三个子系统。系统通过协调环境代理(EBA)、测试生成代理(UCA)和问题描述代理(PSWA),自动处理5200个仓库中的600万Pull Request,生成10万经过验证的高质量软件工程实例。利用深度学习模型(如DeepSeek-V3.2和Gemini3-Pro)进行轨迹蒸馏,微调Qwen-30B-A3B-Instruct,显著提升代码修复能力。

关键结果

  • 数据集规模达10万实例,涵盖丰富的仓库多样性和复杂任务,优于现有公开数据集。通过轨迹蒸馏产生7.1万高质量轨迹,训练出的ScaleSWE Agent在SWE-Bench验证中解决率达64%,较基础模型提升近三倍。
  • 系统在环境配置、单元测试生成和任务描述方面实现自动化,极大降低人工成本,提升数据的真实性和多样性。模型在实际软件工程任务中的表现优异,验证了数据集的实用价值。
  • 实验显示,自动环境重用策略和多任务协同显著提高数据质量和构建效率,为未来大规模软件数据自动化采集提供新思路。

研究意义

该研究突破了软件工程领域数据瓶颈,提供了规模化、自动化的高质量训练数据,推动大语言模型在实际软件开发中的应用。解决了环境配置复杂、测试生成困难和任务描述不一致的难题,为LLM在复杂任务中的泛化能力奠定基础。这一方法不仅提升了模型性能,也为未来自动化软件工程工具的研发提供了技术支撑,有望引领行业向智能化、自动化方向发展。

技术贡献

本文提出了结合沙箱环境、多智能体协作和深度学习的自动化数据构建框架,创新性地实现了从海量开源代码中自动采集、验证和生成高质量软件任务实例。引入环境代理、测试代理和问题描述代理的协同机制,显著提高了数据的真实性和多样性。利用轨迹蒸馏技术,将自动生成的交互轨迹用于微调大模型,提升其在实际工程中的修复能力。这一体系在环境配置、测试生成和任务描述方面均实现了突破,为大规模软件数据自动采集提供了新范式。

新颖性

首次实现基于多智能体的全自动化软件工程数据构建流程,涵盖环境配置、测试生成和任务描述,极大扩展了数据规模和复杂度。不同于传统依赖人工或规则的方式,采用深度学习模型进行环境推理和测试生成,确保数据的真实性和多样性。该方法在环境重用策略和轨迹蒸馏方面具有创新性,为大规模软件数据集的自动化生产提供了可行路径。

局限性

  • 当前系统主要针对Python开源仓库,跨语言迁移仍存在挑战。环境配置的复杂性在某些极端场景下仍可能导致失败,影响数据质量。
  • 生成的测试用例在极少数情况下可能存在误判,影响验证的准确性。未来需要引入更强的验证机制以确保数据的绝对可靠性。
  • 模型微调依赖大量高质量轨迹,训练成本较高,未来需优化轨迹蒸馏效率以降低成本。

未来方向

未来将扩展多语言支持,提升环境配置的鲁棒性。探索更高效的轨迹蒸馏和模型微调策略,以降低成本。计划引入主动学习机制,动态优化数据采集流程。此外,结合实际工业场景,开发端到端的自动化软件工程工具,推动自动化研发的落地。

AI 总览摘要

在软件工程领域,数据的规模和质量一直是限制大模型性能的关键瓶颈。传统数据采集依赖人工标注或规则生成,难以满足大规模、多样化和真实环境的需求。本文提出了ScaleSWE,一套基于沙箱环境的多智能体自动化数据构建框架,旨在突破这一瓶颈。

该系统由环境代理(EBA)、测试生成代理(UCA)和问题描述代理(PSWA)三部分协作完成。环境代理自动配置隔离的Docker环境,确保每个任务的可重现性;测试代理根据Pull Request自动生成Fail-to-Pass和Pass-to-Pass测试用例,保证验证的全面性;任务描述代理则根据测试内容生成自包含的任务描述,确保任务的语义一致性。通过处理5200个仓库中的600万Pull Request,系统成功构建出10万经过验证的实例,成为目前规模最大的真实软件工程数据集。

利用深度学习模型(如DeepSeek-V3.2和Gemini3-Pro),作者对部分实例进行了轨迹蒸馏,获得7.1万高质量训练轨迹。微调Qwen-30B-A3B-Instruct模型后,所生成的ScaleSWE Agent在SWE-Bench验证中解决率达64%,显著优于基础模型。这一结果验证了数据集的实用性和有效性。

该方法的创新在于多智能体协作自动化环境配置、测试生成和任务描述,极大降低了人工成本,提升了数据真实性和多样性。实验结果显示,自动环境重用策略和轨迹蒸馏技术显著提升了构建效率和模型性能,为大规模软件工程数据的自动采集提供了新思路。未来,系统将向多语言支持、效率优化和工业应用方向发展,推动自动化软件工程的广泛落地。

深度分析

研究背景

软件工程(SE)作为IT行业的核心,近年来随着大模型的发展,自动化代码理解与修复成为研究热点。早期工作如CodeSearchNet、DeepCode等,主要依赖人工标注或有限的规则数据,难以满足大规模训练需求。近年来,基于大规模开源仓库的自动数据采集逐渐兴起,但仍面临环境配置复杂、测试生成不足和任务描述不准确等挑战。现有方法如SWE-Gym、SWE-smith等,虽在一定程度上缓解了数据不足,但在多样性和真实性方面仍有限。随着LLMs在代码任务中的表现不断提升,迫切需要更大规模、更真实、多样化的训练数据,以推动模型在实际软件开发中的应用。

核心问题

现有数据采集方法受制于环境配置复杂、测试用例生成难度大、任务描述不一致等瓶颈,限制了数据规模和质量。环境配置难以自动化,导致环境碎片化;缺乏高质量测试用例,影响验证效果;任务描述多为人工撰写,缺乏标准化。这些问题严重制约了大规模真实软件工程数据的自动化采集,阻碍了LLMs在软件工程中的广泛应用。解决这些难题,构建高质量、规模化的自动化数据平台,成为行业的迫切需求。

核心创新

本研究的核心创新在于提出基于多智能体的自动化数据构建体系,突破了传统依赖人工和规则的限制。具体创新包括:

  • �� 环境代理(EBA)实现了从源码仓库自动配置隔离环境,支持多样化依赖推理;
  • �� 测试生成代理(UCA)利用深度学习模型自动合成Fail-to-Pass和Pass-to-Pass测试用例,确保验证的全面性;
  • �� 任务描述代理(PSWA)结合测试内容自动生成自包含任务描述,保证语义一致性。这一体系实现了从海量开源仓库中自动采集、验证和生成高质量数据的闭环流程,显著提升了数据的真实性和多样性。

方法详解

  • �� 采集目标仓库:筛选PyPI前1.5万下载量最高的仓库及满足特定条件的GitHub仓库,共约2.3万。
  • �� Pull Request筛选:利用LLM自动过滤低质量PR,得到600万PR样本。
  • �� 环境配置:环境代理(EBA)自动分析源码依赖,利用深度学习推理生成Docker环境,采样最多10个PR构建环境,环境重用策略提升效率。
  • �� 测试生成:测试代理(UCA)分析PR元数据和源码,自动合成Fail-to-Pass和Pass-to-Pass测试用例,利用沙箱环境(Dfinal)动态验证。
  • �� 任务描述:任务代理(PSWA)结合PR元数据和测试用例,自动生成无泄露的任务描述。
  • �� 数据验证:采用规则过滤和专家人工审核确保数据质量,最终生成10万验证实例。
  • �� 轨迹蒸馏:利用DeepSeek-V3.2从25k实例中蒸馏7.1万高质量轨迹,用于微调模型。
  • �� 模型训练:微调Qwen-30B-A3B-Instruct,验证在SWE-Bench上的性能提升。

实验设计

采用SWE-bench验证模型性能,比较基础模型与微调模型的解决率。训练参数包括学习率1e-5,批次128,最大上下文长度131072。模型在推理时扩展到262144字节以处理大输入。通过多轮轨迹采样和验证,确保数据的高质量。对比SWE-Gym、SWE-smith等数据集,验证ScaleSWE在多样性和真实性方面的优势。实验证明,微调后模型在SWE-bench验证中解决率由22%提升至64%,显示出数据质量和规模对模型性能的显著影响。

结果分析

数据集规模达10万实例,涵盖丰富的仓库多样性和复杂任务,优于现有公开数据集。通过轨迹蒸馏产生7.1万高质量轨迹,训练出的ScaleSWE Agent在SWE-Bench验证中解决率达64%,较基础模型提升近三倍。这证明了自动化数据采集和轨迹蒸馏的有效性。实验还显示环境重用策略极大提升了构建效率,模型在实际任务中的表现优异,验证了数据集的实用价值。

应用场景

该方法可广泛应用于自动化软件测试、缺陷修复和代码理解等场景。企业可以利用此系统快速构建定制化的训练数据,提升AI辅助开发工具的性能。未来结合工业界的持续集成环境,推动自动化研发流程,降低人力成本,提升软件质量。

局限与展望

系统目前主要针对Python仓库,跨语言迁移仍需适配。环境配置在极端复杂场景下可能失败,影响数据完整性。生成的测试用例偶尔存在误判,验证准确性需加强。轨迹蒸馏成本较高,未来需优化算法以降低训练成本。

通俗解读 非专业人士也能看懂

想象你在一家大型厨房里,厨师们需要准备各种菜肴。每个厨师负责不同的任务:一个负责准备食材(环境配置),一个负责试味(测试生成),还有一个负责写菜谱(任务描述)。他们通过合作,自动化地准备出丰富多样的菜肴(软件任务实例),而且每道菜都经过严格检验(验证测试)。这样,厨房可以快速生产出大量高质量的菜肴,满足不同客人的需求。这个过程就像本文中的多智能体系统,自动搭建环境、生成测试、描述任务,最终帮助AI学习像人一样理解和修复代码。整个系统节省了大量人工劳动,还能保证菜肴(数据)丰富多样,真实可靠。

简单解释 像给14岁少年讲一样

想象你在学校的科学实验室里,有很多不同的实验需要准备。有的实验需要特定的设备(环境配置),有的需要设计测试(测试生成),还有的需要写出实验说明(任务描述)。以前,老师都得一个一个手工准备,非常麻烦。现在,有一群机器人助手:一个帮忙搭建实验环境,一个帮忙设计测试题,一个帮忙写实验说明。这些机器人合作无间,自动完成所有准备工作,快速生产出很多完整的实验方案(软件任务实例)。每个方案都经过严格检查,确保没有错误。这样,学生们就可以用这些方案来学习和练习,而老师也省了很多时间。这就像本文中的多智能体系统,自动搭建软件开发的“实验环境”,生成“测试题”和“任务描述”,帮助AI更好地理解和修复代码。整个过程既高效又可靠,节省了大量人工劳动,还能产生丰富多样的学习材料。

术语表

沙箱环境 (Sandbox Environment)

一种隔离的运行空间,用于安全测试和验证代码,确保不会影响其他系统。

用于环境配置代理(EBA)自动搭建隔离环境。

Fail-to-Pass (F2P) 测试

最初测试失败,修复后应通过的测试,用于验证缺陷修复效果。

由测试代理(UCA)生成,用于验证代码修正的有效性。

轨迹蒸馏 (Trajectory Distillation)

从自动交互轨迹中提取高质量数据,用于微调大模型,提高其任务能力。

用于从自动生成的交互中训练更强的代码修复模型。

多智能体系统 (Multi-Agent System)

由多个协作的智能体组成的系统,各自执行特定任务,共同完成复杂目标。

本文设计的自动化软件数据构建框架基础。

环境代理 (EBA)

自动分析源码仓库,配置隔离环境的智能体。

实现环境的自动配置和重用。

开放问题 这项研究留下的未解疑问

  • 1 如何进一步提升环境配置的鲁棒性,支持更多编程语言和复杂依赖。
  • 2 测试用例生成的准确性和效率仍有提升空间,特别是在极端场景下的验证机制。
  • 3 大规模轨迹蒸馏的成本较高,未来需优化算法以降低训练资源需求。

应用场景

近期应用

自动化软件缺陷修复

企业可以利用该系统快速生成训练数据,提升AI在代码修复中的表现,缩短开发周期。

智能代码理解工具

为代码分析和理解提供丰富的训练样本,增强AI的推理和诊断能力。

远期愿景

工业级自动化研发平台

结合自动数据采集和模型微调,推动软件开发流程的全面自动化,降低人力成本,提升软件质量。

原文摘要

Achieving mastery in real world software engineering tasks is fundamentally bottlenecked by the scarcity of large scale, high quality training data. Scaling such data has been limited by the complexity of environment setup, unit test generation, and problem statement curation. In this paper, we propose ScaleSWE, an automated, sandboxed multi agent workflow designed to construct high quality SWE data at scale. The system coordinates three specialized agents for environment setup, test creation, and problem description synthesis to process 6 million pull requests across 5200 repositories, producing Scale SWE Data: 100k verified SWE instances, the largest such dataset to date. It substantially surpasses existing real world datasets in repository diversity and reflects realistic task complexity. We further demonstrate the dataset utility for training by distilling 71498 high quality trajectories and finetuning Qwen30BA3BInstruct to produce ScaleSWE Agent. Our agent achieves a 64 resolve rate on SWE Bench Verified a nearly three fold improvement over the base model. ScaleSWE provides a scalable, reproducible approach for data construction to advance LLM based software engineering. Scale SWE will be publicly available.

cs.SE