自 ChatGPT 引发了人工智能领域的新一轮研究和创新浪潮以来,所有人都深刻的感受到,AI 正在深度改变世界。而其中 AI 自主编程工具的出现,让程序员们一度既欢喜又忧愁。比如 Microsoft 公司的 GitHub Copilot 编码助手、亚马逊云科技的 Code Whisperer,Salesforce 推出的 Einstein for Developers;国内有阿里云的通义灵码、清华和智谱 AI 联合推出的 CodeGeeX 等,都可以快速生成代码,快速完成业务量。
IT 问答网站 StackOverFlow 曾在2023年6月发布了一项针对90,000多名开发人员的调查。结果显示,近44%的人在工作中使用了 AI 工具,而且这部分人当中有超过82%人表示使用这些工具来生成代码。
但是,在今年4月中旬,Gentoo Linux 发布了一项理事会政策,明确禁止使用 AI 工具生成的代码。5月16日,NetBSD Foundation 宣布了一项新的开发政策:由大语言模型或类似技术(如 ChatGPT、GitHub Copilot)生成的代码将被假定为受到污染(即版权不明,不符合 NetBSD 的许可目标),从而不能被提交给 NetBSD。
以上两个社区是目前唯二公开宣布采取禁止措施的开源社区,而且这一决定是基于对代码质量、版权问题和伦理问题的综合考虑。
这两个开源社区的明确表态引发了广泛的讨论,诚然,所谓大语言模型(LLM)工具,基于 Transformer 算法的模型,通过分析巨量文本资料学习词汇模式,并据此生成代码,而非真正理解或创造。其“智能”生成的代码可能直接复制训练语料,引发版权争议,且难以保证代码原创性,与开源软件的透明度原则背道而驰。
然而截止发稿之日,Debian 项目尚未采纳此禁令,Debian 的立场则为这场技术伦理辩论增添了新的维度。
在相关话题的讨论中,有开发者一针见血地指出了这一点:“我不清楚 Gentoo 或 NetBSD 如何能阻止包含由 LLM 生成的代码,因为他们依赖上游提供的修复。除非每个主要发行版乃至内核,都预先对超过700家 LLM 公司发出警告,否则似乎没有方法能阻止这种情况,但没有任何发行版甚至内核有资金去做这件事,而且 GPL 许可证可能也不兼容这样的威胁(所有 LLM 公司只需托管用于训练数据的 GPL 代码副本,让人们可以下载,就可以轻松应对)。”
Debian 举措似乎就意识到了,可能在当前开源生态系统和法律框架下,彻底阻止 LLM 生成代码的流入几乎是不可能的任务,而且可能还会牵涉到复杂的法律和社区合作问题。因此,Debian 可能更倾向于采取灵活的管理策略,关注代码的质量控制、版权合规性以及透明度,而不是简单地设立禁令。
从一般的趋势和开源社区的氛围来看,大部分开源项目对于使用 AI 工具生成的代码持开放态度,只要这些代码符合项目的质量标准、版权规定和伦理要求。
还有一个值得注意的点在于:GitHub 的所有者微软并未将其任何自有操作系统的源代码输入到其 LLM 训练语料库中。这间接表明了即使是科技巨头也意识到了潜在的风险和挑战。
01 中兴通讯开源战略总监、LF AI & Data 董事会主席 孟伟
大模型辅助编程已经广泛的应用在国内 IT 厂商中,并且有效的提升了研发效率,其作用有目共睹。很多厂商都声称,未来编程大模型将取代9成以上程序员的工作,从而节约成本,缩短上市时间。
大模型辅助编程的挑战也逐渐涌现,例如代码安全漏洞、版权与法律问题、逻辑错误问题,但是对于发展初期阶段的编程大模型,我们不用苛责太多。并且,上述问题都是有相应的解决方案,例如代码走查、安全漏洞和合规扫描等等,这些工作本来就是研发流程的一部分,因此并未增加额外的工作量。随着编程大模型日趋完善,甚至全流程研发大模型自动化实现代码编写、走查、扫描、单元测试、系统测试等工作流的闭环,更会极大的在安全合规的状态下提升工作效率。
编程本身就是基于知识的架构,完成设计方案。人工智能的发展,将逐步取代人类的重复性的知识型劳动。我们不应因噎废食,因为大模型存在问题,而无视它带来的巨大的生产力的提升。
把知识和劳动交给 AI,把智慧和审美留给人类,才是我们未来追求的方向。
02 开源实践者、九州未来联合创始人 章津楠
在 GitHub 2023 官方发布的关于开源与 AI 的观察报告中,一项引人注目的数据显示,高达92%的开发者已经使用或体验过 AI 辅助编程工具。报告中还指出,2023年一年内 AI 开源项目的数量超过了2022年之前所有 AI 项目总和的两倍。这些数据清晰地揭示了人工智能技术正逐步重塑开源软件的未来生态,AI 辅助编程工具的普及趋势已不可逆转。面对这一变革,简单的禁令如同工业革命时期纺织工人破坏织袜机一样,不仅无法阻止技术进步,反而可能错失机遇。
对于开源项目和开发者而言,更应持开放态度接纳并深入了解 AI 辅助编程工具。在条件允许的情况下,可以考虑在开源社区的运营和项目治理中引入软件工程领域的 AI Agent 参与协作。通过采用主流的 DevOps 敏捷协作模式,可以在 DevOps 流水线中部署 AI Agent,执行代码审查、注释编写、文档生成及翻译等虽枯燥却至关重要的任务。随着 AI 辅助编程工具的广泛应用,未来开源社区必将迎来更多 AI Agent 参与全球开源项目的协作。此外,如何在开源领域内有效整合 AI Agent 这一特殊的角色,实现与“硅基生命”的和谐共生,也将成为未来社区治理中一个值得深思的议题。
03 苏州棱镜七彩信息科技有限公司副总裁 黄浩东
今天的话题是关于 AI 生成代码的问题。于是我赶紧问问大模型。
几个模型的答复很一致,甚至措辞都差不多,“他们”异口同声的说可以,而且有的还耐心的举出了能干的场景,比如代码生成,代码解释和文档编制,代码调试和优化,代码补全以及教学和学习辅助。好巧不巧昨天看到一篇公号文章,说是某公司用 ChatGPT 写的一行代码让公司损失了上万美元,更严重的是,代码是老板自己写的,找不到人背锅了。
这一下让我凌乱了,传统的写文章的方式竟然来了两个截然相反的观点,让我无从选择作为“自己的”观点了。无奈,只能拿出自己尘封已久的脑子想一想。
首先,AI 也好,大模型也罢,最终是一定能写出很好的代码的,不是说懒惰是人类前进的原动力吗,而且工具的提升和变革会促进生产力的进一步迭代和爆发。但进一步,AI 写代码是否是代码界的工业生产取代自耕码农的分散劳动?恐怕不会。究其根本一是代码终究是人设计出来让人能看懂且机器可读,让 AI 走一个机-人-机的路径恐怕是误入歧途了,二我一直坚信,人是目前能源转化效率最高的“设备”,能源供应是不是能支撑如此大规模的算力使用,算算账就知道了。
不过从我们自己公司业务的视角看,AI 写代码,可能会对开源世界带来大的冲击。能用来训练模型的大量的一定是开源代码,恐怕训练的时候也没办法让 AI 理解“许可证”的规矩。AI 的不确定性也很难证明 AI 写出来的代码是基于哪个项目衍生的。如果AI生成的代码进一步回馈到了开源社区,那可能更是灾难了,毕竟谁愿意去看海量的别“人”的代码呢。
现在有识别 AI 生成文字图像的方法,相信很快识别 AI 生成的代码也能实现,进一步如果能判别出 AI 的代码与哪个项目代码有“血缘”关系,那么这“五型克隆”的识别问题也就解决了。
新的猫鼠游戏循环往复的开始了,商机多多,不写了,赶紧写代码去了。
04 匿名
借助代码生成来提升程序开发时的效率这件事,软件产业当中一直是这么做的。在使用大模型生成代码之前,很多程序员已经习惯了使用:编辑器当中的自动代码补全,开发应用时自动生成脚手架代码,使用 cmake、 protobuf、 pybind 这类工具。现在的大模型生成代码的技术,毫无疑问,给程序员的工具箱当中又增加了一个了不起的工具。Linus 最近在接受采访时,也表达过类似的观点:https://blog.mathieuacher.com/LinusTorvaldsLLM/
就我个人的经验来说,我现在是 copilot 的重度用户,我不觉得这跟我使用代码补全,或者借助代码片段库中的代码片段来提供基础代码结构,有什么本质的区别,从程序员的角度,这是很自然的事情:使用工具来提升效率。从界定这类代码的原创性的角度,个人觉得,当程序员审阅 了 AI 生成的代码,做了改动之后,已经可以认为这段代码是程序员的原创了。毕竟, copilot 只是副驾,坐在主驾的依然是程序员本人。
NetBSD Foundation 关于禁止由大语言模型或类似技术生成的代码提交给 NetBSD 的政策,先抛开这项政策落地时实操性方面的挑战不谈,关于这个政策的解读和理解,仍然需要整个行业进行更加清晰的讨论解读。例如:程序员对大模型生成的代码进行审阅,修改后是否还是大模型生成的代码;程序员给大模型的输入的 Prompt 是程序员原创的情况下,大模型生成的代码是否算是程序员原创的代码;大模型训练所用的代码都是宽松许可的代码的话,所生成的代码是否可以直接给开源项目使用。
转载自丨木兰开源社区
编辑丨王军
相关阅读 | Related Reading
从国内大厂的开源官网洞察其对开源的态度
TiDB Hackathon 2024丨用 TiDB 构建未来的 AI 创新应用, 瓜分超 ¥210,000 奖金池!
开源社简介
开源社(英文名称为“ KAIYUANSHE ”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。
开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。
自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。