AI提速还是拖后腿?开源软件开发效率的真相调查

0

AI工具拖慢开源软件开发速度?一项研究揭示了真相

人工智能(AI)技术近年来发展迅猛,各行各业都开始探索如何利用AI提高效率。在软件开发领域,AI工具被寄予厚望,许多人认为它们可以帮助程序员更快地编写代码。然而,一项最新的研究却给出了不同的答案:AI工具可能会降低开源软件开发者的工作效率。

这项研究由METR(Model Evaluation and Threat Research)的研究人员进行,他们招募了16位经验丰富的开源软件开发者,让他们在日常工作中分别使用和不使用AI工具来完成任务。研究结果显示,使用AI工具的开发者完成任务的时间比不使用AI工具的开发者平均慢了19%。

AI快讯

开发者高估了AI的效率

在研究开始前,参与的开发者们普遍认为AI工具能够显著提高他们的工作效率。他们预计,使用AI工具可以节省24%的时间。即使在完成任务后,开发者们仍然认为AI工具使他们平均快了20%。然而,实际数据却表明,AI工具并没有达到预期的效果。

时间都花在了哪里?

为了深入了解AI工具如何影响开发者的工作效率,METR的研究人员分析了开发者们屏幕录像的数据。他们发现,AI工具确实减少了开发者在编写代码、测试/调试以及阅读/搜索信息方面花费的时间。然而,这些节省下来的时间却被以下几个方面所抵消:

  • 审查AI输出: 开发者需要花费大量时间来检查AI生成的代码是否正确、完整和符合要求。
  • 提示AI系统: 为了获得满意的结果,开发者需要不断地调整和优化提示语,这需要耗费大量的时间和精力。
  • 等待AI生成: AI生成代码需要一定的时间,开发者需要等待AI完成任务。
  • 空闲/额外开销时间: 屏幕录像显示,开发者在使用AI工具时,会出现一些没有活动的空闲时间。

AI快讯

AI生成的代码质量有待提高

研究结果还显示,开发者们只接受了AI生成的代码中不到44%的部分,这意味着大部分AI生成的代码都需要进行修改。许多开发者表示,他们需要对AI生成的代码进行大量的修改才能使其符合要求。在整个研究过程中,开发者们花费在审查和修改AI生成代码上的时间占到了总任务时间的9%。

现有基准测试的局限性

METR的研究结果似乎与其他一些研究相矛盾,那些研究表明,使用AI工具可以提高编码效率。然而,METR的研究人员指出,许多现有的基准测试都存在局限性。这些基准测试通常侧重于合成的、算法可评分的任务,这些任务与实际的软件开发工作有很大的不同。此外,许多基准测试只关注代码的总行数或完成的任务数量,而这些指标并不能准确地反映编码效率。

AI工具不适用于复杂的代码库

参与METR研究的开发者们表示,他们所维护的开源代码库通常非常复杂,平均已经存在了10年,代码行数超过100万行。这种复杂的代码库使得AI工具难以发挥作用。研究人员指出,AI工具无法利用关于代码库的“重要的隐性知识或上下文”,而开发者们对代码库的高度熟悉程度却有助于他们提高编码效率。

AI工具在特定场景下存在局限性

基于以上分析,METR的研究人员得出结论,当前的AI编码工具可能特别不适合以下场景:

  • 对质量要求非常高的场景
  • 存在许多隐性要求的场景(例如,与文档、测试覆盖率或代码风格相关)

研究人员认为,这些因素可能会限制AI工具在复杂、真实的编码场景中的影响。

AI快讯

AI的未来:前景光明,道路曲折

尽管METR的研究结果表明,当前的AI工具在某些场景下可能会降低开发者的工作效率,但研究人员对AI的未来仍然充满信心。他们认为,通过进一步改进AI工具的可靠性、降低延迟以及提高输出的相关性,AI工具可以帮助程序员提高效率。研究人员表示,已经有初步证据表明,最新版本的Claude 3.7能够在某些代码库上正确地实现核心功能。

总而言之,METR的研究为我们提供了一个重要的视角:AI在编码领域的应用并非一帆风顺,它在某些复杂、真实的编码场景中可能存在局限性。然而,随着技术的不断发展,我们有理由相信,AI最终将成为程序员们得力的助手。