程式设计师用 AI 写 AI 程式码,“搞死”其他程式设计师?

程式设计师用 AI 写 AI 程式码,“搞死”其他程式设计师?

AI 演算法帮程式设计师写 AI 演算法?或许是不少程式设计师的心愿──“你已经是个成熟 AI 了,该学会自己补好程式码了”就要实现。

6 月 GitHub 与 Open AI 合作推出“GitHub Copilot”AI 编码工具,Copilot 能据上下文自动补好程式码,包括文档字符串、注释、函数名称、程式码,只要编码者给提示,AI 工具就可补好完整函数。

令人震惊的是 Copilot 还在进化。近日举行的 GitHub Universe 2021 开发者大会,GitHub 表示 Copilot 支援 Java、C、C++ 和 C# 等语言多行程式码,并增加 Neovim 和 JetBrains IDE,包含支援开发者常用的 IntelliJ IDEA、PyCharm 等编辑器。

程式设计师用 AI 写 AI 程式码,“搞死”其他程式设计师? AI与大数据 图2张

(Source:GitHub Copilot

GitHub 表示,如今 30% 新程式码都是 AI 编码工具 Copilot 帮助下完成,Copilot 真有如此强大吗?社群有不少人拿到 Copilot 试用资格并分享使用感想。

Copilot 虽强大,但就和大部分人工智慧工具一样,仍建立在 OpenAI Codex 演算法基础上,需藉大量程式码训练。这对同样有微软血统的 OpenAI 及 GitHub 来说不是问题,微软 2018 年斥资 75 亿美元收购全球约 5,000 万用户的程式码开源网站 GitHub,意味 Copilot 依靠的 Codex 演算法接受了数十亿行公开程式码训练。

其实早在 Copilot 诞生前,OpenAI 就推出 1,750 亿参数的 AI 模型 GPT-3。GPT-3 耗费千万美元,以人类诗歌、小说、新闻等大量自然语言训练(主要是英文),因此 GPT-3 对自然语言具备一定程度理解能力。神经网络之父 Geoffrey Hinton 在 GPT-3 出现后曾感慨:“生命、宇宙和万物的答案,其实只是 4.398 万亿个参数而已。”

GPT-3走红背后,AI 正变成普通人玩不起的游戏
Infogram

Codex 就是基于 GPT-3 的模型训练,OpenAI 联合创始人兼首席技术长 Greg Brockman 曾表示 Codex 是 GPT-3 的后代。因此 Codex 也具备将部分指令清晰的英语翻译成程式码的能力,甚至有部分媒体宣传 Codex 让程式设计师门槛降低到只要讲英文就能写程式码的地步。

程式设计师用 AI 写 AI 程式码,“搞死”其他程式设计师? AI与大数据 图3张

官方示范时程式设计师只需在编辑界面写下“Make it be smallish”,上图的大型飞船就会如下图缩小,程式设计师不需输入任何程式码,Codex 会自动编写。

程式设计师用 AI 写 AI 程式码,“搞死”其他程式设计师? AI与大数据 图4张

如今,Codex 经过无数程式码与金钱训练出来的强大能力应用到 AI 工具 Copilot,虽然造就 Copilot 神奇的程式码补完、函数建议等功能,但也使 Copilot 陷入争议。

当 Copilot 受越来越多程式设计师欢迎,GitHub CEO Nat Friedman 兴奋表示:“每天都有数百名 GitHub 开发者使用 Copilot,如果预览版进展顺利,我们计划某个时候会扩展为付费产品。”

Nat Friedman 这番话让 Copilot 一下子没那么香了,这意味经过 GitHub 和 OpenAI 一波神操作后,收费的 Copilot 白嫖全球最大程式码共享网站 GitHub 5,000 万用户的知识成果来商业化。争议焦点在于 Copilot 版权有开源程式码衍生品商业化 GPL 的问题。GPL(General Public License)即通用公共许可证,是一系列自由软件许可证的统称,可用来保证用户执行、研究、共享和修改软件的自由。对应的是任何复制、迁移 GPL 版权的衍生作品都必须遵循相同或等效许可条款。

简单来说,就是开源软件、开源程式码随便用没问题,但只要用了就得支援开源,任何人也可免费使用程式码或软件。Copilot 引起 GitHub 社群公愤的关键就是把开源程式码变成商业产品,无视早期促进程序语言世界丰富、开放的开源精神,有不少程式设计师在社群媒体公开表示未来将不再使用 GitHub 托管程式码。

GitHub 解释是 Copilot“通常不会精确复制程式码模组”,也有人认为 Copilot 据大量程式码 AI 训练得出的结果就如人类成长,前期也需透过学习其他人知识内化成自己的,很难把 AI 模型训练的程式码简单理解为复制贴上。

然而有不少人否定这说法,透过 Copilot 解决程式常见问题时,会发现 Copilot 几乎一字不差复制贴上 GitHub 某段程式码。这表示 Copilot 成为商业产品后,使用 Copilot 的用户把程式码应用到自家产品时不小心就会中招违反 GPL 协议,面临被告风险,已有一些科技公司明确要求禁止员工使用 Copilot 。

Copilot 实际应用问题不止如此,随着程式设计师对 Copilot 了解逐步加深,发现 Copilot 并不完美,仍有不少缺陷。 Copilot 背后的 Codex 既经过大量文本语言训练,也吸收网络世界鱼龙混杂程式码,因此 Copilot 输出部分程式码或许没有那么美好,有隐私泄露、安全风险等问题。

也有网友表示“Copilot 一时爽,调试火葬场”,因为想清楚清晰描述目标函数想达成的功能并不简单,使用 Copilot 时需不断回顾检查 AI 生成的程式码是否正确,这反而干扰编码时的思路。

GitHub Copilot 还在未收取任何费用的申请试用阶段,争论也还继续。随着 AI 工具日益强大,人类将来面对的类似问题只会越来越多。

(本文由 品玩授权转载;首图来源:The GitHub Blog)

延伸阅读:

  • 和 AI 结伴写程式!OpenAI 与 GitHub 联手推出 AI 程式码产生工具,比 GPT-3 更强大
  • GPT-3 走红背后,AI 变成普通人玩不起的游戏
  • 为了精进自家 AI 产品与技术,微软取得 OpenAI GPT-3 独家授权

   特别声明    本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。