← 最新论文
💻 computer science

Evaluating Agentic Code Repair Capabilities in Distributed Systems

本文介绍了 DDBench,这是一个包含来自 13 个分布式系统的 60 个历史漏洞的新型基准测试,用于评估基于大语言模型的编程智能体,并证明了虽然受限的调试上下文能显著提高修复成功率,但分布式调试揭示了独特的推理挑战以及单进程基准测试无法捕捉到的模型性能差异。

原作者: Yibo Yan, Huijuan Wang, Junzhou He, Yizhuo Liang, Shaoyu Wang, Huanchen Sun, Seo Jin Park

发布于 2026-08-18
📖 1 分钟阅读☕ 轻松阅读

原作者: Yibo Yan, Huijuan Wang, Junzhou He, Yizhuo Liang, Shaoyu Wang, Huanchen Sun, Seo Jin Park

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在现代数字世界中,软件并非孤立存在。驱动我们的银行、通信和基础设施的应用,通常以庞大的分布式系统形式运行。请将一个程序想象成的不是房间里的单个工人,而是一支由数十名专家组成的团队,他们分散在不同的建筑中,不断相互交流以完成一项工作。当这样的系统中出现问题时,问题的根源很少是某个文件中的简单拼写错误。相反,错误可能源于两个专家之间的误解,或者是由于一个人的说话速度快于另一个人的倾听速度而导致的计时问题,亦或是只有当三个不同的进程恰好在同一时刻采取行动时才会出现的冲突。多年来,研究人员一直在教人工智能修复代码,但他们大多是在针对单文件问题的测试中对这些 AI“智能体”进行测试,就像是一个孤独的工人在修理一件坏掉的工具。他们尚未找到如何让这些智能体在分布式系统的混乱、混沌的现实中进行测试的方法,因为在这些系统中,故障的根本原因往往隐藏在许多不同部分之间复杂的对话之中。

一组研究人员现在建立了一个专门设计的全新测试场,旨在衡量这些 AI 智能体在调试此类复杂、多部分系统方面的表现。他们将这一创造物称为 DDBENCH。它收集了从 13 个不同的开源分布式系统(涵盖从数据库引擎到消息网络)中采集的 60 个真实世界的漏洞。研究人员将这些漏洞分为三个难度等级。最难的等级包含那些需要智能体理解不同计算机如何随时间相互影响的问题,涉及处理不可预测的延迟和冲突的行为。为了测试这些智能体,研究人员为每一个漏洞都设置了一个受控实验。在一种情景下,智能体仅被给予症状的描述——即系统正在出错的地方——以及源代码。它必须依靠自己找出其余的部分。在第二种情景下,智能体接收到同样的症状和代码,但同时还获得了一捆额外的线索。这些线索就像是侦探的笔记本:记录了系统说了什么的日志、系统移动轨迹的追踪,以及代码在失败前正在执行的操作笔记。通过比较智能体在有无这些线索情况下的表现,研究人员可以精确测量有多少有用的信息改变了结果。

这项实验的结果表明,分布式调试与修复单文件代码是两种本质不同的挑战。当研究人员在没有任何额外线索的情况下,针对最难的一组漏洞测试十个最先进的 AI 模型时,结果与他们在更简单的测试中所看到的截然不同。在标准的代码修复基准测试中,顶尖模型表现得几乎完全一致,它们聚集在一起,成功率之间的差异极小。然而,在这些分布式系统漏洞面前,同样的模型却表现出了巨大的分化。表现最好的模型解决了近 70% 的最难案例,而最弱的模型解决的比例微乎其微。这种巨大的差距证明,理解不同部分如何相互作用的能力是一种独特的技能,而目前的基准测试未能捕捉到这一点。这表明,成为处理简单任务的“顶尖”模型的能力,并不能保证其成为处理复杂、多进程问题的顶尖模型。

研究还发现,提供额外的调试上下文会以令人惊讶的方式改变游戏规则。当智能体获得精心整理的日志和追踪数据包时,整体成功率显著上升。然而,这种益处对于每个模型而言并不相同。那些在没有线索时难以解决问题的较弱模型,在获得线索后,其成功率大幅飙升。由于额外的信息缩小了它们必须探索的搜索空间,它们获得了解决更多漏洞的能力。而那些已经能够很好解决问题的最强模型,并没有变得更擅长寻找答案,而是变得更快且更便宜。有了线索,它们不需要尝试更多次,也消耗更少的计算资源就能达到正确的答案。这表明,对于最有能力的智能体而言,额外信息的价值不在于帮助它们找到它们最终能独自找到的答案,而在于节省它们进行漫长且昂贵搜索的时间和成本。

或许最微妙的发现是,信息并非越多越好。研究人员发现,如果额外的线索没有经过仔细筛选,它们实际上会误导智能体。在某些情况下,一份关于系统故障的忠实日志会将 AI 引向错误的程序代码部分。如果线索与实际的根本原因相距太远,即使该线索在技术上是准确的,智能体也会陷入调查错误区域的困境。这为未来 AI 调试工具的发展提供了一个关键教训:所提供信息的质量和相关性与信息的数量同样重要。一个选得好的证据可以将一个失败的智能体变为成功的智能体,而一个选得差的证据则会浪费智能体的时间或将其引向死胡同。

最终,这项工作为评估 AI 如何处理现代软件的复杂性建立了新的标准。它不再仅仅询问“AI 能否修复这段代码?”,而是转向询问“当问题跨越多台计算机时,AI 如何思考?”以及“正确的信息在多大程度上能帮助它思考?”研究人员已经证明,跨进程推理的能力是区分顶尖模型与普通模型的一个独立的智能维度。他们还证明了我们用来辅助这些智能体的工具——即收集日志、追踪和运行时数据的工具——与模型本身一样重要。通过提供正确的上下文,我们可以使较弱的模型变得更强大,使更强的模型变得更高效,从而将一个困难且昂贵的调试过程转变为一个可控的过程。这为新一代 AI 工具开启了大门,这些工具不仅能编写代码,还能理解代码所运行的那些复杂且鲜活的系统。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →