微软研究:AI 编程助手软件调试能力堪忧
IT之家 4 月 13 日消息,OpenAI、Anthropic 和其他顶尖人工智能实验室的人工智能模型越来越多地被用于协助编程任务,谷歌首席执行官桑达尔・皮查伊在去年 10 月透露,该公司 25% 的新代码由 AI 生成;而 Meta 首席执行官马克・扎克伯格也表达了在公司内部广泛部署 AI 编码模型的雄心壮志。
然而,即便是一些目前最先进的 AI 模型,在解决软件漏洞这一问题上,仍然无法与经验丰富的开发者相媲美。微软研究院(微软的研发部门)的一项新研究表明,包括 Anthropic 的 Claude 3.7 Sonnet 和 OpenAI 的 o3-mini 在内的多款模型,在一个名为 SWE-bench Lite 的软件开发基准测试中,无法成功调试许多问题。
研究的共同作者们测试了九种不同的模型,这些模型作为“基于单个提示词的智能体”的核心,能够使用包括 Python 调试器在内的一系列调试工具。他们给这个智能体分配了一组经过筛选的 300 项软件调试任务,这些任务均来自 SWE-bench Lite。
据共同作者们介绍,即使配备了更强大、更先进的模型,他们的智能体成功完成的调试任务也极少超过一半。其中,Claude 3.7 Sonnet 的平均成功率最高,为 48.4%;其次是 OpenAI 的 o1,成功率为 30.2%;而 o3-mini 的成功率为 22.1%。
为何这些 AI 模型的表现如此不尽如人意?部分模型在使用可用的调试工具以及理解不同工具如何帮助解决不同问题方面存在困难。然而,共同作者们认为,更大的问题在于数据稀缺。他们推测,当前模型的训练数据中,缺乏足够多的“顺序决策过程”数据,即人类调试痕迹的数据。
“我们坚信,训练或微调这些模型可以使它们成为更好的交互式调试器。”共同作者们在研究报告中写道,“然而,这需要专门的数据来满足此类模型训练的需求,例如记录智能体与调试器交互以收集必要信息、随后提出漏洞修复建议的轨迹数据。”
这一发现其实并不令人意外。许多研究都表明,代码生成型 AI 往往会引入安全漏洞和错误,这是由于它们在理解编程逻辑等领域的薄弱环节所导致的。最近对一款流行的 AI 编程工具 Devin 的评估发现,它只能完成 20 项编程测试中的 3 项。
不过,微软的这项研究是迄今为止对模型在这一持续存在问题领域最为详细的剖析之一。尽管它可能不会削弱投资者对 AI 辅助编程工具的热情,但愿它能让开发者及其上级领导三思而后行,不再轻易将编程工作完全交给 AI 来主导。
IT之家注意到,越来越多的科技界领袖对 AI 会取代编程工作的观点提出了质疑。微软联合创始人比尔・盖茨曾表示,他认为编程作为一种职业将会长期存在。与他持相同观点的还有 Replit 首席执行官阿姆贾德・马萨德、 Okta 首席执行官托德・麦金农以及 IBM 首席执行官阿尔温德・克里希纳。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。