“封杀 AI 生成的代码”,Linux 一个社区采取行动!

“封杀 AI 生成的代码”,Linux 一个社区采取行动!
2024年04月19日 16:23 CSDN

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

写代码时,究竟该不该使用 AI 辅助编程工具?

根据 CSDN 发布的《AI 开发者生态报告》调研数据显示,近 90% 的开发者已经使用代码生成工具;其中,35% 的开发者每天都得使用代码生成工具,36% 认为代码生成工具极大地提高了开发效率。

有人说,“一旦用上,根本就离不开了”。

然而,就在程序员们热火朝天讨论以及尝试时,有一个社区反其道而行,开始“封杀 AI 生成的代码”。

使用 AI 生成代码的三层担忧

近日,Gentoo Linux 发行版中不再允许 AI 生成和辅助的代码贡献。

Gentoo Linux 是一种基于 Linux 内核的开源操作系统,它强调灵活性、自定义和性能优化。与许多其他 Linux 发行版不同,Gentoo 提供了一个称为 Portage 的软件包管理系统,该系统允许用户根据其需求从源代码构建和定制软件。用户可以通过 Portage 安装、更新和卸载软件包,并根据他们的硬件和个人喜好进行编译选项的设置,以优化性能和适应特定的使用场景。

Gentoo Linux 以其高度可定制性和“滚动发布”模式而闻名,这意味着用户可以不间断地更新系统,而无需等待大版本发布。由于其强调自定义和优化,Gentoo 在服务器、嵌入式系统和高性能计算领域得到广泛应用。

之所以发布这条禁令,最初是由 Gentoo 理事会成员 Michal Górny 于 2 月 27 日提出的。Gentoo 理事会是一个管理 Linux 发行版的民选委员会。

在邮件列表中,Górny 自己也稍作了解释,鉴于最近“人工智能”泡沫的蔓延,我认为我们确实需要考虑正式解决相关问题。在我看来,目前唯一合理的行动是完全安全地禁止“AI”支持的贡献。换句话说,明确禁止开发者使用 ChatGPT、Bard、GitHub Copilot 等来创建在 Gentoo 中使用的 ebuild、代码、文档、消息、错误报告等。」

不过,Górny 做出的呼吁也仅限于 Gentoo 项目本身,因为其无法影响上下游项目的做法。

谈及为什么会有“禁止 AI 代码”的想法,Górny 从三个方面进行了考虑:

版权问题。目前,生成内容的版权状况仍不清楚。很明显的是,「几乎所有 LLM 都接受过大量受版权保护的材料的训练,而所有花哨的“人工智能”公司都不会关心侵犯版权的问题」,Górny 说道。特别是,这些工具很有可能会产生我们无法合法使用的东西。

质量问题。LLM 非常擅长制造看似合理的废话。Górny 认为,如果你足够小心,这些工具可以提供良好的帮助,但作为作为项目维护者,不能真正依赖所有贡献者都能意识到 AI 代码存在风险问题。

道德问题。正如上面所指出的,“人工智能”公司不关心版权,也不关心人。人工智能泡沫正在造成巨大的能源浪费。这为裁员和增加对 IT 员工的剥削提供了很好的借口。它正在推动互联网的垃圾化,它正在助长各种垃圾邮件和诈骗。

 禁令以 6:0 投票已通过

在 AI 已经成为主流趋势之际,Górny 提出这样的做法也引发了巨大的争议。

「Gentoo 总是以与众不同的方式脱颖而出,它适合那些缺乏主流发行版的人。我认为将“由真人编写”的代码添加到我们的优势列表中将是一件好事——但我们需要制定适当的政策,以确保垃圾不会流入」,Górny 说道。

随着 Górny 提案的出炉,据 The Register 报道,Gentoo 委员会最初在 3 月 10 日的月度会议上讨论了 Górny 的禁令提案。然而,由于禁令的措辞尚未制定,因此没有采取任何行动,许多理事会成员希望讨论更多细节。

