在邮件列表中,Górny 自己也稍作了解释,「鉴于最近“人工智能”泡沫的蔓延,我认为我们确实需要考虑正式解决相关问题。在我看来,目前唯一合理的行动是完全安全地禁止“AI”支持的贡献。换句话说,明确禁止开发者使用 ChatGPT、Bard、GitHub Copilot 等来创建在 Gentoo 中使用的 ebuild、代码、文档、消息、错误报告等。」
不过,Górny 做出的呼吁也仅限于 Gentoo 项目本身,因为其无法影响上下游项目的做法。
谈及为什么会有“禁止 AI 代码”的想法,Górny 从三个方面进行了考虑:
版权问题。目前,生成内容的版权状况仍不清楚。很明显的是,「几乎所有 LLM 都接受过大量受版权保护的材料的训练,而所有花哨的“人工智能”公司都不会关心侵犯版权的问题」,Górny 说道。特别是,这些工具很有可能会产生我们无法合法使用的东西。
质量问题。LLM 非常擅长制造看似合理的废话。Górny 认为,如果你足够小心,这些工具可以提供良好的帮助,但作为作为项目维护者,不能真正依赖所有贡献者都能意识到 AI 代码存在风险问题。
道德问题。正如上面所指出的,“人工智能”公司不关心版权,也不关心人。人工智能泡沫正在造成巨大的能源浪费。这为裁员和增加对 IT 员工的剥削提供了很好的借口。它正在推动互联网的垃圾化,它正在助长各种垃圾邮件和诈骗。
三、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 生成的代码吗?感受如何?
————————————————
原文链接:
https://blog.csdn.net/csdnnews/article/details/137988277