调查 800 名开发者后,研究发现:GitHub Copilot 无功无过,并未提升编码速度!

全文2251字,阅读约需7分钟,帮我划重点

划重点

01一项最新研究对生成式AI编码助手如GitHub Copilot的效果提出质疑,发现使用该工具可能导致代码质量下降和工作效率降低。

02研究对比了约800名开发者在采用GitHub Copilot前后的表现,发现效率指标无显著变化,而使用该工具的开发者倦怠感并未减少。

03然而,Uplevel的研究指出,尽管AI编码工具可能提高代码质量,但预期生产力提升可能被高估,甚至根本不存在。

04为此,工程领导需要谨慎考虑如何采用GitHub Copilot,设定具体目标,提供团队培训,继续尝试生成式AI的应用,并监控技术效率指标。

以上内容由腾讯混元大模型生成,仅供参考

图片

近年来,生成式 AI 编码助手如 GitHub Copilot 等工具被广泛推广,号称能够提高开发者的生产力,减少开发时间。然而,最新研究表明,这些工具的实际效果可能不如预期,甚至在某些情况下可能导致代码质量下降和工作效率降低。

作者 | Shenisha     翻译 | 郑丽媛

近期,一项研究对“AI 编码工具能够提升开发者生产力”的说法提出了质疑,结果显示:使用 GitHub Copilot 反而导致 Bug 增加了 41%,突显其代码质量堪忧;尽管对照组和实验组的工作时长都有所减少,但使用 GitHub Copilot 的开发者的倦怠感和工作压力并未因此减少;此外,开发者还需花费更多时间审查 AI 生成的代码,一定程度上抵消了其潜在节省的时间。

综合看下来,AI 编码工具对开发者生产力的影响似乎微乎其微。

图片


图片

调查了 800 名开发者,Uplevel 指出:GitHub Copilot 无功无过

在开发者社区中,围绕 AI 编码助手是否真正提升生产力的讨论仍在继续。虽然有些公司报告称 AI 工具带来了显著的生产力提升,但也有一些公司发现这些工具引入了更多错误,并使调试过程变得更加复杂。尤其是初级开发者,即便有 AI 工具的帮助也难以达到高级开发者的效率。

图片

编码工具是生成式 AI 崛起的早期应用之一,但分析公司 Uplevel 的一项最新研究表明,预期的生产力提升可能被高估了,甚至根本不存在。Uplevel 通过分析编码和协作数据发现,使用 GitHub Copilot 导致了错误率上升 41%。

在《生成式 AI 能否提升开发者生产力》报告中,Uplevel 提到:“这表明 Copilot 可能对代码质量产生了负面影响。工程主管可能需要调查带有 Bug 的拉取请求,并为负责任地使用生成式AI实施保障措施。”

研究衡量了拉取请求(PR)周期时间(将代码合并到仓库所需的时长)以及 PR 吞吐量(即合并请求的数量),结果发现,使用 GitHub Copilot 的开发者在这些指标上并未显著改进——这些发现来自 Uplevel 的研究报告,其旨在回答以下三个关键问题:

  • 使用 GitHub Copilot 是否能帮助开发者更快地编写代码?

  • GitHub Copilot 是否能帮助开发者产出更高质量的代码?

  • GitHub Copilot 是否能缓解开发者的倦怠感?

Uplevel 分析了其客户的数据,对比了约 800 名开发者在采用 GitHub Copilot 前后三个月的表现,得出了以下两个主要发现:

(1)效率指标无显著变化

“当比较有无测试情况下的PR周期时间、吞吐量和复杂度时,GitHub Copilot 对开发者既无帮助也无阻碍,也未提高编码速度。尽管其中一些指标具有统计学意义,但这些变化对技术结果并无实际影响——例如,PR 周期时间仅减少了 1.7 分钟。”Uplevel 在报告中指出。

(2)减轻职业倦怠感

Uplevel 的“持续在线”指标(该指标用于追踪超出常规工作时间之外的工作时长,是检验职业倦怠感的先行指标)在两组中都出现了下降。然而,使用 GitHub Copilot 的开发者下降了 17%,而不使用该工具的开发者则下降了近 28%。


图片

GitHub 发布的研究结果,得出了不同结论

“Uplevel 的研究动机是源于对 AI 编码助手将成为主流这一说法感到好奇。”Uplevel 的产品经理兼数据分析师 Matt Hoffman 说。相比之下,GitHub 于 2024 年 8 月发布的一项研究发现,97% 的软件工程师、开发者和程序员报告称他们正在使用 AI 编码助手,且其他研究也有类似发现。

图片

GitHub 的研究报告指出,超过 97% 的受访者在工作中曾使用过 AI 编码工具。然而,对于公司是否积极鼓励或允许使用这些工具,所占比例较小,且这一比例因地区而异。以下是该调查的一些关键发现:

● 生成式 AI 在软件开发领域的浪潮持续增长。此次调研覆盖了 2000 名参与者,几乎所有人(超过 97%)都曾经以某种形式使用过这些工具,无论是在工作中还是工作之外(尽管并非所有公司都正式认可其使用)。

● 尽管许多受访者表示其所在公司对 AI 技术持开放态度,但仍有改进空间。调查数据显示,在不同市场中,59% 至 88% 的受访者表示“他们的公司积极鼓励或允许使用这些工具”。

● 软件开发团队正在逐渐认识到 AI 编码工具的更多好处,包括创建更安全的软件、提高代码质量、生成更好的测试用例,以及加快新编程语言的学习过程。这些改变为开发者节省了大量时间,让他们能够投入到更具战略意义的任务当中。

图片

GitClear 的研究人员还发现,像 GitHub Copilot 这样的 AI 工具主要建议添加新代码,较少推荐更新或删除代码,这往往会导致冗余代码的产生。此外,他们还观察到“代码反复修改”现象的急剧增加,也就是说代码被频繁修改——通常这是代码质量不佳的表现。

“每次迭代生成的 AI 代码越来越不一致,因为不同部分是基于不同提示而生成的。结果就是,代码变得越来越难以理解和调试,导致故障排查耗费大量资源,有时重写代码反而更加容易,”一位用户指出,AI 目前还未能提升生产力。


图片

谨慎采用 AI 编码助手的策略

GitHub Copilot 等 AI 工具的引入提出了几个重要问题:AI 是否能帮助开发者更快地工作?它能否提高代码质量并防止职业倦怠?对此,Uplevel 在报告中回应:“对于当前的群体来说,答案是否定的。然而创新正在迅速发展,GitHub 发现 Copilot 提高了开发者的满意度。”

总体来说,工程领导可能需要以一种谨慎的态度来考虑如何采用 Copilot:

  • 设定具体目标:明确将 GitHub Copilot 整合到团队工作流程中的预期成果。比如你希望实现哪些具体改进?

  • 提供团队培训:进行初步培训,解释在什么情况下应该或不应该使用 GitHub Copilot,并建立保障措施以确保正确实施。

  • 继续尝试生成式 AI 的应用:确定 Copilot 表现出色的具体应用场景,并优化能带来最佳效果的提示词。在整个组织内分享成功的策略,以便复制成功经验。

  • 监控技术效率指标:进行 A/B 测试,以收集客观量化的数据,评估 AI 是否真正提高了开发者的生产力,并帮助实现运营目标。

图片