在过去两年中,关于"程序员这个职业将不复存在"的论调如同潮水般涌现,而这一切的推动者正是生成式人工智能(AI)的不断崛起。如今,AI甚至能够代替人类编写代码,从百度、阿里到谷歌、Meta,无不以AI生成代码作为展现技术能力的舞台。但是,程序员真的开发出了一个可能会"优化"他们的终结者吗?
最近,专注于代码质量分析和改进的GitClear公司发布了一份报告,给为AI编程工具所困扰的程序员们打了一剂强心针。他们的文章《人工智能生成的代码如何加剧技术债务》揭示了一个潜在的危机:随着AI代码工具的普及,代码重复率陡然上升,代码质量却在急剧下降。根据2024年的数据,GitClear发现五行以上代码块重复的情况同比增长了8倍,而46%的代码变更竟是新增行,新制定的规则“移动行数”显示出代码重组的频率正在下降。简而言之,AI编程工具并没有实现有效的“代码复用”,反而偏爱“Ctrl+C + Ctrl+V”的操作,直接堆砌功能代码,导致了代码庞大的重复和维护难度。
“不要重复自己”(DRY)是人类程序员的经典编程理念,鼓励减少代码重复。然而,AI编程的高效与迅速已经让人类的这一原则形同虚设。事实证明,虽然AI可以提升编程速度,但代码的可维护性却在下降,让项目的长期维护变得愈加艰难。谷歌旗下的DORA研究团队在2024年的报告中也发现,随着AI编程的推广,软件交付的稳定性下降了7.2%,交付吞吐量也减少了1.5%。人们或许会认为,人工智能能解放程序员,让他们专注于更具创造性的工作,然而现实却是适得其反。
从开发者的真实反馈来看,AI编程工具的使用并未激发出期待中的生产力。从去年夏天开始使用GitHub Copilot、Cursor等工具的开发者们在Hacker News等论坛吐槽频频,大量问题源于AI生成的代码,许多低级错误让人啼笑皆非。以Tacitus为例,他在为客户解决问题时就发现,许多技术问题恰恰是客户盲目使用像ChatGPT这样的AI工具所引发的。这些错误如同小学生的失误,程序员一眼便能识破,而一般用户却轻易上当。
归根结底,这暴露了如今AI编程最大的隐患——对编程知识理解不足的用户在没有基本技能的情况下使用AI工具,往往无法取得应有的生产力。更严重的是,AI令人迷惑的表现可能让用户陷入“知识膨胀”的错觉,过度依赖AI生成的内容。
同时,AI风险的伦理问题同样无法被忽视。就算AI生成的代码存在问题,且需要人工进行校验,然而若创作过程全由AI主导,那么这个过程的价值又在何处?如同重复造轮子,巩固了技术债务的存在。
当然,AI编程的支持者表示这会将普通程序员的工作简化,将焦点转向更高阶的创造性工作。然而,在GitClear、谷歌DORA的警示下,未来的编程工作是否真能依靠AI重塑?若不解决AI幻觉和代码质量的问题,AI的编程能力想要确保良好的长期维护,依旧是个大问号。
总的来说,当前的AI编程影响更像是高山流水,但技术债务的清偿却是摆在面前的山。在这片技术的海洋中,或许程序员们需要重新审视AI的使用,从而找到与之共舞的平衡之道。返回搜狐,查看更多