这项由Scale AI公司的邓翔、杰夫·达等十多位研究人员共同完成的研究发表于2025年9月,论文编号为arXiv:2509.16941v1。有兴趣深入了解的读者可以通过该编号查询完整论文。
在人工智能快速发展的今天,我们经常听到AI编程助手能够帮助程序员写代码、修复bug。但这些AI助手真的能胜任真正的企业级软件开发工作吗?Scale AI的研究团队带着这个疑问,创建了一个全新的测试平台——SWE-Bench Pro,专门用来检验AI编程助手在面对真实企业级编程任务时的表现。
这个研究的背景其实很有趣。目前最流行的AI编程测试平台叫做SWE-Bench,就像是给AI编程助手出的"期末考试"。但研究团队发现,现在最先进的AI模型在这个考试中已经能拿到70%以上的高分。这就像一个学生在模拟考试中总是考满分,但真正上了工作岗位却发现实际工作比考试难得多。
Scale AI团队意识到,现有的测试可能太简单了,无法真正反映企业级软件开发的复杂性。真正的企业软件开发往往需要修改多个文件、涉及数百行代码变更,而且需要处理复杂的业务逻辑。就像烹饪一样,在家做个简单的蛋炒饭和在五星级酒店准备一桌满汉全席完全是两个难度级别。
为了解决这个问题,研究团队设计了SWE-Bench Pro,这是一个更加严格、更接近真实工作环境的测试平台。他们精心收集了1865个真实的编程任务,这些任务来自41个不同的软件项目,涵盖了商业应用、企业服务和开发工具等各个领域。
一、为什么需要一个更严格的测试标准
想象一下,如果我们要测试一个人的驾驶技能,我们会让他在空旷的停车场里练习倒车入库,还是直接让他在繁忙的市中心开车?显然,真实的驾驶环境要复杂得多。同样的道理,现有的AI编程测试就像是在停车场里练车,而SWE-Bench Pro则更像是在真实的城市道路上驾驶。
现有测试平台存在几个明显的问题。首先是"考试泄题"的风险。由于大多数测试使用的都是开源代码,而这些代码很可能已经被AI模型在训练时"见过"了,就像学生提前拿到了考试答案一样。其次,许多现有测试任务过于简单,只需要修改一两行代码就能解决,这与真实的企业开发工作相差甚远。
Scale AI团队为了避免这些问题,采用了两个巧妙的策略。第一个策略是专门选择那些使用GPL等严格版权许可的开源项目。这些项目由于法律限制,通常不会被包含在AI模型的训练数据中,就像是为考试专门准备的全新题目。第二个策略更加直接——他们直接从真实的创业公司购买了私有代码库,这些代码完全没有公开过,确保AI模型之前绝对没有"见过"这些题目。
在任务复杂度方面,SWE-Bench Pro的要求也更加严格。每个任务都要求至少修改10行代码,平均需要修改107.4行代码,涉及4.1个文件。有超过100个任务甚至需要修改100行以上的代码。这就像是从解决简单的数学题升级到完成复杂的工程项目。
二、如何确保测试题目的质量和公平性
为了确保每个测试题目都是高质量的,研究团队设计了一个三阶段的人工审核流程,就像是给每道考试题都安排了专业的出题老师和审题专家。
在第一阶段,专业的软件工程师会仔细检查每个编程任务,确保任务描述清晰完整,不会因为信息缺失而让AI助手无法完成任务。这就像是确保考试题目的表述清楚,不会因为题目本身的问题而影响学生发挥。
第二阶段专门处理测试用例。每个编程任务都配有专门的测试程序来验证解决方案是否正确。研究团队会运行这些测试多次,确保测试本身是稳定可靠的,不会出现有时通过有时失败的情况。同时,他们还会请专业人员审核每个测试用例,确保测试真正验证了任务要求,而不是过于宽泛或者与任务无关。
第三阶段是环境配置。每个编程任务都需要在特定的软件环境中运行,就像不同的菜谱需要不同的厨具和调料一样。研究团队为每种编程语言(Python、JavaScript、TypeScript、Go)都准备了专门的运行环境,并且把这些环境打包成Docker容器,确保任何人都能完全重现测试结果。
为了进一步提高任务质量,研究团队还为每个任务添加了详细的需求说明和接口规范。需求说明就像是给厨师的详细菜谱,不仅告诉你要做什么菜,还告诉你具体的口味要求、摆盘方式等细节。接口规范则明确指定了函数名、类名等技术细节,避免AI助手因为命名不当而导致测试失败。
三、测试平台的三个不同级别
SWE-Bench Pro被设计成三个不同的测试集,就像是游戏中的不同难度级别,每个级别都有不同的用途和访问权限。
公开测试集包含731个任务,完全开放给所有研究人员使用。这些任务来自11个使用GPL许可的开源项目,任何人都可以下载这些任务来测试自己的AI模型。这就像是公开的练习题库,让大家都能用来练习和改进自己的AI助手。
商业测试集包含276个任务,来自18个真实创业公司的私有代码库。虽然研究团队会公布AI模型在这个测试集上的表现,但具体的任务内容和代码库都保持私密。这就像是真正的企业面试题,只有面试官知道具体内容,但会告诉大家面试结果。
保留测试集包含858个任务,来自12个与公开测试集类似但完全独立的代码库。这个测试集完全保密,专门用来检测AI模型是否对公开测试集"过拟合"。这就像是期末考试的备用试卷,确保学生不是仅仅背会了练习题,而是真正掌握了知识。
这种三层设计非常巧妙。研究人员可以在公开测试集上自由实验和改进模型,然后用商业测试集验证模型在真实企业环境中的表现,最后用保留测试集确保模型的泛化能力。
四、AI编程助手的实际表现如何
当研究团队用SWE-Bench Pro测试目前最先进的AI模型时,结果令人意外。即使是最强大的GPT-5和Claude Opus 4.1,在公开测试集上的成功率也只有23.3%和22.7%,远低于它们在传统SWE-Bench上70%以上的表现。这就像是一个在模拟驾驶中表现完美的学员,在真实道路上却频频出错。
更有趣的是,AI模型在商业测试集上的表现更差,最好的模型成功率也只有17.8%。这说明真实的企业代码库确实比开源项目更加复杂,就像是私人定制的高端产品比标准化产品更难制造一样。
不同编程语言的表现也有明显差异。AI模型在Python和Go语言上表现相对较好,有些能达到30%以上的成功率,但在JavaScript和TypeScript上的表现就差得多,有些模型的成功率接近于零。这可能是因为Python作为最流行的编程语言,在AI模型的训练数据中占比更大,就像是一个多语言学习者在母语上表现最好一样。
不同代码库之间的表现差异也很大。有些代码库上,AI模型能达到50%以上的成功率,而在另一些代码库上,所有模型的成功率都低于10%。这说明代码库的复杂程度、文档质量、编程风格等因素都会显著影响AI模型的表现。
五、AI编程助手失败的原因分析
为了深入了解AI模型为什么会失败,研究团队采用了一种创新的分析方法——让GPT-5充当"法官",分析其他AI模型失败的原因。这就像是让一个经验丰富的老师来分析学生考试失败的原因。
分析结果显示,不同AI模型的失败模式截然不同。最先进的模型如Claude Opus 4.1主要是在语义理解和算法正确性上出错,占失败案例的35.9%。这就像是一个技术很好的工程师,能够熟练使用各种工具,但在理解复杂需求或设计算法时出现偏差。
相比之下,较小的开源模型如Qwen 3 32B则主要在工具使用上出错,占失败案例的42%。这就像是一个刚入门的程序员,虽然理解了要做什么,但不知道如何正确使用开发工具。
Claude Sonnet 4的主要问题是上下文溢出,占失败案例的35.6%。这意味着当代码库过于庞大时,模型无法同时处理所有相关信息,就像是一个人试图同时记住太多信息而导致混乱。
GPT-5的失败模式比较均衡,在工具使用错误和语义理解错误上都有一定比例,但相对来说在提交解决方案方面表现更好,说明它更愿意尝试给出答案,即使答案可能不完全正确。
这些分析结果为改进AI编程助手提供了明确的方向。对于先进模型,需要重点提高语义理解和算法设计能力;对于较小模型,则需要首先解决工具使用的基础问题;而对于上下文处理能力不足的模型,需要开发更好的信息管理策略。
六、这项研究的意义和未来展望
SWE-Bench Pro的推出标志着AI编程助手评估进入了一个新阶段。就像汽车工业从测试场转向真实道路测试一样,这个新的测试平台让我们能够更准确地了解AI编程助手的真实能力。
这项研究的最大价值在于提供了一个更加真实的评估标准。当AI模型在传统测试中表现优异时,我们现在知道这并不意味着它们已经准备好处理真实的企业级开发任务。这就像是区分了理论考试和实际操作考试,让我们对AI能力有了更清醒的认识。
从技术发展的角度来看,SWE-Bench Pro揭示了当前AI编程助手的几个关键限制。首先是处理复杂多文件项目的能力不足,其次是在理解复杂业务逻辑时容易出错,最后是在使用开发工具时还不够熟练。这些发现为未来的研究方向提供了明确指引。
对于软件开发行业来说,这项研究提供了重要的现实检验。虽然AI编程助手确实能够帮助程序员提高效率,但要完全替代人类程序员还有很长的路要走。企业在部署AI编程助手时需要对其能力有合理的期待,不应该指望它们能够独立完成复杂的企业级开发任务。
研究团队也坦诚地指出了当前工作的一些局限性。比如测试覆盖的编程语言还不够全面,缺少Java、C++、Rust等重要语言;测试主要关注代码修复和功能实现,没有涵盖系统设计、代码审查等更广泛的软件工程活动;过度依赖测试用例来验证解决方案,可能忽略了一些同样有效但不符合特定测试要求的解决方案。
展望未来,研究团队计划扩展测试平台的语言覆盖范围,开发超越测试用例的评估方法,并引入多智能体协作等更复杂的场景。这就像是从单人驾驶测试扩展到团队协作和复杂交通环境的测试。
说到底,SWE-Bench Pro为我们提供了一面更加真实的镜子,让我们看清了AI编程助手的真实能力水平。虽然结果显示当前的AI助手还远未达到完全自主开发的水平,但这种诚实的评估正是推动技术进步的关键。就像任何技术发展都需要经历从理想到现实的调整过程一样,AI编程助手也需要在更严格的测试中不断改进,最终才能真正胜任复杂的企业级软件开发工作。这项研究不仅为AI研究社区提供了宝贵的评估工具,也为整个软件开发行业提供了关于AI能力的重要现实检验。
Q&A
Q1:SWE-Bench Pro与传统的SWE-Bench测试有什么区别?
A:SWE-Bench Pro比传统SWE-Bench更加严格和真实。传统测试中AI模型能达到70%以上成功率,但在SWE-Bench Pro中最好的模型只有23%成功率。新测试要求修改更多代码行数(平均107行vs几行),涉及多个文件,并且使用了AI模型训练时未见过的代码库,更接近真实企业开发环境。
Q2:为什么AI编程助手在企业级任务上表现这么差?
A:主要原因包括几个方面:复杂的多文件项目超出了AI的处理能力,理解复杂业务逻辑时容易出错,工具使用不够熟练,以及上下文信息过多时会出现混乱。就像从解决简单数学题升级到完成复杂工程项目,难度完全不在一个级别上。
Q3:SWE-Bench Pro对软件开发行业有什么实际意义?
A:这项研究为企业部署AI编程助手提供了现实参考。企业不应期待AI能独立完成复杂开发任务,而应将其作为辅助工具。同时为AI研究指明了改进方向:提高语义理解能力、改善工具使用技能、增强多文件项目处理能力等。
好文章,需要你的鼓励
Queen's大学研究团队提出结构化智能体软件工程框架SASE,重新定义人机协作模式。该框架将程序员角色从代码编写者转变为AI团队指挥者,建立双向咨询机制和标准化文档系统,解决AI编程中的质量控制难题,为软件工程向智能化协作时代转型提供系统性解决方案。
西北工业大学与中山大学合作开发了首个超声专用AI视觉语言模型EchoVLM,通过收集15家医院20万病例和147万超声图像,采用专家混合架构,实现了比通用AI模型准确率提升10分以上的突破。该系统能自动生成超声报告、进行诊断分析和回答专业问题,为医生提供智能辅助,推动医疗AI向专业化发展。
上海AI实验室团队发现自回归图像生成模型存在局部依赖、语义不一致和空间不变性缺失三大问题,提出ST-AR训练方法。该方法通过掩码注意力、跨步骤对比学习和跨视角对比学习,让AI"先理解再生成"。实验显示,ST-AR将LlamaGen模型的图像理解准确率提升一倍以上,图像生成质量提升42-49%,为构建更智能的多模态AI系统开辟新路径。