Bendi新闻
>
代码屎山噩梦加速来袭,都是AI生成代码的锅?

代码屎山噩梦加速来袭,都是AI生成代码的锅?

10月前

编译 | 核子可乐、褚杏娟

“周边很多程序员一直在使用,都是用上就离不开了!”知乎上,在“大家现在使用哪些 AI 辅助编程工具?节省了多少工作量?”话题下,答主“以默”说道。

按照“以默”了解的情况,AI 辅助编程工具估计至少能帮程序员减少 30% 的工作量。对于工具,他表示“当然首选 GPT,也可能是唯一答案!国产在这方面差距很大。”“综合能力水平: 4.0>3.5>国产大模型。模型能力越强,越好用!”

现在用 AI 辅助编程已经是很多程序员的选择,但随着 AI 软件开发迅速普及,代码质量又会随之受到怎样的影响?⻓期代码研究员 Adam Tornhill 就曾表示担忧,AI 辅助编程的主要挑战在于,它非常容易生成大量本来就不应该编写的代码。

根据最新研究,结果确实令人忧心。除了代码返工(即代码在添加后不久即遭删除)以外,重复代码比例升高等问题愈发严重。

主要是“添加代码”

自 2021 年 6 月推出 beta 版以来,GitHub Copilot 已经掀起 AI 编码的一波潮流。据公司 CEO Thomas Dohmke 介绍,该软件目前拥有超 100 万付费订阅开发者,已经让开发任务的速度提高了 55%。而且在启用 Copilot 的文件中,有 46% 的代码量是由 AI 生成。

根据来自开发者分析公司 GitClear 的研究,基于从 1.5 亿行已更改代码中收集到的数据,调查发现其中三分之二来自以匿名方式共享数据的私营企业,三分之一则来自谷歌、Facebook 及微软等技术大厂的开源项目。

这项研究着眼于经过添加、更新、删除、复制及移动的代码,并排除掉 GitClear 预先定义的“噪音”,例如被提交至多个分支的相同代码、空行及其他无意义的代码行。

但 GitClear 的研究将关注重点放在代码质量、而非数量上,并观察到 AI 助手主要是在提供“代码添加建议,但很少涉及代码的更新、移动或删除建议”。

研究人员还指出,“根据奖励设计,代码建议算法更倾向于提供最可能被采纳的建议”。尽管看似有理,但这明显忽略了代码简洁、易读等特性的重要意义。

GitClear 分析得出的代码更改趋势

对代码质量做精准衡量并不容易。研究人员也的确发现了一些变化趋势,表明代码的添加、删除、更新和复制 / 粘贴量大大提高,但代码移动比例却有所下降。他们还发现代码返工率大幅增加,从 2020 年的 3.3% 提升到目前的 7.1%。

一般来讲,代码移动是开发者进行代码重构的关键指标。具体来讲,就是在改进代码设计和结构的同时,确保不改变行为。

研究人员初步猜测这种趋势可能与 AI 编码技术的日益普及相关,但真实原因仍有待验证。他们还严厉批评了大量复制 / 粘贴代码的负面影响,称“这种对 AI 生成代码的无脑使用,将对代码的长期可维护性产生灾难性的影响”。

但过度使用复制 / 粘贴并不算是新问题。开发人员之所以这样做,很可能是因为无脑照搬比调整和重用现有代码更快、更省事,或者同一项目下多位开发者之间沟通不畅,抑或是从开发示例 / 编码问答网站上“抄袭”了太多内容。

GitClear 研究人员并没有具体讨论应如何解决调查中发现的这些问题,而是转向了“后续研究问题”。但他们也建议工程部门领导者应当“监督提交数据,并考虑其对未来产品维护造成的影响”。

这次研究可能在一定程度上让那些担心被 AI 工具取代的开发者们感到放心。代码分析公司 CodeScene 最近开展的一项 AI 代码重构研究也得出结论,“在编码环境中,AI 还远无法取代人类;当前的 AI 太容易出错,且完全不具备安全修改现有代码的水平。”

代码质量,谁更应该关注

可以肯定的是,AI 编码助手绝不会就此消失,反而是像一切新工具那样不断改进,并由开发者学习优化思路、改善使用效果。

其实,现在开发者们也已经意识到了代码质量的问题。在 GitHub 与 Wakefield Research 的调查报告中,当被调查的程序员被问到,“在积极使⽤⼈⼯智能时,应该根据哪些指标进⾏评估?”“代码质量”成为最关⼼的问题,


但另一方面,更应该关注代码质量问题的其实是公司领导层。

“我公司的领导曾经就动过用代码行数衡量每个人的工作量这种想法。研发人员每周代码量至少在 500 行以上,一个月必须在 2000 行以上。甚至他还搞来了第三方的测算软件,输入 git 账号来计算你的代码量。然后在一次技术会议上,全体组员忍无可忍的怼了技术总监。“知乎上有网友分享到。

