关于ZAKER 合作
三易生活 16小时前

AI 编程命门浮现,大批开发者居然会不审查代码

在此次 AI 浪潮下,程序员是否会像画师一样大批失业,已经成为了这两年前程序员社区里的热点话题。但在两年之后,许多程序员不仅不担心 AI 可能会取代他们,反而一个个都化身为 AI 的忠实粉丝。如今 Cursor、GitHub Copilot、CodeWhisperer、Trae 等 AI 编程工具已经成为了大量程序员日常工作中的一部分,可是用 AI 写代码真的就没有代价吗?

日前,一份由软件供应链平台 Cloudsmith 发布的报告,就揭示了 AI 在代码生成领域的迅速普及所带来的影响。在这份报告中显示,使用 AI 的开发者中有 42% 的代码是由 AI 生成,其中 16.6% 的开发者依赖 AI 贡献大部分代码,甚至有 3.6% 代码完全是由 AI 生成。

这一报告中同时还指出,AI 生成代码的背后也存在隐忧,开发者普遍担忧 AI 可能会加剧开源恶意软件的威胁,有 79.2% 的受访者认为 AI 将增加环境中恶意软件的数量,其中 30% 认为威胁将显著上升。此外值得一提的是,Cloudsmith 发现有超过 1/3 的开发者没有在每次部署前审查 AI 生成的代码,从而导致大量未经审查的代码被直接部署在生产环境。

AI 编程工具被程序员群体快速接纳,乃至对其出现盲目信任的原因其实也很简单,因为 " 敏捷开发、快速迭代 " 是科技公司的生命线," 效率就是生命 " 更是成为许多科技公司高管的座右铭。而 AI 编程就是一个效率放大器,它们像是 24 小时不休息的编程伙伴,可有效加快开发进度。

以 " 通义灵码 " 为例,阿里方面是这样介绍它的,在传统开发模式下,程序员每天需要耗费大量精力编写重复性代码、调试优化、编写代码注释,这些工作大幅挤压了核心业务代码编写的时间,有了通义灵码作为 " 代码助理 ",开发者就能从编写代码的繁琐工作中解放出来,使得他们能够专注于更具创造性的工作,例如设计更高效的算法、解决复杂的技术问题、开发新的产品。

大家不妨想象一下,作为一位开发者,如果你有一个 24 小时在线的编程助手,它能理解自然语言描述,并帮你写出高质量的代码,还能解释复杂代码的逻辑,甚至帮你 debug,那么你又有什么理由不喜欢它呢?其实 Cursor、CodeWhisperer 被大规模应用是有现实基础的,因为它们确实成为了程序员的 " 免费牛马 "。

可问题是,如今大量的程序员似乎对于 AI 的信任度过高。事实上,早在去年夏季,也就是 Claude 3.5 Sonnet 等一批高性能 AI 模型发布,让使用 Claude 3.5 的 Cursor 开始有了可用性之后,HakerNews、Reddit 就同步出现了一批吐槽 AI 代码的帖子。

其中就有开发者表示,在他为客户解决技术问题的过程中发现,有相当多的 BUG 源于客户使用了 AI 编程工具直接生成的代码。由于 AI 幻觉的存在,AI 编程工具就会出现各种低级错误,例如访问不存在的端口,或是试图从不存在的 API 中读取数据。

由于 AI 的幻觉问题导致 AI 生成的代码也会有 BUG,但 AI 本身的高技术属性极具迷惑性,很容易就让使用者盲目相信 AI 的输出。更重要的是,程序员使用 AI 编程工具是为了提升效率,这就意味着他们在使用 AI 编程工具时往往缺乏 debug 的意识。因为代码校验不仅是对数据和来源的核查,还包括了编程思路的审查。

如果 AI 生成的代码还需要人工来核校,又与 " 重复造轮子 " 有什么区别呢?正是秉承着这样的认识,一大批 AI 生成的代码在未经开发者审查的情况下,就被部署到了生产环境中。如此一来,一个更严重的问题就浮出了水面,那就是 AI 究竟能不能担责?

显而易见,如今业界的共识是 AI 不担责,那么一旦出现问题就只能是使用 AI 编程工具的程序员承担责任了。所以只需要有一次 AI 编写的代码导致严重 BUG,给相关企业造成重大损失,AI 编程工具的热潮可能就会结束。

从某种意义上来说,如今部分程序员对于 AI 编程工具的认知,出现了矫枉过正的情况。以当前的技术水平,AI 编程工具更像是智能辅助驾驶中的 " 人机共驾 ",绝不能排除人类的存在,它只能成为一个代码补全工具,而非纯粹的代码生成工具。

【本文图片来自网络】

相关标签

相关阅读

最新评论

没有更多评论了