← 最新论文
🤖 AI

DevOps-Gym: Benchmarking AI Agents in Software DevOps Cycle

本文介绍了 DevOps-Gym,这是首个包含 30 多个 Java 和 Go 项目中 700 多个真实世界任务的端到端基准测试,用于评估 AI 智能体在完整 DevOps 工作流中的表现,并揭示了当前的尖端模型在处理诸如问题解决、测试生成、监控和构建配置等复杂任务时表现得非常吃力。

原作者: Yuheng Tang, Kaijie Zhu, Bonan Ruan, Chuqi Zhang, Michael Yang, Hongwei Li, Suyue Guo, Tianneng Shi, Zekun Li, Christopher Kruegel, Giovanni Vigna, Dawn Song, William Yang Wang, Lun Wang, Yangruibo Di
发布于 2026-01-30
📖 1 分钟阅读☕ 轻松阅读

原作者: Yuheng Tang, Kaijie Zhu, Bonan Ruan, Chuqi Zhang, Michael Yang, Hongwei Li, Suyue Guo, Tianneng Shi, Zekun Li, Christopher Kruegel, Giovanni Vigna, Dawn Song, William Yang Wang, Lun Wang, Yangruibo Ding, Zhenkai Liang, Wenbo Guo

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

想象一下,你有一位才华横溢的新学徒,他非常擅长编写单个句子和段落。当你要求他写一个故事时,他完成得非常出色。但现在,你想看看他是否能经营一整家出版社。这不仅涉及编写故事,还包括搭建印刷机、观察机器运行以防过热、修理卡住的机器,并编写一份清单以确保下一本书不会出现同样的卡顿。

这正是 DEVOPS-GYM 这篇论文所测试的内容。

核心理念:从“作家”到“工厂经理”

一段时间以来,AI 在编写代码方面表现出色(就像学徒编写句子一样)。但真正的软件不仅仅是关于编写;它关乎整个生命周期,即所谓的 DevOps。这包括:

  1. 构建 (Building): 让代码能够编译并运行。
  2. 监控 (Monitoring): 观察运行中的程序,看它是否表现异常(比如机器过热)。
  3. 修复 (Fixing): 调试并修补问题。
  4. 测试 (Testing): 确保修复确实有效,且没有破坏其他部分。

研究人员构建了 DEVOPS-GYM,一个巨大的“健身房”或训练场,其中包含 700 多个真实的挑战。他们希望看到 AI 智能体能否扮演一名全职的工厂经理,处理上述所有四个步骤,而不仅仅是编写部分。

“健身房”设置

研究人员使用由 JavaGo(这是大公司常用的两种语言,不同于 AI 训练中常用的 Python)编写的真实软件项目,创建了一个真实的模拟环境。

他们设计了四种类型的训练:

  • “设置”训练(构建与配置): AI 必须将一个混乱的项目正确地构建起来。这就像是在没有说明书的情况下组装一件复杂的家具,或者从一种工具品牌切换到另一种品牌。
  • “监视”训练(监控): AI 必须观察一个正在运行的程序,并发现细微的问题,比如内存泄漏(程序慢慢吃掉所有计算机内存的情况)或网络连接变慢。这就像一名保安,必须在地下室被淹没之前注意到管道的轻微泄漏。
  • “修理”训练(问题解决): AI 必须根据一份报告找到 Bug 并修复代码。
  • “质量检查”训练(测试生成): AI 必须编写一个测试,以证明 Bug 已被消除。

他们甚至创建了端到端流水线 (End-to-End Pipeline) 任务,这就像一场接力赛。AI 必须连续完成设置、监视、修理和质量检查,且中途不能掉棒。

结果:学徒仍只是个新手经理

研究人员测试了目前最智能的 AI 智能体(使用像 Claude、OpenAI 的 o4-mini 等模型)。以下是他们的发现:

  1. “设置”很难: 即便是最好的 AI,在让项目正确构建方面也表现挣扎。它们经常会对编译代码的复杂规则感到困惑。表现最好的智能体成功率也仅为 52% 左右。
  2. “监视”是一场噩梦: 这是最大的失败点。AI 在观察运行中的系统方面表现极差。它们经常无法注意到问题,或者会被分散注意力。成功率低得惊人,通常只有 0% 到 20%。这就像一名保安睡着了,或者盯着错误的摄像头看。
  3. “修理”具有语言依赖性: AI 擅长修复 Python 中的 Bug(因为它在训练中见过很多 Python),但当切换到 Java 和 Go 时,性能显著下降。这就像一位翻译官,说法语很流利,但在被要求翻译一份德语技术手册时却会磕磕绊绊。
  4. 接力赛完全失败: 当被要求连续执行这四个步骤时,0% 的 AI 智能体取得了成功。它们无法在脑海中保持全局观。它们可能会修复构建过程,但随后会忘记检查监控;或者修复了 Bug,却未能编写测试。

为什么会失败?

论文提出了这些“工厂经理”尚未准备就绪的几个原因:

  • 它们不懂工具: AI 在使用特定系统工具(如检查内存使用情况或管理构建文件)方面的训练还不够。
  • 它们容易分心: 在长时间观察系统时,AI 会丢失对观察对象的追踪。它们无法处理系统运行数小时的“长篇故事”。
  • 它们缺乏深度知识: 它们可以修复简单的拼写错误,但不理解大型软件系统是如何构建和运行的深层、复杂的规则。

底线结论

DEVOPS-GYM 是一次现实检验。虽然 AI 在编写代码片段方面非常出色,但目前它尚未准备好独立运行整个软件工厂。它在处理构建、监视、修复和测试真实软件这些混乱、复杂且长期的任务时表现挣扎。研究人员表示,在 AI 真正实现全自动化软件开发周期之前,我们还需要做大量的工作。

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

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

试用 Digest →