GitHub 携手 OpenAI 推出代码补全利器 Copilot,嵌入 VS Code 编辑器,支持多种语言

SegmentFault

共 1841字,需浏览 4分钟

 ·

2021-07-05 16:55

技术编辑:小魔丨发自 思否编辑部
公众号:SegmentFault



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



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


其主要功能包括


  • 提取代码上下文,给出整行代码或整个函数的补全建议;

  • 将注释转化为代码;

  • 自动填充重复代码;

  • 编写测试;

  • 快速发现解决问题的替代方法;

  • 无需网络搜索即可快速探索新的 API;

  • 适应用户编写代码的方式,帮助用户更快地完成工作。



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 熵提取的万亿字节公开可用代码以及英语示例进行训练。

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/6/29/22555777/github-openai-ai-tool-autocomplete-code

- END -

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报