AI生成的代码在实际生产环境中表现如何?
最直接的证据来自一项大规模实证研究,该研究分析了GitHub上100个热门仓库中的1000多个文件及约3200次变更[2]。研究发现,AI生成的代码文件比人类编写的代码维护频率更低,即便进行更新,也仅涉及文件极小部分内容[2]。这表面看似利好——所需维护更少——但维护的类型却揭示了另一番景象。
关键发现是,AI代码最常见的修改是功能扩展,而人类编写的代码更新则侧重于漏洞修复[2]。这表明AI代码在初始功能上可能结构合理,但缺乏人类调试和边缘情况处理所带来的稳健性。更值得注意的是,绝大多数维护工作仍由人类开发者自行完成[2],这意味着AI助手并未减轻长期维护负担——只是改变了人类必须承担的工作类型。
开发者能否信任AI生成的内容?
一项包含30名程序员的混合方法研究直接检验了AI代码补全工具能否帮助开发者发现自身错误[3]。研究人员比较了三种条件:仅显示AI生成的代码、高亮显示生成概率最低的标记、以及高亮显示最可能被人类编辑的标记。结果令人瞩目:基于生成概率高亮标记——当前工具中最常见的方法——与完全不进行高亮显示相比并未带来任何优势[3]。相比之下,高亮显示预测需要人工编辑的标记则使任务完成速度更快、编辑更具针对性,且程序员更偏好这一方式[3]。
这意味着当前大多数AI编程助手中内置的不确定性提示,实际上并未帮助开发者发现问题。研究还发现,程序员希望获得细粒度、信息丰富、可解释且不令人眼花缭乱的突出显示[3]——而现有工具基本未能满足这一设计挑战。结合[2]中的维护数据来看,这表明即便AI助手试图标记不确定性,其方式也未能提升现实场景中的可靠性。
生产力提升是否以代价为交换?
一项研究证实,AI助手能显著提升开发者的生产力[1],这与这些工具的广泛普及相吻合。然而,该研究也指出,可靠性检查对于全面理解AI生成的代码至关重要[1]。生产力提升是实实在在的,但这并不意味着能自动转化为可靠的成品软件。
外包领域的文献提供了一个有益的类比:一项系统性综述发现,软件维护离岸外包涉及收益与风险之间的复杂权衡,其中存在必须谨慎管理的关键成功因素[4]。同样,依赖人工智能进行代码生成会带来一系列新的维护风险,组织需要主动加以应对。证据表明,尽管AI助手能加速初始开发,但长期维护负担——尤其是需要人工主导的漏洞修复以及当前不确定性标注功能的低效表现——意味着生产可靠性仍高度依赖人类专业能力。
关于这些来源
该答案基于4项研究(2篇经同行评审,2篇预印本)——发表于2021年至2026年间,其中2篇为2024年或之后发表,1篇发表于Q1–Q2期刊——这些研究是从通过质量筛选的4项研究中选出的最具相关性的成果,而该筛选过程则源于从超过5亿篇论文的数据库中检索到的26篇文献。
本文引用的文献
AI生成代码对生产力的准确性
确认AI助手能显著提升开发者的生产力,但强调可靠性检查对于全面理解AI生成的代码至关重要。
智能体生成的代码在多大程度上需要维护?一项实证研究
在此最大规模的实证研究中,我们分析了来自100个热门代码仓库的1000多个文件及约3200次变更,发现AI生成的代码文件维护频率低于人类编写的代码,但最常见的修改是功能扩展(而非缺陷修复),且绝大多数维护工作由人类开发者完成。
生成概率并不足够:AI代码补全中的不确定性高亮
在一项包含30名程序员的混合方法研究中,基于生成概率(常见方法)高亮标记并未比不高亮带来任何优势,而高亮预测需要编辑的标记则使任务完成速度更快,并受到参与者的青睐。
做出软件维护与信息技术的采购决策
一项关于IT外包的系统性文献综述发现,软件维护离岸外包涉及收益与风险之间复杂的权衡,其关键成功因素必须谨慎管理——这与依赖AI生成代码的风险如出一辙。
