这项由南加州大学、加州大学河滨分校、斯坦福大学等多所顶级院校联合开展的研究发表于2026年3月的arXiv平台(论文编号:arXiv:2603.13428v1),揭示了当前AI代码助手在连续软件开发任务中的重大缺陷。该研究首次系统性地评估了AI代理在长期、依赖性软件演进场景下的真实表现,发现了一个令人震惊的现象:即使是最先进的AI模型,在处理连续开发任务时的成功率会从单独任务的80%以上急剧下降至仅38%。
当我们谈论AI写代码时,大多数人想到的可能是让AI帮忙写个小功能、修个简单bug,就像请人帮忙做一道菜。但现实中的软件开发更像是经营一家餐厅——你需要不断地添加新菜品、改进现有菜谱、维护厨房设备,而且每个改动都可能影响到其他部分。比如,你新增了一道需要特殊调料的菜,就得确保这个调料不会让其他菜变味。
这就是研究团队要解决的核心问题:当AI需要像真正的程序员那样持续维护和发展一个软件项目时,它们表现如何?为了回答这个问题,研究团队开发了一套名为"EvoClaw"的全新测试系统,专门用来评估AI在连续软件演进任务中的表现。同时,他们还创建了一个叫做"DeepCommit"的自动化工具,能够从真实的开源项目历史中提取出有意义的开发任务序列。
一、真实软件开发的复杂性——为什么单次任务测试不够用
想象你正在学习烹饪,如果只测试你能否做出一道完美的红烧肉,这并不能说明你有能力经营一家中餐厅。经营餐厅需要你协调多道菜的制作时间、管理食材库存、适应客人的特殊要求,还要确保今天的新菜不会影响明天的招牌菜。软件开发也是如此。
传统的AI代码评测就像那个红烧肉测试——给AI一个独立的编程任务,看它能否完成。比如著名的SWE-bench测试就是这样,它会给AI展示一个代码库的某个状态,然后要求AI修复一个特定的bug。这种测试虽然有用,但忽略了软件开发中最关键的一个方面:连续性和依赖性。
真实的软件项目就像一个活的生物体,它会不断生长和变化。今天添加的一个新功能可能会在三个月后引发意想不到的问题。修复一个old bug可能会无意中破坏其他功能。更重要的是,程序员必须在自己之前的工作基础上继续前进,而不是每次都从一张白纸开始。
研究团队发现,现有的评测方法存在一个根本性缺陷:它们假设每个任务都是独立的。这就好比测试一个厨师时,每做完一道菜就让他换一个全新的厨房,而不是让他在同一个厨房里连续做一整桌菜。在真实环境中,厨师必须处理油烟的影响、清洗之前用过的锅具、合理安排不同菜品的制作顺序,这些因素都会影响最终的结果。
二、DeepCommit工具——从混乱的开发历史中提炼有意义的任务序列
要测试AI在连续开发中的表现,首先需要解决一个技术难题:如何从真实项目的开发历史中提取出既有挑战性又有逻辑性的任务序列?这就像要从一家餐厅几年来的营业记录中,整理出一个合理的菜品开发时间线。
软件项目的Git提交历史看起来可能很规整,实际上却充满了噪音。有些提交只是修正了几个拼写错误,有些是为了测试而做的临时改动,还有些是几个不相关功能的混合提交。更复杂的是,提交的时间顺序并不一定反映功能开发的逻辑顺序。就像餐厅的营业记录可能显示某道菜在周一首次出现,但实际上它的配菜早在上周就开始准备了。
为了解决这个问题,研究团队开发了DeepCommit工具。这个工具的工作原理可以用整理家族照片来类比:你有一堆按时间顺序排列的照片,但你想要的是按照家庭事件(生日、婚礼、旅行等)来重新组织它们。DeepCommit会分析代码的依赖关系、文件修改模式、提交信息等多种信号,然后将相关的提交组织成有意义的"里程碑"。
DeepCommit的工作分为三个主要阶段。首先是预处理阶段,就像整理照片前先把模糊的、重复的照片挑出来。工具会过滤掉那些只涉及文档更新、配置文件修改的提交,专注于核心功能代码的变化。接着是里程碑构建阶段,这一步最为关键。工具使用LLM代理来理解提交的语义含义,将相关的提交聚合成逻辑上连贯的里程碑。最后是环境解析阶段,确保每个里程碑都可以独立编译和测试。
这个过程的难点在于平衡任务的粒度。如果里程碑太大,就像让AI同时处理整个软件版本的升级,任务会过于复杂。如果里程碑太小,就像让AI只修改一行代码,又失去了连续开发的挑战性。研究团队最终选择了"里程碑级"的粒度,每个里程碑代表一个语义上连贯的开发目标,平均包含570行代码的修改。
三、EvoClaw基准测试——真正考验AI连续开发能力的擂台
有了DeepCommit提取的任务序列,研究团队构建了EvoClaw基准测试系统。如果说传统的AI编程测试像是让选手在标准化考场里答题,那么EvoClaw就像是让他们在真实的工作环境中完成一个完整的项目。
EvoClaw包含了来自7个不同开源项目的98个验证过的里程碑,涵盖Go、Rust、Java、TypeScript和Python五种编程语言。这些项目都是真实世界中被广泛使用的软件,比如go-zero(一个微服务框架)、scikit-learn(机器学习库)等。每个项目的任务序列都形成了一个有向无环图(DAG),反映了不同功能之间的依赖关系。
测试的核心创新在于它的连续性评估模式。在传统测试中,AI会拿到一个"干净"的代码库状态,完成任务后就结束了。但在EvoClaw中,AI必须在自己之前修改的代码基础上继续工作。这意味着如果AI在早期任务中引入了bug或者采用了不当的设计,这些问题会像滚雪球一样在后续任务中放大。
比如,在第一个里程碑中,AI可能需要为一个网络服务添加用户认证功能。如果AI选择了一个简单但不够安全的实现方案,在第三个里程碑中添加支付功能时,这个安全缺陷就可能导致严重问题。在传统测试中,这两个任务会被独立评估,AI可能在两个任务上都得到高分。但在EvoClaw中,AI必须为自己早期的设计决策承担后果。
为了准确评估AI的表现,研究团队设计了一套新的评分系统。传统的评分方法通常是二元的——要么通过所有测试用例得满分,要么失败得零分。但EvoClaw采用了更细致的评分方法,分别测量"召回率"(AI成功实现了多少新功能)和"精确率"(AI在实现新功能的同时保持了多少现有功能的正常运行)。
召回率就像评估一个厨师是否能够成功做出菜单上的新菜品,而精确率则评估厨师在添加新菜品的过程中是否搞砸了原有的招牌菜。一个好的软件开发者不仅要能够实现新功能,更重要的是要确保新功能不会破坏现有系统的稳定性。
四、令人震惊的测试结果——顶级AI表现断崖式下跌
当研究团队将15种不同配置的前沿AI模型放到EvoClaw平台上测试时,结果让人大跌眼镜。这些在独立任务上表现优异的AI"明星选手",在连续开发任务中的表现可以用"惨不忍睹"来形容。
最强的AI组合——Claude Opus 4.6配合OpenHands框架,在连续任务中的综合得分只有38.03%,而完全解决里程碑的比率更是低到只有13.37%。要知道,这些同样的AI模型在处理独立任务时的成功率通常超过80%。这种表现落差就像一个在标准化考试中总是得A的学生,到了实际工作环境中却连基本工作都完成不好。
更令人担忧的是,这种表现下降并不是随机的,而是呈现出明显的模式。研究团队发现,AI的表现会随着任务序列的进展而持续恶化。在序列的早期阶段,AI还能保持相对不错的表现,但随着错误的积累和技术债务的增加,AI在后期任务中几乎完全失效。
通过深入分析,研究团队揭示了造成这种现象的根本原因:AI虽然仍然具备实现新功能的能力(召回率保持相对稳定的线性增长),但它们在维护系统完整性方面表现糟糕(精确率迅速饱和并下降)。这就像一个厨师虽然能够不断学会新菜谱,但每次做新菜的时候都会搞砸厨房,最终导致整个厨房无法正常运作。
具体来说,AI在连续开发中面临着三个主要挑战。首先是错误传播效应,早期引入的小错误会在后续任务中被放大,就像房子地基的小问题最终可能导致整栋建筑倒塌。其次是上下文管理困难,随着项目规模的增长,AI越来越难以掌握全局状况,开始出现"顾此失彼"的问题。最后是设计决策的长期后果,AI往往会选择能够快速通过测试的解决方案,而不考虑这些方案的可维护性和扩展性。
五、深度解析AI的致命弱点——为什么精确率会快速饱和
为了理解AI在连续开发中表现不佳的深层原因,研究团队进行了详细的行为分析。他们发现,AI的失败并不是因为编程能力突然下降,而是因为它们缺乏软件工程中最关键的一项技能:系统性思维。
在分析AI的工作过程时,研究团队观察到一个有趣的现象:AI在实现新功能方面表现得相当不错,召回率基本保持线性增长。这说明AI确实具备学习和适应新需求的能力。但问题出现在精确率上——AI在避免破坏现有功能方面的表现迅速恶化并趋于饱和。
这种现象可以用一个生动的比喻来解释:想象AI就像一个非常聪明但缺乏经验的学徒工。当师父要求他在一个复杂的机械装置上添加新零件时,他总能找到办法让新零件工作起来。但他往往会忽视新零件对整个系统的影响,结果就是虽然新功能可以运行,但原来运行良好的其他功能却开始出现故障。
研究团队通过追踪错误传播链发现了一个"雪球效应":未解决的早期错误会触发连锁反应,让后续任务变得越来越困难。比如在一个Web应用项目中,如果AI在早期任务中选择了不当的数据库连接方式,这个问题可能在添加用户管理功能时还不明显,但当需要实现数据分析功能时,原有的连接方式就成为了瓶颈,导致整个系统的性能问题。
更深层次的分析揭示了AI在代码质量方面的三个系统性问题。第一是责任边界错位,AI经常在错误的抽象层级实现功能,就像在应该安装开关的地方安装了整个电源箱。第二是"散弹枪式修复",当遇到复杂问题时,AI倾向于通过全局性的错误抑制来解决问题,而不是精确地定位和修复根因。第三是API签名退化,AI的局部算法选择往往会悄无声息地削弱公共接口的表达能力。
这些问题的共同特点是它们在短期内看起来都是合理的解决方案,测试也能通过,但它们会在长期内积累技术债务,最终压垮整个系统的可维护性。
六、AI行为模式揭秘——探索与验证的平衡艺术
为了更深入地理解AI在连续开发中的行为模式,研究团队对AI的工作过程进行了细致的监控和分析。他们发现,成功的AI和失败的AI之间存在着显著的行为差异,这些差异主要体现在三个方面:探索行为、验证策略和上下文管理。
在探索行为方面,表现较好的AI模型展现出更积极的代码库探索模式。这些AI会花费大量时间阅读和理解现有代码,就像一个负责任的新员工会认真阅读公司的技术文档和既有代码规范。相比之下,表现较差的AI往往急于开始编码,缺乏对现有系统的深入理解。数据显示,Claude Opus 4.6执行了超过9,000次探索性操作,而表现最差的Gemini 3 Pro只执行了不到1,400次。
验证策略的差异更为明显。研究团队发现了一个"验证甜蜜点"现象:既不验证也过度验证的AI都表现不佳,只有适度验证的AI能够在连续任务中保持稳定表现。这就像烹饪时的调味——从不尝味道的厨师和每加一撮盐都要尝一次的厨师都做不出好菜,只有在关键步骤适当品尝的厨师才能做出美味。
具体来说,最成功的AI会在项目进展到70%-80%时达到验证活动的高峰,然后在最后阶段略有下降。这个模式反映了一种成熟的开发策略:在系统复杂性达到一定程度时加强测试和验证,但避免在简单任务上浪费资源。
在上下文管理方面,现代AI框架展现出了令人印象深刻的能力。Claude Code配合Opus 4.6能够在200K token的上下文窗口中维持稳定的波浪式模式,通过智能压缩策略有效管理长期状态。这种能力对于连续开发至关重要,因为AI必须同时记住项目的历史决策、当前状态和未来规划。
七、成本效益分析——谁是连续开发的性价比之王
在实际应用中,成本效益比往往是选择AI工具的决定性因素。研究团队对不同AI模型在EvoClaw上的表现进行了全面的成本分析,结果显示了一个有趣的现象:最昂贵的模型未必提供最佳的性价比。
从绝对性能来看,Claude Opus 4.6确实表现最佳,但其成本也相当可观,每个完整的演进序列需要花费约88美元。相比之下,Gemini 3 Flash在成本仅为12美元的情况下,达到了24.2%的综合得分,展现出了优异的性价比。GPT 5.3-Codex则在25美元的成本下达到了28.9%的得分,同样表现出色。
更重要的是,研究发现高成本并不总是能带来高性能。Gemini 3 Pro和Claude Sonnet 4.6的每个演进序列成本都超过100美元,但得分却低于一些更便宜的模型。这说明在连续开发场景中,模型的架构设计和训练方式可能比纯粹的模型规模更重要。
执行时间也是一个值得关注的因素。OpenHands框架由于允许更多的迭代次数,往往需要更长的执行时间,有些配置需要超过18小时才能完成一个演进序列。相比之下,Claude Code通常能在4小时内完成同样的任务,展现出更高的效率。
这些发现对实际应用有重要启示:对于预算有限的团队,选择Gemini 3 Flash或GPT 5.3-Codex可能是更明智的选择。而对于需要最高质量输出的关键项目,Claude Opus 4.6的额外成本可能是值得的。
八、人类标注与自动构建的对比——两种里程碑构建方法的较量
为了验证DeepCommit工具的有效性,研究团队进行了一项有趣的对比实验:他们请人类专家手动分析scikit-learn项目的开发历史,构建里程碑序列,然后与DeepCommit自动生成的结果进行比较。这个对比就像让一个经验丰富的历史学家和一个AI考古学家分别整理同一批文物,看看他们会得出什么不同的结论。
人类专家构建的里程碑DAG包含14个里程碑,组织成6个语义群组,反映了软件发布的战略主题,比如"框架可演化性"、"后端兼容性"、"技术债务清理"等。这种组织方式体现了人类对项目整体规划和长期目标的理解。
相比之下,DeepCommit构建的DAG包含12个里程碑,同样组织成6个群组,但这些群组更多地反映了代码依赖的拓扑结构和开发阶段,比如"基础设施阶段1-2"、"废弃与验证阶段3-4"等。DeepCommit的方法更注重代码层面的技术依赖关系。
两种方法的一致性程度用调整兰德指数(ARI)衡量为0.538,表明存在中等程度的一致性。有趣的是,在某些特定领域两种方法高度一致。比如在文档相关任务上,89%的人类标注提交被分配到了与DeepCommit相同的里程碑。在Array API相关功能上,两种方法也显示出很好的一致性。
但在跨模块的、意图驱动的任务上,两种方法差异较大。人类标注的"稳定性修复"里程碑将整个发布窗口内的相关bug修复聚集在一起,体现了按照开发者意图的组织方式。而DeepCommit则将这些修复按照它们涉及的代码区域分散到8个不同的里程碑中,体现了按照代码拓扑的组织方式。
这个对比揭示了一个深刻的洞察:人类构建的里程碑更能反映软件开发的语义连贯性和过程意识,而DeepCommit构建的里程碑更强烈地反映依赖拓扑和阶段性代码组织。两种方法各有优势,人类方法更适合理解开发战略,而自动化方法更适合构建技术上可执行的基准测试。
九、未来展望——连续软件演进的新挑战与机遇
EvoClaw的研究结果不仅揭示了当前AI在连续软件开发中的局限性,更重要的是为这个领域的未来发展指明了方向。研究团队认为,要让AI真正胜任长期软件维护任务,需要在几个关键方向上取得突破。
首先是系统性思维能力的提升。当前的AI模型虽然在局部代码生成方面表现出色,但缺乏对软件系统整体架构的深层理解。未来的AI需要具备类似于资深软件架构师的系统性思维,能够预见设计决策的长期后果,并在短期实现和长期可维护性之间找到平衡。
技术债务的主动管理是另一个关键挑战。研究表明,AI往往会选择能够快速通过测试的解决方案,而忽视这些方案对系统健康的长期影响。未来的AI需要具备主动识别和重构技术债务的能力,就像一个负责任的程序员会定期清理和优化代码一样。
上下文理解和记忆机制也需要进一步改进。虽然现代AI已经能够处理相当长的上下文,但在复杂项目中仍然容易"丢失"重要的设计约束和历史决策。未来的AI可能需要更sophisticated的记忆架构,能够有选择地保留和检索相关的历史信息。
验证和测试策略的智能化同样重要。研究发现,成功的AI会采用适度的验证策略,而不是盲目测试或完全不测试。未来的AI需要学会在什么时候进行什么程度的验证,这需要对软件质量保证有更深入的理解。
从更广阔的角度来看,EvoClaw的研究为AI辅助软件开发领域提供了新的评估框架。传统的基准测试主要关注AI的短期能力,而EvoClaw证明了评估长期能力的重要性。这种评估方法可能会推动整个行业重新思考如何设计和训练AI代码助手。
十、实际影响与应用建议——如何在现实中应用这些发现
对于正在考虑使用AI代码助手的开发团队来说,EvoClaw的研究提供了宝贵的实践指导。首先,团队需要调整对AI能力的期望。虽然AI在单个编程任务上表现出色,但在需要长期维护的项目中,人类监督仍然不可或缺。
在选择AI工具时,性价比应该是重要考虑因素。研究表明,最昂贵的模型未必提供最佳的投资回报率。对于大多数团队来说,选择像Gemini 3 Flash这样的中等成本模型,配合适当的人类监督,可能是最明智的策略。
项目管理策略也需要相应调整。传统的敏捷开发强调快速迭代和响应变化,但在使用AI助手的项目中,可能需要更多地关注代码质量和技术债务管理。定期的代码审查和重构变得比以往任何时候都重要。
对于AI公司和研究机构来说,EvoClaw的发现指明了明确的研发方向。提升AI的系统性思维能力、改进长期记忆机制、优化验证策略,这些都是值得投入的重点领域。
最重要的是,这项研究提醒我们,AI代码助手的发展还有很长的路要走。虽然当前的AI已经能够在很多编程任务上提供有价值的帮助,但要真正实现自主的软件维护和演进,还需要在多个维度上取得根本性突破。在这个过程中,人机协作仍然是最现实也最有效的模式。
说到底,EvoClaw的研究告诉我们一个重要道理:编程不仅仅是写代码,更是一个需要长期规划、系统思考和持续维护的复杂过程。AI虽然在某些方面已经达到甚至超越了人类水平,但在软件工程这个需要综合多种技能的领域,仍然有很大的成长空间。这既是挑战,也是机遇,预示着人工智能和软件工程领域都将迎来新的发展阶段。
对于那些希望深入了解这项研究技术细节的读者,可以通过论文编号arXiv:2603.13428v1在arXiv平台查询完整的研究报告,那里包含了更多详细的实验数据、技术实现和分析结果。
Q&A
Q1:EvoClaw测试系统和传统的AI编程测试有什么不同?
A:传统测试像让AI在考场里做单独的编程题,每次都给全新的代码环境。而EvoClaw要求AI在同一个项目里连续工作,新任务必须基于之前自己修改的代码继续开发,就像真实工作中程序员需要维护和发展同一个软件项目一样。这种连续性测试更接近真实的软件开发场景。
Q2:为什么顶级AI模型在EvoClaw连续任务测试中表现会大幅下降?
A:主要原因是AI缺乏系统性思维。它们虽然能实现新功能,但经常破坏现有功能,导致错误像滚雪球一样越积越多。AI倾向于选择能快速通过测试的方案,而不考虑长期可维护性,就像只顾做新菜而搞砸厨房的厨师一样。
Q3:DeepCommit工具是做什么的?
A:DeepCommit是一个自动化工具,能从真实开源项目的混乱开发历史中提取有意义的任务序列。它会分析代码依赖关系、提交信息等多种信号,将相关的代码提交组织成逻辑连贯的"里程碑",为EvoClaw测试提供现实可行的连续开发任务。