Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

0

通义灵码SWE-GPT:AI程序员的进化之路,从静态代码到软件开发全流程推理

引言: 想象一下,一个AI程序员能够像人类一样理解复杂的软件项目,精准定位bug,并自动生成高质量的代码修复方案。这不再是科幻小说,通义灵码团队最新研发的SWE-GPT正将这一愿景变为现实。它突破了传统AI程序员仅依赖静态代码建模的局限,实现了对软件开发全流程的推理,在解决真实GitHub issue方面取得了令人瞩目的成果,甚至逼近了闭源模型的性能。

主体:

一、挑战与突破:超越静态代码建模的局限

当前的AI程序员大多基于大型语言模型(LLM)构建,并通过软件工程智能体(SE agent)实现。然而,它们主要依赖静态代码数据进行训练,缺乏对软件开发过程中动态交互、迭代问题解决和演化特性的理解。这限制了其在真实场景中的应用,也导致了对闭源模型的过度依赖,带来了数据隐私和可访问性等问题。SWE-bench,一个用于评估SE agent的权威基准,更是凸显了这一挑战。它要求agent能够端到端地解决真实的GitHub issue,涵盖代码库理解、故障定位、代码生成和程序修复等多个环节。

通义灵码SWE-GPT的突破在于它从软件工程过程的角度出发,充分考虑了软件开发的动态特性。它并非仅仅处理静态代码,而是学习和模拟真实的代码提交活动,包括开发者的思维过程、外部工具的使用以及团队协作等。这使得SWE-GPT能够更全面地理解软件改进流程,并生成更精准、更有效的解决方案。

二、Lingma SWE-GPT:基于真实数据和多阶段推理的创新方法

Lingma SWE-GPT的研发过程包含三个关键阶段:

  • 高质量数据收集 (Figure 1): 研究团队从GitHub上筛选了4000个活跃仓库,收集了近9万个已合并的Pull Request (PR)及其关联的GitHub issue。数据过滤机制确保了数据的质量和可靠性,例如,文本描述至少20个字符,避免超链接过多等。 这为模型训练提供了海量的真实世界数据。

  • 开发过程数据合成 (Figure 2): 为了模拟软件开发的动态特性,研究团队开发了SWESynInfer工作流程。它模仿专家程序员的认知过程,分为三个阶段:

    • 仓库理解 (RepoUer): 利用工具链对代码仓库进行结构化分析,提取关键信息,减少上下文长度,并定位潜在的故障位置。
    • 故障定位 (FLer): 模拟开发者诊断问题的过程,利用搜索API等工具迭代地定位问题根源。
    • 补丁生成 (Coder): 基于前两阶段的结果,生成并应用代码补丁。
  • 模型训练: 基于Qwen2.5系列基础模型,SWE-GPT利用合成数据进行迭代训练,不断提升其解决真实GitHub issue的能力。

三、实验结果与意义:接近闭源模型,展现小型模型潜力

在SWE-bench-Verified基准(包含500个真实GitHub问题)上的实验结果显示,Lingma SWE-GPT 72B成功解决了30.20%的问题,接近GPT-4 (31.80%) 的表现,并显著优于Llama 3.1 405B(提升22.76%)。更令人惊喜的是,Lingma SWE-GPT 7B也达到了18.20%的解决率,超过了Llama 3.1 70B (17.20%),展现了小型模型在AI软件工程师领域应用的巨大潜力。

结论:

通义灵码SWE-GPT的成功,标志着AI程序员技术迈向了新的里程碑。它不仅在解决真实GitHub issue方面取得了突破性进展,更重要的是,它为未来AI程序员的发展指明了方向:从静态代码建模迈向软件开发过程长链推理。这将极大提升AI程序员的实用性和可靠性,并为软件开发效率的提升带来革命性的变革。 未来研究可以进一步探索如何提升模型的泛化能力,处理更复杂的软件项目,以及如何更好地与人类开发者协作,共同构建更加高效和智能的软件开发流程。

参考文献:

(由于原文未提供具体论文信息,此处无法提供完整的参考文献。 实际应用中,需补充论文的完整引用信息,并遵循APA、MLA或Chicago等规范。)


>>> Read more <<<

Views: 0

0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注