GitHub研究人员将开发人员在Copilot的AI协助下与依赖标准开发人员实践的团队进行编码的速度进行了比较。为了衡量AI辅助开发人员的生产力,GitHub的研究人员最近进行了一项实验,比较使用其Copilot代码完成工具的小组与仅依靠人类能力的小组的编码速度。
GitHubCopilot是一项AI结对编程服务,于今年早些时候公开推出,收费为每位用户每月10美元或每位用户每年100美元。自推出以来,研究人员一直想知道这些人工智能工具是否真的能提高开发人员的工作效率。问题是确定正确的指标来衡量绩效变化并不容易。
谷歌研究院和谷歌大脑团队在研究了AI代码建议对其10,000多名开发人员生产力的影响后,于7月得出结论,关于相对性能速度的争论仍然是一个“悬而未决的问题”。尽管得出的结论是,传统的基于规则的语义引擎和大型语言模型(例如Codex/Copilot)的组合“可以通过更好的代码完成来显着提高开发人员的生产力”。
但是你如何衡量生产力呢?今年早些时候,其他研究人员使用了24名开发人员的小样本,发现Copilot不一定能提高任务完成时间或成功率。然而,它发现Copilot确实为开发人员节省了在线搜索代码片段来解决特定问题的工作量。这是一个重要指标,表明当开发人员跳出编辑器来解决问题时,像Copilot这样的AI工具可以减少上下文切换的程度。
GitHub还对2,600多名开发人员进行了调查,询问了诸如“人们是否觉得GitHubCopilot使他们更有效率?”之类的问题。它的研究人员还受益于对大规模遥测数据的独特访问,并于6月发表了这项研究。除其他外,研究人员发现,60%到75%的用户在使用Copilot时对工作更有成就感,在编码时感觉不那么沮丧,并且能够专注于更令人满意的工作。
“在我们的研究中,我们看到GitHubCopilot支持更快的完成时间,节省开发人员的精力,帮助他们专注于更令人满意的工作,并最终在他们所做的编码中找到更多乐趣,”GitHub说。
GitHub研究员EiriniKalliamvakou博士解释了这种方法:“我们进行了多轮研究,包括定性(感知)和定量(观察到的)数据,以汇总全貌。我们想验证:(a)用户的实际体验是否证实了我们从遥测中推断出什么?(b)我们的定性反馈是否适用于我们庞大的用户群?”
Kalliamvakou参与了最初的研究,现在已经在此基础上进行了一项涉及95名开发人员的实验,该实验的重点是使用Copilot和不使用Copilot时的编码速度问题。
这项研究发现,使用Copilot的小组(45名开发人员)平均在1小时11分钟内完成了任务。未使用Copilot的小组(50名开发人员)平均在2小时41分钟内完成。因此,拥有Copilot的小组比没有它的小组快55%。
Kalliamvakou还发现有Copilot的小组完成任务的比例更高——有Copilot的小组完成任务的比例为78%,而没有Copilot的小组为70%。
该研究在本质上是有限的,因为它只比较了开发人员在使用JavaScript编写Web服务器代码时的速度,而没有涉及其他语言(如Python或Java)的其他任务。此外,它没有评估代码的质量。
而且该实验没有考虑有助于生产力的因素,例如上下文切换。然而,GitHub的早期研究发现,73%的开发人员报告说Copilot帮助他们保持在流程中。
在一封电子邮件中,Kalliamvakou向ZDNET解释了这个数字在上下文切换和开发人员生产力方面的意义。
“报告‘保持顺畅’肯定意味着更少的上下文切换,我们有额外的证据。77%的受访者报告说,在使用GitHubCopilot时,他们搜索的时间更少,”她写道。
“该声明为开发人员衡量了已知的上下文切换,例如查找文档,或访问StackOverflow等问答网站以查找答案或提出问题。有了GitHubCopilot将信息带入编辑器,开发人员无需切换出像往常一样使用IDE,”她解释道。
但是,仅使用上下文切换来衡量AI代码建议提高的生产力并不能显示全貌。还有“好”和“坏”的上下文切换,这使得衡量上下文切换的影响变得困难。