生产力提升是真实的,但安全风险也同样真实
AI编程助手显著提升了产出效率。在Meta的大规模部署中,多行建议虽仅占显示建议的16%,却贡献了开发者所采纳字符总数的42%[1]。这意味着开发者正以较高比例选择接受更长、更复杂的AI生成代码块。同一研究还发现,多行建议使按键节省率近乎翻倍——从单行建议的9%提升至17%[1]。这是实实在在的生产力提升。
然而,一项受控用户研究直接对比了有AI助手辅助和无AI助手辅助的开发者在安全相关编程任务中的表现。结果显示:使用AI助手的参与者编写的代码安全性显著更低[2]。更令人担忧的是,这些参与者反而更倾向于相信自己编写了安全的代码,表明该工具助长了过度自信[2]。这并非实验室中的偶然现象——该研究采用了现实任务并设置了对照组,因此成为此处关于因果关系的最有力证据。
人机协同仍不可或缺
即便是最先进的AI编程工具(如GPT-4),也需要大量的人工验证。实验表明,虽然GPT-4能够生成覆盖率很高的测试用例,但其中许多测试在实际运行代码时仍会失败[3]。这意味着AI生成的代码看似正确,实则无法正常运行。同一项研究还发现,GPT-4的代码重构虽能提升代码质量指标,但前提是必须由人工对结果进行验证[3]。
这与安全研究结论一致:人工智能是强大的工具,但无法替代人类的判断。关于基于AI的代码理解系统(如GitHub Copilot)中数据隐私与安全风险的论文指出,这类系统可能生成包含敏感信息的代码片段,从而导致潜在的未授权访问[4]。风险不仅在于代码存在缺陷——更在于它可能泄露机密或引入漏洞,而过度信任AI的开发人员可能会忽略这些问题。
风险因收益立竿见影而容易被忽视
AI编程助手带来的生产力提升是立竿见影且可量化的——节省的按键次数、被采纳的建议数量,都清晰可见。而与之相对的风险却具有延迟性,且更难察觉。开发者今天或许能节省17%的按键操作[1],但可能因此引入一个安全漏洞,直到数周后的渗透测试中才会暴露。用户研究[2]中记录到的过度自信效应,意味着开发者不太可能对AI生成的代码进行二次核查,这进一步加剧了风险。
Meta的研究还指出,多行建议会产生一种“突兀”效应,即AI会不断打乱开发者已有的代码布局[1]。若未加以审慎管理,这可能会降低满意度和生产力。尽管Meta仅有不到1%的工程师选择关闭多行建议功能[1],但这一低退出率既可能反映了该工具的实际效用,也可能意味着其隐性成本(如认知负荷增加或隐藏的安全漏洞)尚未被用户立即察觉。
关于这些来源
该回答基于4项研究(3篇经同行评审,1篇为预印本)——发表于2023年至2024年间,其中2篇为2024年或之后发表,累计被引用180次——这些研究是从通过质量筛选的4项研究中选出的最具相关性的成果,而它们又源自从超过5亿篇论文的数据库中检索到的63篇文献。
本文引用的文献
多行AI辅助代码编写
在Meta的大规模部署中,多行AI建议虽仅占显示建议的16%,却贡献了42%的采纳字符,并将击键节省率从9%提升至近17%(近乎翻倍),不过这种建议也带来了“突兀”的体验,需要精心的用户界面设计来应对。
用户在使用AI助手时会编写更多不安全的代码吗?
在一项受控的用户研究中,能够使用AI助手的参与者编写的代码安全性显著低于未使用AI助手的参与者,并且他们更倾向于认为自己的代码是安全的,这表明存在过度自信。
AI辅助编程:基于GPT-4的实验
使用GPT-4进行的实验表明,虽然它能生成覆盖率较高的测试用例,但许多测试在针对代码运行时失败,仍需大量人工验证以确保准确性。
基于AI的代码理解中的数据隐私与安全风险
对基于人工智能的代码理解系统(如GitHub Copilot)的文献综述发现,这些系统可能生成包含敏感信息的代码片段,从而导致未经授权访问和滥用的风险。
