GitHub 的 Copilot AI 能否让开发人员重获乐趣?

2023-05-08 0 437

GitHub 的 Copilot AI 能否让开发人员重获乐趣?

为了衡量 AI 辅助开发人员的生产力,GitHub 的研究人员最近进行了一项实验,比较使用其 Copilot 代码完成工具的小组与仅依靠人类能力的小组的编码速度。

GitHub Copilot 是一项 AI 结对编程服务,于今年早些时候公开推出,收费为每位用户每月 10 美元或每位用户每年 100 美元。 自推出以来,研究人员一直想知道这些人工智能工具是否真的能提高开发人员的工作效率。 问题是确定正确的指标来衡量绩效变化并不容易。

Copilot 用作代码编辑器的扩展,例如 Microsoft 的 VS Code。 它以多种编程语言生成代码建议,用户可以接受、拒绝或编辑这些建议。 这些建议由 OpenAI 的 Codex 提供,该系统将自然语言翻译成代码,并基于 OpenAI 的 GPT-3 语言模型。

参见:什么是编码以及它的用途是什么? 新手指南

谷歌研究院和谷歌大脑团队在研究了 AI 代码建议对其 10,000 多名开发人员生产力的影响后,于 7 月得出结论,关于相对性能速度的争论仍然是一个“悬而未决的问题”。 尽管得出的结论是,传统的基于规则的语义引擎和大型语言模型(例如 Codex/Copilot)的组合“可以通过更好的代码完成来显着提高开发人员的生产力”。

但是你如何衡量生产力呢? 今年早些时候,其他研究人员使用了 24 名开发人员的小样本,发现 Copilot 不一定能提高任务完成时间或成功率。 然而,它发现 Copilot 确实为开发人员节省了在线搜索代码片段来解决特定问题的精力。 这是一个重要指标,表明当开发人员跳出编辑器来解决问题时,像 Copilot 这样的 AI 工具可以减少上下文切换的程度。

GitHub 还调查了 2,600 多名开发人员,提出了诸如“人们是否觉得 GitHub Copilot 使他们更有效率?”之类的问题。 它的研究人员还受益于对大规模遥测数据的独特访问,并于 6 月发表了这项研究。 除其他外,研究人员发现,60% 到 75% 的用户在使用 Copilot 时对工作更有成就感,在编码时感觉不那么沮丧,并且能够专注于更令人满意的工作。

“在我们的研究中,我们看到 GitHub Copilot 支持更快的完成时间,节省开发人员的精力,帮助他们专注于更令人满意的工作,并最终在他们所做的编码中找到更多乐趣,”GitHub 说。

GitHub 研究员 Eirini Kalliamvakou 博士解释了这种方法:“我们进行了多轮研究,包括定性(感知)和定量(观察到的)数据,以汇总全貌。我们想验证:(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% 的受访者报告说,在使用 GitHub Copilot 时,他们搜索的时间更少,”她写道。

“该声明为开发人员衡量了已知的上下文切换,例如查找文档,或访问 Stack Overflow 等问答网站以查找答案或提出问题。有了 GitHub Copilot 将信息带入编辑器,开发人员无需切换出 像往常一样使用 IDE,”她解释道。

但是,仅使用上下文切换来衡量 AI 代码建议提高的生产力并不能显示全貌。 还有“好”和“坏”的上下文切换,这使得衡量上下文切换的影响变得困难。

Kalliamvakou 解释说,在一项典型的任务中,开发人员会在不同的活动、工具和信息源之间进行大量切换。

她指出 2014 年发表的一项研究发现,开发人员在切换前平均花费 1.6 分钟在一项活动上,或者平均每小时切换 47 次。

“这只是因为他们的工作性质和他们使用的多种工具,所以它被认为是‘好’的上下文切换。相比之下,由于延迟或中断,存在‘坏’的上下文切换,”她说。

“我们在早期的研究中发现,这会极大地损害生产力,以及开发人员自己的进步感。上下文切换很难衡量,因为我们没有很好的方法来自动区分“好”和“坏” “实例 – 或者当切换是完成任务的一部分而不是导致开发人员的流程和生产力中断时。但是,有一些方法可以通过我们在研究中使用的自我报告和观察来衡量上下文切换。”

至于 Copilot 使用其他语言的表现,Kalliamvakou 表示她有兴趣在未来进行实验。

“这当然是一个有趣的实验。这些受控实验非常耗时,因为我们试图让它们更大或更全面,但我想在未来探索对其他语言的测试,”她说。

Kalliamvakou 在一篇博文中发布了 GitHub 大规模调查的其他主要发现,详细说明了它寻找最合适的指标来衡量开发人员生产力的努力。

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 GitHub 的 Copilot AI 能否让开发人员重获乐趣? https://www.7claw.com/56092.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务