一、引言
随着生成式人工智能(AI)的发展,它在高技能职业中的应用越来越广泛。研究表明,生成式AI可以完成与80%以上的美国工作岗位相关的任务,尤其是需要高等学历的岗位,如医生、律师和软件工程师。虽然很多经济学家预测生成式AI的应用将显著提高生产率,但也有不少人对此持怀疑态度,认为技术的广泛采用仍面临不确定性。特别是在软件开发领域,生成式AI代码助手的引入为生产力的提升带来了新的希望。
本篇报告基于在微软、埃森哲和一家匿名的财富100强电子制造公司进行的三项随机对照实验,分析了GitHub Copilot这种基于AI的代码助手对软件开发人员生产率的影响。通过对近5000名开发人员的实验分析,研究揭示了生成式AI工具对开发者任务完成效率的提升。
二、实验背景和方法
1. 生成式AI代码助手的工作机制
GitHub Copilot是一个生成式AI工具,旨在为开发人员提供智能代码补全建议。它利用大规模的代码库进行训练,能够理解开发人员的代码上下文,并生成相关代码片段。这不仅可以减少开发人员搜索或编写代码的时间,还能帮助提高代码质量。然而,Copilot的建议并不总是准确,过度依赖它可能会引入错误。
2. 实验设计
实验在三家公司中进行,参与者随机分为对照组和实验组。实验组可以使用GitHub Copilot,而对照组在实验期间无法使用该工具。研究使用了不同的生产力指标来衡量AI对开发者的影响,包括每周完成的任务数量、提交的代码更新数量(commits)、代码编译次数以及编译成功率等。
在微软的实验中,1746名开发者中有50%被随机分配为实验组,该实验持续了七个月;埃森哲的实验持续了四个月,包含320名开发者;在匿名公司中,实验进行了两个月,3054名开发人员以滚动方式获得了Copilot的使用权限。
三、主要结果
1. 生产率的提升
实验结果表明,使用GitHub Copilot的开发者其生产率显著提高。总体而言,使用AI工具的开发者每周完成的任务数量平均增加了26.08%,代码更新数量增加了13.55%,编译次数增加了38.38%。尤其是对于经验较少的开发者,AI工具带来的提升更为显著。对于新入职的开发人员以及职级较低的开发者,生产率的提升尤其明显。这表明生成式AI工具对低经验开发者的帮助更大,有助于缩小技能差距。
2. 对不同群体的影响
研究进一步分析了生成式AI对不同层级和经验开发者的影响。结果显示,新入职的开发者和职级较低的开发者更有可能采用并持续使用Copilot,并且他们接受AI生成代码建议的概率更高。与之相比,经验丰富的开发者尽管也能从中获益,但其生产率提升幅度相对较小。
四、挑战与局限
1. 工具依赖与代码质量
虽然生成式AI在提高生产率方面表现出色,但它也可能引入新的挑战。例如,过度依赖AI生成的代码可能会降低开发人员对代码质量的把控。研究中并未发现AI工具对代码编译成功率有显著负面影响,但这一问题仍然值得关注。
2. 实验局限性
实验中,尽管参与人数较多,但实验结果的统计显著性在不同公司之间存在差异。微软和埃森哲的实验结果较为一致,而匿名公司的实验由于时间较短、参与者分配方式的差异,结果的统计显著性相对较弱。此外,实验还受限于AI工具的普及速度和开发者的接受度,这对长期效果的评估带来一定不确定性。
五、未来展望
1. 技术普及与生产力提升
随着生成式AI工具的不断成熟,其在软件开发中的应用前景广阔。未来,AI工具有望继续提升开发者的工作效率,尤其是对于新入职和经验较少的开发者。通过缩短技能掌握的时间,AI工具有助于企业加速开发进程,并推动更多创新。
2. AI与人类协同工作
未来的工作场景将更加依赖AI与人类的协同。AI工具能够自动化完成许多重复性任务,使开发者能够将更多精力投入到创新和复杂问题的解决中。然而,如何在保持高效的同时保证代码质量,仍然是一个值得研究的重要问题。
六、总结
本研究通过对三家企业软件开发人员的实验,展示了生成式AI工具对开发者生产力的积极影响。尤其是对于新手开发者,AI工具提供了显著的帮助。然而,尽管AI工具在提高效率方面表现出色,其广泛应用仍需要克服技术依赖和质量控制等方面的挑战。未来,随着技术的不断进步,生成式AI将继续推动软件开发的变革,并为行业带来更多可能性。