您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [国际清算银行]:生成 AI 和劳动生产率 : 编码的现场实验 - 发现报告

生成 AI 和劳动生产率 : 编码的现场实验

2024-09-04 国际清算银行 浮云
报告封面

生成 AI 和劳动生产率 : 编码的现场实验 列奥纳多 · 甘巴科尔塔、韩秋、硕山和丹尼尔 · M · 里斯 货币和经济部 2024 年 9 月 JEL 分类: D22, G31, R30 关键词 : 人工智能 , 生产力 , 领域实验 , 大技术 BIS 工作文件由货币和经济组织成员撰写国际清算银行部 , 并不时由其他机构经济学家 , 并由世行出版。这些论文是关于主题的兴趣和技术性。他们表达的观点是他们的观点作者 , 不一定是国际清算银行的观点。 该出版物可在 BIS 网站(www. bis. org) 上获得。 © 国际清算银行 2024。保留所有权利。未经许可,不得复制或翻译,但可引用原文时转载简短摘录。 ISSN 1020 - 0959 (打印) ISSN 1682 - 7678(在线) 生成 AI 和劳动生产率 : 编码的现场实验 莱昂纳多 · 甘巴科尔塔、韩秋、硕山和丹尼尔 · M · 里斯 * Abstract 在本文中,我们探讨了生成式人工智能(gen AI)对劳动生产率的影响。2023年9月,蚂蚁集团推出了CodeFuse,这是一个大型语言模型(LLM),旨在帮助程序员团队进行编码。当一个程序员小组使用该工具时,其他程序员小组并未被告知这一情况。利用这一事件,我们在这两个小组的程序员中开展了一场实地试验。我们将使用CodeFuse的员工作为处理组,并将其与控制组中的相似员工配对,以评估AI对其生产率的影响。我们的研究发现表明,使用gen AI可以提高代码输出超过50%。然而,统计显著性仅限于入门级或初级员工,而对高级员工的影响则不那么明显。 JEL 代码 : D22 , G31 , R30 。关键词 : 人工智能 , 生产力 ,现场实验 , 大技术。 1. Introduction 生成人工智能 (gen AI)1工具具有提升员工生产力的潜力。各种通用人工智能(gen AI)模型在临床护理、教育、语言建模、艺术、音乐和设计等领域展示了与人类相当的能力(Gupta等,2024年)。随着对商业和非商业应用的研究文献日益增多(Luo等,2022年;Shaji George和Gabrio Martin,2023年),这一领域的发展引起了广泛关注。) , 道德考虑 (Nassar 和 Camal , 2021年 ;Shet 和 Baker , 2024) , 监管框架 (布拉德福德 , 2023 年 ;Aldasoro 等人 , 2024a), 暗示在安全领域(Sandoval等,2022;Aldasoro等,2024b)和教育领域(Kasneci等,2023;Bahroun等,2023;Imran和Almusharraf,2023),关于AI在需要认知能力的任务中对生产力影响的实证研究仍然很少(Brynjolfsson和Raymond,2023;Noy和Zhang,2023;Peng等,2024)。 为了研究生成式人工智能(gen AI)对生产力的影响,本论文利用了蚂蚁集团的数据,蚂蚁集团是中国一家重要的大型科技公司。2023年9月,蚂蚁集团推出了CodeFuse,这是一个大型语言模型(LLM),旨在协助软件开发团队进行编码工作。在广泛发布之前,该LLM仅在初始六周的试用期内对一小部分程序员开放使用。依托这一事件,我们对这两组程序员进行了实地试验。我们将使用CodeFuse的员工划分为治疗组,并与控制组中具有可比性的员工配对,以评估AI对其工作效率的影响。2 研究结果表明,LLMs能够提升程序员的工作效率。将具有相似生产力水平和工作经验的程序员分为使用和未使用LLM两类进行对比,发现平均生产力(以生成的代码行数为衡量标准)提高了55%。大约三分之一的这种增长可以归因于直接由LLM生成的代码行,其余部分则来自于程序员代码效率的提升(可能反映了额外的时间用于其他编程任务)。 将程序员按经验水平划分显示出了显著差异:仅初级程序员的生产力有所提高。通过比较具有不同经验水平的工作者对LLM建议的请求数量和接受率,可以揭示这些差异。 高级程序员使用LLM的频率较低。与此同时,接受率(程序员使用LLM建议的频率)并未随着经验水平的变化而变化。这些发现表明,LLM对高级程序员生产力影响较小的原因在于他们对LLM的参与度较低,而不是因为LLM缺乏实用性。 2. 现场实验的结构 我们进行了一项受控实验,以测量使用CodeFuse(一种用于辅助特定程序员团队编码的LLM)对生产力的影响。该实验总共进行了12周,从9月4日的周一开始。th, 2023 年 , 于 11 月 25 日星期五结束th 2023 年 , 就在 CodeFuse 对所有程序员普遍可用之前。对于实验 , 我们考虑了随机样本来自1,219名程序员。自2023年9月4日至10月14日,两个特定部门的335名程序员被通知并获得了关于新语言模型(LLM)的精确指导。th并在这一时期开始使用CodeFuse。同时,我们还分析了一个由884名其他部门的程序员组成的对照组,这些程序员并未被告知关于CodeFuse的引入情况。 The治疗组和对照组由具有类似级别的程序员组成ex-ante经验和生产力。表1展示了处理组(面板A)、控制组(面板B)和整个样本(面板C)的 总结统计信息。程序员的特征数据记录于CodeFuse引入之前的9月初,且这些特征数据在两个组别之间非常相似。我们考虑了四个专业级别,从P5级,即职业生涯初期的程序员,到P8级,即我们样本中最资深的程序员。此外,两组在工作经验方面也相当接近。例如,具有超过一年工作经验的高级经济学家占处理组的40%,而控制组的比例为44%。 在表格底部,我们还报告了在引入LLM前后两组的生产力水平。数据每两周收集一次,总共收集了7个意见 :在LLM可用之前的三个两周时期、其引入的两周时期以及其发布后分配给治疗组的三个两周时期, 我们的关键因变量是代码行的量,这是衡量技术人员工作效率的一个重要指标。考虑到CodeFuse推出前的六周时间,实验组和对照组的代码输出行数非常相似。 代码(6.46 与 6.44 , 在日志中 , 标准误差分别为 2.61 和 2.56) 。3然而,在比较CodeFuse推出后的八周内,我们发现对照组的生产效率提高了33%,从6.46上升到6.79,而治疗组的生产效率则减少了20%,从6.44下降到6.24。这一减少主要是由于中国在10月初有一个公共假期。相对而言,治疗组与对照组生产效率的整体增幅约为53%。 我们也有机会task针对每位员工对LLM的请求,我们基于数据进行了跟踪。具体而言,我们可以追踪治疗组中的每位程序员是否使用了CodeFuse,他们开始使用的日期,以及对其使用的定性指标。这一方面至关重要,因为生成式AI应用会提出供程序员接受或拒绝的代码行。只有当程序员接受这些代码行时,才能表明他们对AI建议的满意。我们通过比较提出的代码行与最终输出来追踪LLM的建议是否被接受或拒绝。我们采用了两种不同的接受率度量标准:接受的代码行总数占总提出的代码行数的比例,以及更细致地,接受的单词总数占总单词数的比例。 3. Results 为了排除治疗组和对照组中的选择偏差可能影响我们的结果的可能性,我们结合使用了倾向得分匹配与差值分析。首先,在CodeFuse引入之前的时期(预处理期),我们平均选取程序员的特征,并利用总行代码数的对数、专业水平和工作经验年限来预测被治疗的概率。最后,我们将每个治疗组中的程序员与对照组中具有最接近倾向得分的一或多个程序员进行匹配,这反映了相同的被治疗概率。4 The main results of the analysis are represented in the left panel of Graph 1. 由于我们将变量转换为对数形式,因此该图垂直轴上报告的内容可以解释为代码行生成数量的增长率。如前所述,在x轴上我们报告了7个两周期:LLM引入前的三个两周期,以及LSTM引入后的两个两周期。 引入(表示为0)以及在代码融合引入后的连续三个两周时期(总计另外6周)。 我们的研究结果表明 , 使用使代码输出增加 55%平均来看,这一积极影响在长时间内保持相当稳定。这一结果与文献中的其他发现定性上相似。例如,彭等(2024)的研究发现,引入GitHub Copilot(一种AI搭档程序员)后,处理组完成任务的速度比对照组快56%。 要回答的一个重要问题是生成式 AI 如何影响生产力 ?由于程序员在特定请求下从LLM获得额外的代码行数,产生了明显、机械且直接的影响。此外,生成式AI还可以帮助程序员节省时间、更好地组织工作,并有更多的时间投入到更加复杂和创造性的任务中。因此,我们分析了程序员生成代码(及其内部的单词)的线条,以确定直接从LLM产生并由程序员批准的线条/单词的数量。图1右栏报告的结果表明,直接LLM输出仅能带来11%-18%的生产力提升(取决于我们考虑的是代码行还是单词)。这意味着剩余36-43%的生产力提升可能是由于时间节省,因为AI可以帮助程序员克服编码过程中的瓶颈。 在第二步中 , 我们还分析了潜在的具有不同经验水平的程序员之间的 gen AI 的异质效应为了实现这一目标,我们开发了一个补充测试,将初级程序员和高级程序员分开。具体来说,初级程序员的工作经验不超过一年,而高级程序员则有超过一年的工作经验。如图2所示,这项测试的结果表明,生成式AI对生产力的积极影响尤其显著于入门级或初级员工,代码量增加了67%。相比之下,对更高级员工的影响是积极的,但并不具有统计显著性。 比较LLM 建议的请求数和接受率由不同经验水平的工作者分析这些差异提供了新的视角。图3左面板中的红线表明,在LLM引入后请求的数量与程序员的工作年限之间存在负相关关系。具体而言,x轴表示工作经验水平,从不到一年到五年及以上。y轴(左侧刻度)显示引入CodeFuse后的每用户请求次数。红线表明总请求数随工作经验年数增加而急剧下降。大约在900次左右。程序员在 8 周内不到两年的经验 , 平均到 大约每周110个,每天19个。对于有超过5年经验的程序员,这个数字大约是原来的一半,约为450个,平均下来每周约55个,每天约9个。因此,高级程序员较少使用 LLM 。 4. 为什么高级程序员从 CodeFuse 中获益较少? 为了更好地探究资深程序员为何从CodeFuse中获益较少,我们从差异分析(diff-in-diff)的方法转向了更标准的OLS回归分析,对象是335名受试程序员。我们还将分析范围扩展到总共10个观测值,从而涵盖了CodeFuse引入后的20周时间。表2中的结果显示与差异分析一致。我们使用both高级程序员_dummy(列I)和由工作年限(即年数)给出的更详细的资深程度衡量标准(列II)。在两种情况下,我们发现请求通过CodeFuse生成AI应用程序的代码行数与程序员的经验之间存在负相关关系。从第一列可以看出,资深程序员寻求AI建议的频率大约比初级程序员低70%。从第二列可以看出,随着工作经验年限的增加,求助请求呈下降趋势。每增加一年编程经验,依赖AI生成的代码建议的比例下降13%。 同时,接受率(程序员同意LLM建议的频率)并未随经验水平的变化而变化。蓝色线条表明,在15%到20%的时间内(右侧刻度),无论程序员的经验水平如何,他们都会使用CodeFuse的建议。这些发现表明,LLM对资深程序员生产力较低的影响主要是由于他们对LLM的参与度较低,而不是因为LLM没有用处。 在表3中,我们考虑了不同任务接受率的发展情况,观测数据的数量因此比之前的回归分析更多。在列(I)和(III)中,我们将所有任务单独考虑;而在列(II)和(IV)中,我们引入了一个特定的虚拟变量,该变量对于复杂任务取值为1,而对于其他任务取值为0。否则我们将复杂任务定义为那些需要编写完整的程序段落而非单行命令的任务。如表2所示,我