这个编程 AI 是 GPT-3 的后代。有行业人士说,软件开发领域的似乎正缓缓揭开序幕。
GPT-3 这个自然语言处理 AI 在去年了,被公认是继 AlphaGo 之后。它在互联 上了 5000 亿词,模型达到 1750 亿参数,从而变得通用。但给 AI 硬灌数据,实在是烧钱耗力。但好在,GPT-3 正在孕育出能够实现商业化的后代。
就在刚刚,GitHub、OpenAI、微软联合打造了一个全新的代码生成 AI:GitHub Copilot(以下简称为 Copilot)。
目前,Copilot 正在测试专供 Visual Studio Code 的扩展,一旦达到可用状态,未来会成为微软编程产品里的收费项目。Copilot 可以说是 OpenAI 接受微软 10 亿美元投资以来的首个重大成果。
还有行业人士表示,这代表 AI 开始在编程工作中发挥作用,软件开发领域的似乎正缓缓揭开序幕。
和你结对编程的,换成了 AI
在此之前,程序员写不出代码,一般会到软件开发领域的问答 站 Stack Overflow,或者求助于一些代码自动补全工具。然而,传统 IDE 基本都使用搜索方法进行补全,换句话说, 上有的,才能被抓过去补全。
但 Copilot 是另一种思路,它直接靠 AI 理解程序员的需求。Copilot 不仅仅是模仿以前见过的代码,它还会分析文档中的字符串、注释、函数名称以及代码本身,从而生成新的匹配代码,包括之前调用的特定函数。
脱胎自 GPT-3 的 OpenAI Codex,接受过公开源代码和自然语言的培训,能理解编程语言和人类语言。所以,Copilot 对语言理解和转换有极高的天赋。
GitHub 给 Copilot 的官方定义是。(pair programming)是一种软件开发方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员。两个程序员经常互换角色。GitHub 认为 Copilot 是进化版的,在未来帮程序员查缺补漏的,将会换成 AI。
Copilot 具体的功能如下:
在注释中用简单的英语描述一个函数,Copilot 就可以将其转换为实际代码;
Copilot 能根据程序员给出的例子,快速生成模板和重复的代码;
导入单元测试包,Copilot 就可以提供与代码匹配的测试;
Copilot 可以提供多个备选方案的代码供程序员选择。
此外,Copilot 还能辅导新手写代码,可以帮助他们找出错误、学习新框架,省去大量查资料的时间。
OpenAI 首席技术官 Greg Brockman 表示,将在今年夏末通过 API 发布 Codex。
Github CEO Nat Friedman 提到,。具体来说,OpenAI 在 GPT-3 的基础上生成了 Codex 算法,Codex 在从 GitHub 那里提取出来的 TB(terabyte)级公开代码以及英语语言示例中得到训练。基于 Codex 算法,编程 AI Copilot 诞生了。
目前相比于市面上一些编程辅助工具,Copilot 的上下文理解能力要强大得多。无论是在文档字符串、注释、函数名还是代码主体中,Copilot 都能根据编程者已写出的上下文生成匹配的代码。
不看广告,看
Friedman 说,GitHub 的数百名开发者在编码时,整天都在使用 Copilot 功能,他们中的大多数人都接受了 AI 的建议,没有关闭该功能。
但就目前来看,Copilot 提供建议的准确率似乎不高。GitHub 对一组 Python 函数进行了基准测试,测试团队清除了函数并要求 Copilot 填充它们。模型在第一次尝试正确率是 43%,经过 10 次尝试后,正确率达到了 57%。团队表示,之后 Copilot 还将进行多次训练和测试,准确率会进一步提升。但据一些程序员的说法,这种自动生成的代码工具要有个前提,就是能精确描述了函数需要实现的功能,不然后续的调试会是更耗时的工作。
另外,GitHub 表示,Copilot 提出的代码可能会无法编译或运行,而且 Copilot 还可能会使用旧的或已弃用的库和语言。 此外,在试图理解开发人员的意图时,Copilot 建议的代码可能并不总是有效或有意义的,因此程序员还是像往常一样仔细测试和审查所有代码。
对于代码安全,GitHub 表示,并不是所有使用的代码都经过了漏洞、不安全实践或个人数据的审查。因此,他们也设置了一些过滤器来防止 Copilot 生成攻击性的语言,目前效果并不完美,需要后续完善。
技术 区也不可避免地对这款工具可能引发的代码所有权、许可证、利益冲突以及其他现实问题展开了讨论。 Friedman 回应称,
提前下班,提早下岗
击败 Stack Overflow 的,不是下一个代码问答 区,而是编程 AI。那么,现在还是的 AI,未来会不会成为能 的 AI?
Friedman 在 Hacker News 写道:
即使是高度机械化的工厂,也需要操作员来发出初始化指令,所以在未来, IT 行业可能还会留下一些操作员类型的程序员,和一些把握高精度操作技巧的工程师。
但也正如 Open AI 的 CEO Sam Altman 所说,程序员的身价将会下降:
有了 Copilot,程序员就可以提前下班,但在未来,也可能会提前下岗。
微软尝到了 OpenAI 技术的甜头。但和微软的独家绑定,也给 OpenAI 招来了一些争议。对此,OpenAI 首席技术官 Greg Brockman 表示,底层技术不会只由微软来使用,OpenAI 将在今年夏末发布 Codex 模型,供第三方开发者编写他们自己的应用程序。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!