不过,在 4 月 14 日的理事会会议上,该委员会以 6 票对 0 票通过了禁令,一名成员缺席投票。

“我个人的看法是,我们才刚刚开始这个话题”,Górny 说,“我怀疑,当我们真正正确地宣布它时,我们会看到更多的用户反馈,并且用户了解它。”

截至目前,Gentoo 社区已经讨论了电子邮件线程和 IRC 聊天室的潜在禁令,Górny 表示,人们一致认为应该实施“一些限制”。

随着禁令的全面实施,它可能会鼓励更多的 Gentoo 社区成员分享他们对AI的看法。

AI 代码究竟会提升生产力,还是制造代码垃圾?

不过需要注意的是,作为项目维护者,如何区分真人编写的代码和 AI 编写的代码,也并不容易。

对此,Górny 表示,“我们的主要目标是明确什么是可以接受的,什么是不可接受的,并礼貌地要求我们的贡献者尊重这一点,AI 禁令主要是对当前受版权保护代码规则的延伸。”

「如果我们收到包含真正“奇怪”错误的贡献,这种错误似乎不太可能是由人为错误引起的,我们会提出问题,但我认为这是我们能做的最好的事情」,Górny 补充道。

在这条禁令的最后,该社区也留有一定的余地,即声称该政策在未来可以重新审视,这是一些理事会成员明确要求的补充。

“随着事情的迅速发展,事情可能在一年内发生了很大变化(或根本没有变化)”,委员会成员 Sam James 说。

对于禁止使用 AI 生成的代码的做法,其实也不足为奇。此前,国外一家开发者分析公司 GitClear 分析了 1.53 亿行代码,深度调研了过去一年间随着 AI 辅助编码工具的大规模应用对代码质量带来的改变趋势。

根据调研数据显示,这些大量由 LLM 生成的代码:

  • 代码变更率(指在编写后不到两周就被修改或撤销的代码行所占的比例)预计在 2024 年将是 2021 年 AI 出现之前的两倍。

  • “新增代码”和“复制/粘贴代码”的比例相比于“更新的”、“删除的”和“移动的”代码在上升。从这个角度来看,AI 生成的代码更像是一位频繁更换工作的合同工写的临时代码,容易违反他访问的代码库的 DRY(Donot Repeat Yourself,不重复自己)原则。

此外,也有不少开发者反馈使用 AI 代码遇到了不少的问题,如:

  • 《Clean Code: A Handbook of Agile Software Craftsmanship》的作者 Robert Martin 称,代码的阅读时间是编写时间的十倍。更快地写出低质量代码,意味着后续阅读代码的人将面临更多困难。

  • 资深代码研究员 Adam Tornhill(著有《Your Code as a Crime Scene》)表示,人工智能辅助编程的主要挑战是,它变得非常容易生成大量本来就不应该编写的代码。

此外,在一些对代码质量要求较高的场景下,使用生成的代码可能会带来风险,比如代码的性能、安全性或可维护性方面可能存在问题。

然而,“一刀切”的禁用 AI 生成的代码看起来也并不可取。对此,问及 ChatGPT 有何见解时,它回答道:

我认为禁止完全使用 AI 生成的代码可能并不是最佳选择。相反,我建议在使用之前对生成的代码进行审查和测试,以确保它符合质量和安全标准。此外,也可以考虑与开发者社区和原作者合作,共同制定使用 AI 生成代码的准则和规范,以平衡创新和合法性之间的关系。

总的来说,我认为应该根据具体情况综合考虑,既要促进技术创新,又要确保合法合规,从而找到一种既能保护版权又能推动技术进步的平衡点。

那么,你在生产环境中是否使用了 AI 生成的代码吗?感受如何?

在此,为了全面了解中国开发者的真实现状和技术发展趋势,由 CSDN、《新程序员》发起的《2024 年中国开发者大调查》正式启动,也欢迎大家参与,分享您最真实的使用 AI 工具的体验!

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部