AI编码工具真相:拖慢开发者速度,认知偏差误导判断,还不够实用
科技研究领域传来一则与大众预期相悖的消息:人工智能编码工具虽被寄予加速软件开发的厚望,但一项随机对照试验却揭示了截然不同的结果。
非营利研究组织模型评估与威胁研究(METR)的计算机科学家们通过严谨的研究,证实了尽管人们对AI编码工具满怀期待,可实际上它却让软件开发者的工作效率降低了。
这一现象不仅体现在工作速度上,还引发了开发者认知上的错觉,就如同AI自身容易产生不实信息一样。在研究开展前,开发者们普遍预期使用AI工具能让工作效率提升24%。然而,即便研究结束后,他们依然坚信AI帮助他们将任务完成速度提高了20%。但残酷的现实是,AI让他们的实际工作延误了约20%。
“令人惊讶的是,我们发现允许使用AI实际上让任务完成时间增加了19%——AI工具拖慢了开发者的速度。”研究报告中的这句话,清晰地揭示了这一意外结果。研究结束后开发者对使用AI效果的错误预估,与实际数据形成了鲜明对比。
为了深入探究这一问题,研究人员精心设计了一项实验。他们邀请了16名参与大型开源项目开发的资深开发者参与其中。这些开发者根据自身工作经验,列出了一份包含246个实际问题的清单,这些问题涵盖修复漏洞、添加新功能等多个方面。随后,他们预测了完成这些任务所需的时间。接着,这些问题被随机分配,部分允许使用AI工具,部分则不允许。
在允许使用AI工具的情况下,开发者们选择了自己熟悉的工具,主要是Cursor Pro搭配Claude 3.5/3.7 Sonnet。实验于2025年2月至6月期间顺利开展,开发者们按照分配的任务和规则进行工作。
经过深入分析,研究人员发现开发者工作速度变慢可能由五个关键因素导致。首先是对AI有用性过度乐观,开发者们对AI的期望过高,没有充分考虑到实际使用中可能遇到的问题。其次,由于这些开发者对代码库高度熟悉,AI辅助在他们面前显得有些多余,无法提供实质性的帮助。再者,面对庞大且复杂的代码库,尤其是代码行数超过100万的大型代码库,AI的表现不尽如人意,难以发挥出应有的作用。此外,AI的可靠性较低也是一个重要问题,开发者接受AI生成的建议不到44%,之后还要花费大量时间进行清理和审查。最后,AI无法理解代码库的隐式上下文,导致生成的代码与实际需求存在偏差。
除了上述主要因素外,其他因素也可能对结果产生了一定影响。例如,AI生成内容的延迟可能会打断开发者的工作节奏,而未能为模型提供最佳上下文(输入),也会使AI生成的代码质量大打折扣。不过,研究人员表示,目前还无法准确确定这些因素对研究结果的具体影响程度。
事实上,AI编码工具在实际应用中的问题并非个例。其他研究人员也发现了类似情况。AI编码公司Qodo最近的一项研究就表明,由于需要额外工作来检查AI生成的代码建议,AI软件辅助的部分优势被抵消了。一项基于丹麦数据的经济调查发现,生成式AI对就业或工资没有产生实质性影响。英特尔的一项研究更是直接指出,AI个人电脑降低了用户的工作效率。在中国一家电力公司的呼叫中心,工作人员也反馈称,虽然AI辅助可以加速某些任务,但同时也会因增加工作量而拖慢整体进度。
从该研究包含的图表中,我们可以更直观地看到AI工具使用带来的问题。当允许使用AI时,开发者花在主动编码和搜索/阅读信息上的时间明显减少,而花在提示AI、等待并审查AI输出上的时间却大幅增加,甚至还出现了闲置状态。这充分说明,AI工具的使用并没有如预期那样提高工作效率,反而带来了额外的负担。
从更多实际案例来看,很多程序员认为AI工具虽然可以以低风险的方式快速测试新场景,并自动化某些常规任务,但总体上并没有节省时间。因为在使用AI工具生成代码后,仍然需要花费大量时间去验证代码是否真正可行。而且,AI工具不会像实习生那样在学习中不断进步,无法根据实际需求进行灵活调整。
研究作者乔尔·贝克尔、内特·拉什、贝丝·巴恩斯和大卫·雷恩提醒我们,他们的工作是在特定背景下进行的,这只是基于特定实验工具和条件的一个时间点记录。他们强调:“我们观察到的速度变慢,并不意味着当前的AI工具不能提高开发者的生产力。我们发现,开发者对代码库的高度熟悉以及代码库的规模和成熟度都是导致速度变慢的因素,而这些因素在许多软件开发场景中并不适用。”同时,他们也指出,这一发现并不意味着当前的AI系统没有用,也不意味着未来的AI模型不会表现得更好。