一般公司考核代码量相对简单直观,但是代码质量考核就不那么容易了:满足用户需求,合理的进度、成本、功能关系,具备扩展性和灵活性等都不是那么可量化的指标。

但关于代码质量对业务影响的研究表明,一般来说,由于技术债务和糟糕的代码,公司平均浪费了开发人员 23%~ 42% 的时间。但似乎这还不够令人感到担忧,关于软件开发人员由于技术债务而导致的生产力损失的研究还发现,开发人员经常“被迫”引入新的技术债务,因为公司一直在用代码质量换取新功能等短期收益。

现在企业为“降本增效”引入 AI 辅助工具是可以理解的,但需要注意扬长避短、合理使用。根据 Alphacodium 的说法,大模型生成单个冗长函数的结果很差,代码通常包含错误或逻辑错误,大模型也往往在需要思考、推理并做出严格、重要决策的代码任务中遇到困难。

代码生成与其他对话不同,它需要匹配目标语言的精确语法、识别最佳路径和边缘情况、关注问题规范中的众多小细节,并解决其他特定于代码的问题和要求。因此,在自然语言生成中许多优化和技巧可能对代码任务无效。

如何让 AI 辅助编程更好地帮助开发者,也需要各方努力。

参考链接:

https://devclass.com/2024/01/24/ai-assistance-is-leading-to-lower-code-quality-claim-researchers/

https://www.zhihu.com/question/640036429https://zhuanlan.zhihu.com/p/626643788

https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/


活动推荐

鸿蒙这趟高速列车,你上不上?“纯血鸿蒙”的上线给大终端技术带来全新挑战。即将于 4 月 18-20 日举办的 QCon 全球软件开发大会(北京站)特别策划「自研 OS 时代的大终端」专题,特别邀请 1688、闲鱼、高德、京东等大厂鸿蒙负责人前来分享,探讨如何用原生技术以及 Web 技术栈等跨端开发鸿蒙应用,以及多端一致性问题的解决。现场还将设置鸿蒙应用开发 Workshop,带你实操上手。点击「阅读原文」即可查看专题详情。

1 月 29 日(下周一)晚 20:00,我们邀请到了该专题下的四位嘉宾分享鸿蒙应用开发最真实的体验!戳下方小卡片进行预约吧~



今日荐文


微软战略AI产品发布一周就翻车!网友:跟ChatGPT Plus 比,简直就是垃圾


OpenAI也遇“老年危机”!奥特曼对话盖茨爆料:员工整体年龄偏大,是个坏兆头


炒到9万仍被开发者厌恶,苹果号称“下一代iPhone ”的Vision Pro还会被国内争相“借鉴”吗?


OpenAI“宿敌”:放松不了一点!开源模型一不小心就变安全“卧底”


阿里员工抄袭YC初创公司并开源,老外:反正官司打不赢,不费那个劲了


国产GTPs上线!智谱AI推出GLM-4全家桶,我们浅试了一下



你也「在看」吗? 👇

微信扫码关注该文公众号作者

来源:AI前线

相关新闻

AI也造代码屎山!研究发现GitHub Copilot代码可维护性差,偏爱“无脑重写”而非重构复用已有代码两分钟1200帧的长视频生成器StreamingT2V来了,代码将开源AI大模型来了,低代码还有机会吗?阿里1号AI「员工」上岗,007写代码助攻大厂程序员!炸掉祖传屎山代码,Java丝滑改PythonAI 是低代码的“福”还是“孽”?京东财报来袭:对手的AI+出海叙事下,京东何以为战?首个AI游戏引擎或颠覆任天堂/暴雪?0代码即可创建,黄仁勋预测5-10年游戏完全由AI生成减少10%的代码:自定义参数解析器真的很强大,你不来了解一下?怎么在业务团队写好发消息的代码?Google Reader 被 “代码屎山” 杀死Google Reader 被“代码屎山”杀死Google Reader被“代码屎山”杀死iOS版Firefox充斥着大量 “屎山代码”可执行单元校验:在 IDE 中提升 AI 智能体代码的准确性曝小扎写信“挖角”DeepMind;我国10亿级参数大模型超百个;Stability AI开源代码生成模型丨AIGC大事日报保守党支持率大幅领先!加拿大移民的噩梦又要来了?字节系多款 App 被指控抄袭源代码,连拼错的代码都抄走了?美摄回应:我们不是碰瓷,是在维权集体出走的Stability AI 发布全新代码大模型,3B以下性能最优,超越Code Llama和DeepSeek-CoderStability AI开源3B代码生成模型:可补全,还能Debug外国技师都是哪个国家来的?CES2024 深度观察:智能戒指、脑电波传感、生成式AI的新时代? |【经纬低调分享】又来了?!生成式AI在文娱界到底能掀起多大波澜?AI早知道|阿里推新项目MotionShop;Stability AI发布代码模型;Win11新增AI生成图像功能大家来澳洲的目的都是留下吗?
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。