← 最新论文
🤖 machine learning

SWE Atlas: Benchmarking Coding Agents Beyond Issue Resolution

本文介绍了 SWE Atlas,这是一套新的基准测试套件,旨在通过评估功能正确性和软件工程质量,来衡量编码代理在代码库问答、测试编写和重构等代表性不足的专业工作流中的表现,结果显示尽管顶级模型处于领先地位,但在处理边缘案例和遵循最佳实践方面仍存在重大挑战。

原作者: Mohit Raghavendra, Soham Dan, Miguel Romero Calvo, Yannis Yiming He, Johannes Baptist Mols, Gautam Anand, Cole McCollum, Edgar Arakelyan, Vijay Bharadwaj, Andrew Park, Jeff Da, MohammadHossein Rezaei
发布于 2026-05-12
📖 1 分钟阅读☕ 轻松阅读

原作者: Mohit Raghavendra, Soham Dan, Miguel Romero Calvo, Yannis Yiming He, Johannes Baptist Mols, Gautam Anand, Cole McCollum, Edgar Arakelyan, Vijay Bharadwaj, Andrew Park, Jeff Da, MohammadHossein Rezaei, Bing Liu, Brad Kenstler, Yunzhong He

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

以下是《SWE Atlas》论文的解释,已用通俗易懂的语言并辅以富有创意的类比进行翻译。

宏观视角:从“补丁工人”到“总建筑师”

想象一下,你雇佣了一支极其聪明、速度超快的建筑机器人团队(这些就是AI 编程代理),来协助建设和维护一座庞大的城市(即软件代码库)。

在过去几年里,我们通过给这些机器人分配简单、具体的工作来测试它们:“修好这扇破窗户”或“安装这扇新门”。如果机器人修好了窗户且没有弄坏窗框,我们就给它发一枚金星星。这就是之前的测试(如 SWE-Bench)所做的事情。它们衡量的是机器人能否修补问题。

SWE Atlas 说:“等一下。成为一名优秀的建筑工人不仅仅是修补破窗户。它还包括理解整座城市、编写安全手册,以及重新设计旧建筑,以确保它们在十年内不会倒塌。”

研究人员构建了一个名为 SWE Atlas 的更难的测试,旨在考察这些机器人能否像专业工程师那样思考,而不仅仅是充当补丁工人


三大新挑战(“Atlas”任务)

SWE Atlas 不再仅仅让机器人修复漏洞,而是赋予它们三种类型的专业工作:

1. 代码库问答:“城市导游”

  • 旧方式:“这是一张地图。告诉我图书馆在哪里。”(机器人只是阅读地图)。
  • SWE Atlas 方式:“我是新来的。我需要知道当下雨且电网故障时,交通信号灯会如何表现。我不只想要一张地图;我要你驾驶汽车,实时观察交通信号灯,并告诉我当事情出错时究竟会发生什么。”
  • 关键点:机器人必须实际运行软件,观察其在压力下的挣扎表现,并解释实时行为。它不能仅靠阅读代码来猜测。

2. 测试编写:“安全检查员”

  • 旧方式:“写一个测试以确保门能打开。”(机器人编写一个检查门是否打开的测试)。
  • SWE Atlas 方式:“写一个测试,试图破坏这扇门。如果有人试图在门锁着的时候打开它怎么办?如果铰链生锈了怎么办?如果风刮得太猛怎么办?”
  • 关键点:机器人必须充当对手。它需要构思出每一个可能导致崩溃的怪异、边缘案例场景。如果机器人编写的测试只检查“快乐路径”(即一切完美运行的情况),它就无法通过测试。

3. 重构:“翻新专家”

  • 旧方式:“把墙漆成蓝色。”(机器人改变颜色)。
  • SWE Atlas 方式:“这个房间一团糟。电线缠绕在一起,管道位置不对,家具挡住了门。重新布置整个房间,使其更易于居住,但不要移动任何一件家具,也不要改变房间的功能。此外,扔掉所有我们不再需要的旧工具。”
  • 关键点:机器人必须清理代码(使其易于维护),同时不能意外破坏任何当前正常运行的功能。这就像在患者跑马拉松的同时为其进行心脏手术。

他们如何给机器人打分(“评分标准”)

过去的测试就像多项选择题:代码运行了吗?是/否。

SWE Atlas 使用的是教师评分表。想象一位严厉的艺术老师正在给学生的画作打分。

  • 你画天空了吗?(是/否)
  • 你使用了正确的笔触吗?(是/否)
  • 你把画笔留在地板上了吗?(是/否——这是一个“负面评分项”,因为这是不良习惯)。

研究人员使用第二个 AI(作为“裁判”)来审视机器人的工作并检查这些详细的选项。他们关注的是:

  • 整洁度:机器人是否留下了“死代码”(垃圾)?
  • 组织性:新代码是否易于人类日后阅读?
  • 完整性:机器人是否遗漏了任何边缘案例?

他们的发现(结果)

研究人员测试了当时最先进的人工智能模型(如 GPT-5.4 和 Opus 4.7)以及一些开源模型。以下是裁决结果:

  1. “补丁工人”很出色,但“工程师”仍在挣扎
    顶尖的 AI 模型在修复简单漏洞(即“修补”工作)方面表现出色。但当被要求从事专业工程师那种混乱、复杂的工作(如深度重构或编写稳健的测试)时,它们的得分显著下降。

  2. “一致性”问题
    如果你让一个顶级机器人解决同一个问题 3 次,它可能只有一次做对,其余两次失败。它们还不足以可靠到被信任去处理关键基础设施。

  3. “探索”差距
    表现最好的机器人之所以成功,是因为它们不仅仅阅读代码;它们运行了代码。它们搭建软件、破坏它、修复它,并观察日志。那些只“阅读”代码而不运行它的机器人,在“代码库问答”任务中失败了。

  4. “快乐路径”陷阱
    在编写测试时,机器人倾向于编写仅检查事物是否正常运行的测试。它们未能编写检查灾难情况的测试(即缺乏“对抗性”思维)。

  5. 开源与闭源模型
    最强大、最昂贵、来自大科技公司的“闭源”模型,其表现远优于免费、开放的“开源”模型。开源模型往往过于困惑,无法处理复杂的多步骤任务。

核心结论

SWE Atlas 是一个警钟。它告诉我们,虽然 AI 在编写小段代码或修复简单错误方面变得非常擅长,但它尚未准备好成为一名专业软件工程师

它仍然在以下方面存在挣扎:

  • 提前思考可能会出现什么问题。
  • 清理混乱的代码而不破坏它。
  • 理解系统在现实世界中的行为(而不仅仅是在纸面上)。

该论文总结道,我们需要停止只问“它运行了吗?”,转而开始问“这是好的工程吗?”,因为 AI 编程的未来取决于后者。

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

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

试用 Digest →