SegmentFault思否 · 2021年06月30日

GitHub 携手 OpenAI 推出代码补全利器 Copilot

GitHub 新产品 Copilot 来了!这款产品由 GitHub 与 OpenAI 联合开发,目前已上线技术预览版,该工具内嵌在 Visual Studio Code 编辑器中,可自动补全代码片段。

1.png

GitHub 表示,Copilot 不只是鹦鹉学舌般地背出以前见过的代码。它会分析用户已编写的代码,并生成新的匹配代码,包括之前调用过的特定函数。该项目网站上的示例包括自动编写代码来导入推文、绘制散点图、获取 Goodreads 评分。

其主要功能包括:

  • 提取代码上下文,给出整行代码或整个函数的补全建议;
  • 将注释转化为代码;
  • 自动填充重复代码;
  • 编写测试;
  • 快速发现解决问题的替代方法;
  • 无需网络搜索即可快速探索新的 API;
  • 适应用户编写代码的方式,帮助用户更快地完成工作。

3.gif
GitHub 首席执行官 Nat Friedman 在博客中表示,GitHub Copilot 适用于广泛的框架和语言,但目前发布的技术预览版对 Python、JavaScript、TypeScript、Ruby 和 Go 尤其适用。

GitHub 认为这是成对编程的演变。成对编程即两个程序员在同一个项目中工作,捕捉彼此的错误并加快开发过程,而 Copilot 将另一位程序员转换为虚拟形式。

微软与 OpenAI 的携手

2019 年微软宣布向 OpenAI 投资 10 亿美元,Copilot 项目正是这项投资的首个主要结果。OpenAI 是一家研究公司,现由 Y Combinator 前总裁 Sam Altman 领导。自 Altman 掌权以来,OpenAI 已经从非营利组织转向 “有限盈利”(capped-profi)模式,并接受了微软的投资。2020 年 9 月,微软获得 OpenAI GPT-3 语言模型的独家许可。(GPT-3 是一个拥有 1750 亿参数的自回归语言模型,在多个 NLP 数据集上展示出出色的性能,其生成的文章甚至无法被辨别真伪。)

Copilot 基于一种叫做 OpenAI Codex 的新算法构建,并使用从 GitHub 熵提取的万亿字节公开可用代码以及英语示例进行训练。

6.png
Copilot 工作原理

Codex 被称为 GPT-3 的后代,不同的是 GPT-3 主要生成文本,而 OpenAI Codex 生成代码。OpenAI 一名代表称,OpenAI 计划在今年夏天晚些时候通过其 API 发布 Codex 版本,以帮助开发人员使用这项技术构建自己的应用程序。

Copilot 可能存在的问题

Copilot 带来的生产力提升得到了大量赞扬,但 GitHub 暗示并非所有代码都经过了 bug、不安全实践或个人数据的审查。GitHub 称已安装过滤器,用于防止 Copilot 生成攻击性语言,但这可能并不完美。

Copilot 网站表示:“由于底层技术的预发布性质,GitHub Copilot 有时可能会产生不受期待的输出,包括有偏见的、歧视性的、辱骂性的或冒犯性的输出。”

GPT-3 模型在偏见和辱骂性语言模式方面遭受了一些批评,但 OpenAI 似乎尚未找到一种方法,来防止算法继承训练数据中的最差元素。OpenAI 还警告称,该模型可能会建议电子邮件地址、API 密钥或电话号码,但这种情况很少发生,而且数据是合成的或由算法伪随机生成的。但是 Copilot 生成的代码很大程度上是原创的。GitHub 进行的一项测试发现,只有 0.1% 的生成代码与训练集中的代码重合。

Copilot 并非首个通过代码自动生成来帮助程序员的项目。初创公司 Kite 推出过一个非常类似的功能,在超过 16 个代码编辑器上可用。

目前,Copilot 还处于受限的技术预览阶段,用户可以在项目网站上注册,获得访问机会。

网站地址:https://copilot.github.com/

参考链接:
https://www.theverge.com/2021...

扩展阅读:
开源代码被卖,程序员十三控诉慕课网侵权!

image.png

推荐阅读
关注数
4132
内容数
705
SegmentFault 思否旗下人工智能领域产业媒体,专注技术与产业,一起探索人工智能。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息