← 最新论文
💬 NLP

What Makes Software Issue Resolution Tasks Difficult for Agents?

本文提出了一个测量框架和大规模实证研究,证明了 AI Agent 处理软件问题解决任务的难度在很大程度上可以从静态结构属性(特别是补丁碎片化程度和仓库规模)中进行预测,从而能够实现更受控的基准测试构建。

原作者: Ebtesam Al-Haque, Brittany Johnson

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

原作者: Ebtesam Al-Haque, Brittany Johnson

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

在人工智能飞速发展的世界中,新一代软件已经出现,它们能够阅读代码、理解问题并自主编写修复程序。这些系统通常被称为“智能体”(agents),它们就像数字员工一样,能够处理复杂的计算机项目、定位错误并提出解决方案。随着这些工具变得越来越强大,研究人员开始利用大规模的真实世界软件问题集对其进行测试,以观察它们的表现如何。然而,仅仅一个告诉我们智能体解决了多少问题的得分是不够的。正如考试分数无法解释一名学生为什么在特定的数学题上遇到困难一样,成功率也无法揭示为什么某个特定的软件任务对人工智能来说过于困难。如果不知道难度的本质,就无法判断一个智能体是真的变得更聪明了,还是仅仅在简单的任务中碰巧运气好。为了构建更好的工具和更公平的测试,科学家需要准确了解哪些结构性元素使得一个软件问题变得困难或容易。

一个研究小组致力于解开这个谜团,他们将软件任务视为可以在智能体尝试之前进行测量的物理对象。他们收集了一个包含超过45,000个软件任务的海量数据集,每个任务都包含一个问题的描述、该问题所在的代码仓库以及人类开发者已经编写的正确解决方案。研究人员并没有在实时观察人工智能挣扎的过程,而是分析了这些任务的静态属性。他们查看了解决方案本身,以观察有多少行代码发生了变化,以及这些变化在不同文件中的分布有多分散。他们检查了代码仓库,以衡量其规模、文件夹嵌套的深度以及文件名可能存在的混淆程度。最后,他们分析了问题描述的文本,以检查语言复杂性,例如模糊的代词或复杂的句子结构。通过将这些测量数据输入计算机模型,他们提出了一个简单的问题:仅通过观察任务的结构,能否预测一个智能体会成功还是失败?

答案是肯定的。研究人员发现,软件任务的难度直接编码在其结构之中,这使得他们仅凭静态特征就能高精度地预测智能体的成功率。最强大的预测因子并非问题描述中的文字,而是代码和解决方案的物理布局。具体而言,当所需的修复是“碎片化”的时,任务会显著变得困难,这意味着代码变更分散在许多不同的文件和间隙中,而不是集中在一个地方。仓库的大小和复杂度也起到了重要作用;当智能体必须在拥有深层文件夹层级的庞大代码库中导航,或者当多个文件共享相似名称导致难以识别要编辑的正确文件时,它们会面临更大的挑战。这些结构性因素共同解释了智能体是否成功的几乎所有可预测的变化。

令人惊讶的是,一旦考虑了结构性因素,用于描述问题的语言对于预测难度几乎没有独立的解释力。虽然指令的清晰度很重要,但研究人员发现,代码变更本身的复杂程度以及必须进行变更的环境才是主导力量。语言特征仅在任务处于中等难度时才会成为一个明显的因素,此时结构的挑战既不是微不足道的,也不是压倒性的。在这些中间地带的情景中,指令中的歧义(如不明确的引用或混乱的句子连接)可能会使结果向失败倾斜。然而,对于最简单的任务,代码足够简单,无论措辞如何智能体都能成功;而对于最难的任务,结构的复杂程度如此之大,以至于即使是完美的清晰指令也无法帮助智能体成功。

这一发现改变了我们思考测试和改进人工智能智能体的方式。它表明,任务的难度不是一种模糊的性质,而是一种可以在人工智能看到问题之前进行计算的可测量属性。这使得研究人员能够构建在不同难度类型之间保持平衡的更好基准测试,从而确保进步被公平地衡量。它还为开发者提供了一种实用的方法,让他们知道何时可以信任人工智能工具:通过了解任务的结构复杂度,人类可以更好地预测智能体是否可能成功,而不是依赖于一个单一且具有误导性的平均分。这项研究证实,虽然语言很重要,但软件本身的物理架构才是理解为什么某些问题会击败即使是最聪明的数字员工的关键所在。

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

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

试用 Digest →