开发者使用LLM结对编程实际能快多少?
最直接的证据来自一项关于GitHub Copilot的对照实验:研究人员要求开发者尽可能快地用JavaScript搭建一个HTTP服务器。使用Copilot的小组比未使用的小组完成速度快了55.8%[1]。这节省了大量时间——开发时间缩短了一半以上——但这一结果源于一项单一、具体的任务,而非日常工作中的表现。同一项研究还发现,对于经验较少的开发者而言,速度提升更为显著,这表明大语言模型或许能帮助人们更快地进入工作状态[1]。
另一项基于微观制造业数据的研究发现,人工智能渗透率每提高1%,全要素生产率便增长14.2%[2]。尽管该研究并非专门针对软件领域,但它表明人工智能驱动的生产率提升在企业层面既显著又可量化,且这种效应通过附加值提升、技能偏向性增强以及技术升级得以实现[2]。因此,速度固然重要,但并非唯一关键因素。
代码更快是否意味着代码更差——开发者会喜欢吗?
一项针对手游开发商TiMi工作室的案例研究对比了AI结对编程与非AI结对编程项目,发现AI结对编程确实提升了代码质量和开发者满意度[3]。开发者反馈其优势包括节省时间、避免错误、学习技能以及提升质量[3]。然而,同一研究也揭示了实际存在的弊端:开发者质疑AI的可靠性与可解释性,表示缺乏信任与沟通,并感到自主性和积极性下降[3]。这些并非小问题——它们可能削弱长期采用意愿并影响团队士气。
另一篇论文《Jigsaw》提出了一个关键警示:大型语言模型并不理解程序语义,因此无法保证所建议代码的质量[5]。Jigsaw的解决方案是增加基于程序分析的后处理步骤来提升准确性,这表明原始的大语言模型输出并不可靠[5]。这意味着团队不能仅衡量速度,还必须追踪缺陷率、代码审查结果以及开发者满意度,才能判断效率提升究竟是真实的,还是仅仅在更快地生成劣质代码。
团队应追踪哪些具体指标来衡量真实的生产力影响?
基于现有证据,团队应至少衡量三类指标。首先,任务完成时间:Copilot研究显示,在特定任务上效率提升55.8%[1],因此需记录引入LLM结对编程前后典型任务的完成时长。其次,代码质量:TiMi研究发现代码质量有所改善[3],但Jigsaw论文警告LLM可能生成错误代码[5]——需追踪缺陷密度、代码审查通过率及返工时间。第三,开发者满意度与幸福感:TiMi研究既发现了益处,也指出了自主性与动力缺失等挑战[3],建议通过定期调查了解开发者对工具的信任度、使用感受及对工作的掌控感。
TiMi研究还指出,AI结对编程具有技能学习与可能性探索等优势[3],这些虽难以量化,但对团队的长期成长至关重要。团队应考虑采用开发者访谈或回顾性评论等定性指标来捕捉这些价值。关键在于避免单一指标——若质量下降或开发者过度疲劳,仅凭速度可能产生误导。
关于这些来源
该回答基于5篇经同行评审的研究——发表于2022年至2024年间,其中2篇为2024年及以后发表,1篇发表于Q1–Q2期刊,累计被引685次——这些研究是从5篇通过质量筛选的文献中选出的最具相关性的成果,而该筛选范围则源自一个包含超过5亿篇论文的数据库中所检索到的52篇文献。
本文引用的文献
AI对开发者生产力的影响:来自GitHub Copilot的证据
在一项受控实验中,使用GitHub Copilot的开发者完成HTTP服务器任务的速度比未使用的开发者快55.8%,其中经验较少的开发者获益更大[1]。
AI驱动的生产力提升:人工智能与企业生产率
基于微观层面的制造业数据,人工智能渗透率每提高1%,全要素生产率便提升14.2%,这一增长主要源于附加值提升、技能偏向效应以及技术升级效应[2]。
AI结对编程对代码质量与开发者满意度的影响:来自TiMi工作室的证据
TiMi工作室的一项案例研究发现,AI结对编程提升了代码质量和开发者满意度,但也暴露出信任、沟通、自主性及动机等方面的挑战[3]。
LLM辅助的配对编程用于算法追踪
一项基于GPT-4工具TraceCompanion的初步研究,探索了在教育场景中利用大语言模型进行结对编程以辅助算法追踪,并收集了学生的初步反馈[4]。
拼图
Jigsaw论文指出,大型语言模型能够根据意图生成代码,但无法保证代码质量,并提出了通过程序分析进行后处理以提升准确性的方法[5]。
