人工智能编码工具现在可以在几分钟内生成数千行代码,帮助公司更快地构建功能、测试和解决问题。但人工智能生成代码的泛滥仍然需要考虑。大语言模型可以生成表面上看起来干净的代码,但隐藏了一些小错误,例如不正确的假设、安全漏洞或仅在部署后发生的细微错误。解决这个问题可能会破坏人工智能高生产率的承诺。
公司正在通过修改代码来应对人工智能代码折磨的冲击。新的策略正在出现:除其他方法外,工程师在开始人工智能编码之前检查蓝图,使用特殊的人工智能代理来检测常见缺陷,向人工审查发送危险的更改,或者要求开发人员保护其代理生成的代码。
随着人工智能生成代码的兴起给工程团队带来了新的压力,这一转变随之而来。在对 1100 多名开发人员的调查中 声纳在一家人工智能代码测试初创公司中,受访者估计人工智能贡献了他们添加到共享代码库的代码的 42%。然而,虽然开发人员发现人工智能对于解释代码和构建代码原型很有用,但 96% 的开发人员对最终的功能缺乏信心。
投资者看到了缩小这一差距的机会。比如8月AI码评CodeRabbit上线 筹集了1.43亿美元 该公司价值 15 亿美元,声称每周为 17,000 名客户处理超过 200 万条评论,其中包括 Nvidia、Indeed 和 BMW Group。
新一轮的代码审查将决定人工智能是否能够交付更快、更可靠的代码。这也让一些软件工程师思考了自己职业的未来:如果入门级工程师花更少的时间自己编写代码,他们将如何学会判断代码?
AI 代码审查的障碍
人工智能编写的代码将障碍从生成软件转移到了审查它。根据 Sonar 研究,38% 的开发人员表示,审查人工智能生成的代码比审查同事编写的代码需要“更多的努力”。 61% 的人表示人工智能经常生成看起来正确但“不可靠”的代码。
对于 AI 视频生成平台 Synthesia 来说,代码审查已成为其工程流程的关键。 2025 年 11 月,118 名 Synthesia 工程师在 Claude Code 等 AI 编码工具上进行了大量工作。 Synthesia 首席技术官 Peter Hill 表示,其结果是代码量大幅增加。
“我不知道我们是否已经达到了可以真正信任该机构生成代码的地步。” — 彼得·希尔,《综合》
此代码需要彻底调查。 Hill 表示,到 8 月份,提交审查的拉取请求或代码库拟议更改数量增加了 120%。其中 95% 的请求包含人工智能生成的代码。
最常见的问题之一是重复。希尔表示,人工智能工具可能无法识别该任务代码,并且他们会编写不同的版本,因为它们的上下文有限。 Synthesia 可以找到多达 10 个功能版本,使工程师能够识别并删除冗余功能。一旦完成,工程师将重新训练人工智能代理,以免这种情况再次发生。在全公司范围内,希尔将让人工智能生产预期产品描述为“一项巨大的工作量”。
代码审查流程中的人工智能代理
一些团队试图避免审核问题 前 AI 生成一行代码。
亚马逊商店的高级工程师 McLaren Stanley 表示,他正在利用人工智能对亚马逊移动购物应用程序已有 17 年历史的代码进行现代化改造。他的 70 人团队通过维护构建功能的架构基础来支持 1,000 多名开发人员。斯坦利说,通过编写人工智能代码,工程师可以花更多的时间来决定它在开始重现之前需要做什么。
这项工作的很大一部分涉及编写“规范”,即 AI 代理应该做什么以及如何做的详细计划。在生成代码之前防止重复出现错误可以节省工程师的时间。
Stanley 回忆起一条缺失的指令曾经如何导致代理以错误版本的 Swift 编程语言生成 25,000 行代码。切换版本产生了无法立即修复的 600 错误。 Stanley 转储了代码,更新了规范,并重新启动了代理。十五分钟后,它正确重置了代码。
一旦代码到位,特殊的人工智能代理就可以在人员进入之前执行第一轮检查。
亚马逊网络服务 (AWS) 的高级工程师 David Janacek 表示,该公司会检查代理,看看代码是否符合最初的计划,并在审查人员之前寻找安全漏洞。
随着人工智能生成的代码量的增加,第一遍变得更加重要。根据首席技术官 Tanuja Korlepra 的说法,Bonterra 是一家拥有约 290 名工程师的非营利软件提供商,在采用人工智能后的三个月内,提议的变更增加了两倍。代码输入审核增加了十倍,审核时间增加了两倍,使得工程师不可能检查每一行。
“我们不会让代码审查成为未经测试的样本结果的垃圾场。” –萨马尔·阿巴斯,临时
Bonterra 代理将代码与批准的设计、安全规则、编码标准和可访问性要求进行比较,然后报告他们对结果的信心。低分或标记的问题会给人带来改变。与支付、个人信息或其他敏感系统相关的密码始终受到人工审查。
“特工进行解读,人们做出判断,”科莱普拉说。
Synthesia 还使用人工智能代理来确定何时需要人工审核。工程师制定的标准更关注高风险的变更。更改错误消息的风险比操纵客户数据代码或核心业务规则的风险要小。然而,只有不到 5% 的变更能够通过人工审核。
“我不知道我们是否已经达到了可以真正信任该机构生成的代码的程度,”希尔说。
自动审查不会改变谁对生成的代码负责。
软件咨询公司Making Sense 的首席人工智能架构师JD Raimondi 表示,当机器生成的代码多于工程师可以阅读的代码时,人类验证可能会变得“戏剧化”。换句话说,工程师可以验证该功能是否有效、检查代码并验证它,而无需理解下面的选择。
Temporal 是一个开源开发者平台,它给提供代码的人带来了负担。首席执行官萨马尔·阿巴斯 (Samar Abbas) 表示,随着人工智能的发展,代码量和审查时间都增加了。根据其“返回”政策,Temporal 工程师必须用自己的语言解释代理的设计选择以及代码如何处理异常情况。否则,解析器将拒绝它。
“我们不会让代码审查成为未经测试的模型输出的垃圾场,”阿巴斯说。
对初级工程师进行人工智能培训
随着人工智能将工程工作从编写代码转移到做出判断,公司正在重新思考入门级工程师如何获得经验。
雷蒙迪表示,Making Sense 的年轻工程师已经看到了人工智能领域生产力的一些最大提升,这引发了人们对他们在工作中不再学到的东西的担忧。咨询让初级人员确定客户为什么需要该功能以及它应该如何工作,而不是限制他们测试人工智能输出。
IBM 正在利用人工智能让新工程师更快地完成更具挑战性的任务。 IBM 自动化和人工智能总经理 Neel Sundaresan 表示,最近的毕业生现在正在研究曾经为高级工程师保留的产品功能和项目。人工智能帮助实现和测试代码,但如果失败,初级人员会评估错误并修复问题,然后将工作交给高级开发人员进行最终批准。 Sundaresan 估计,人工智能可以帮助初级工程师完成 70% 到 80% 的曾经需要高级工程师才能完成的任务。
Synthesia主要招聘中高级工程师。其初级员工与一名资深同事和一名人工智能代理一起工作,负责部分项目并学习如何确定成功的代码。
在 Bonterra,代理现在执行许多曾经培训新工程师的精确编码任务。年轻人与更有经验的同事一起工作,指导代理人,挑战他们的结果并对结果负责。他说,这种方法可以帮助年轻工程师培养职业发展所需的技能和知识。
“如果一个行业停止雇用年轻人,那么该行业就停止培养成年人,”科尔莱普拉说。
来自您网站上的文章
网络上的相关文章