AI调试能力仍有限,人类程序员不可替代

35次阅读
没有评论

共计 1147 个字符,预计需要花费 3 分钟才能阅读完成。

在软件开发领域,AI 的应用已经相当广泛,从“氛围”编码到 GitHub Copilot,再到利用大语言模型(LLMs)快速构建粗糙应用程序的初创公司,AI 已经深度融入其中。然而,那些声称 AI 代理将在几个月内取代大多数程序员的人应该调整他们的预期,因为模型在调试部分表现不佳,而调试占据了开发者大部分时间。这是微软研究院的建议,他们开发了一个名为 debug-gym 的新工具,用于测试和改进 AI 模型调试软件的能力。

Debug-gym(可在 GitHub 上获取,并在博客文章中详细介绍)是一个环境,允许 AI 模型尝试调试任何现有的代码库,并使用调试工具,这些工具在历史上并不是这些模型调试过程的一部分。微软发现,如果没有这种方法,模型在调试任务中表现明显不佳。使用这种方法后,它们的表现有所改善,但仍远不及经验丰富的人类开发者。

以下是微软研究人员对 debug-gym 的描述:

Debug-gym 通过工具使用的反馈扩展了代理的动作和观察空间,支持设置断点、导航代码、打印变量值和创建测试函数。代理可以交互使用工具来调查代码,如果有信心,还可以重写代码。他们认为,使用适当工具进行交互调试可以使编码代理能够处理现实世界的软件工程任务,并且是基于 LLM 的代理研究的核心。具有调试能力的编码代理提出的修复方案,经过人类程序员批准后,将基于相关代码库、程序执行和文档的上下文,而不是仅仅依赖于先前看到的训练数据的猜测。

下图是使用 debug-gym 进行的测试结果。

AI 调试能力仍有限,人类程序员不可替代

使用调试工具的代理表现明显优于未使用工具的代理,但它们的成功率仍然不够高。来源:微软研究院

这种方法比依赖通常使用的模型要成功得多,但当最佳情况下的成功率仅为 48.4% 时,AI 代理尚未准备好进入黄金时段。这些限制可能是因为模型不完全理解如何最好地使用工具,也因为它们当前的训练数据并未针对此用例进行定制。

博客文章称:“我们认为这是由于当前 LLM 训练语料库中缺乏代表顺序决策行为(例如调试痕迹)的数据。然而,显著的性能改进……验证了这是一个有前途的研究方向。”

博客文章称,这份初步报告只是研究工作的开始。下一步是“微调一个专门用于收集解决 bug 所需信息的信息搜索模型”。如果模型较大,节省推理成本的最佳方法可能是“构建一个较小的信息搜索模型,可以为较大的模型提供相关信息。”

这并不是第一次出现的结果表明,关于 AI 代理直接取代开发者的雄心勃勃的想法离现实还很远。已有大量研究表明,尽管 AI 工具有时可以为狭窄任务创建用户似乎可以接受的应用程序,但这些模型往往会生成充满 bug 和安全漏洞的代码,并且通常无法修复这些问题。

这是 AI 编码代理发展道路上的早期一步,但大多数研究人员一致认为,最好的结果可能是节省人类开发者大量时间的代理,而不是一个可以完成所有人类工作的代理。

正文完
 0
admin-gah
版权声明:本文于2025-04-12转载自Ars Technica,共计1147字。
转载提示:此文章非本站原创文章,若需转载请联系原作者获得转载授权。
评论(没有评论)
验证码