上一篇:深夜看了张一鸣的微博,让我越想越后怕

来源:机器之心

AI 编程辅助工具 Copilot:微软、OpenAI、GitHub 三家联合打造。

‍‍GitHub Copilot 是一个 AI 代码合成器,并不是搜索引擎:它提出的绝大多数代码建议都是新生成的,此前从未出现过。

简而言之,这就是未来。

在项目开发中,优秀的代码自动补全工具可以提升工作效率。然而,传统的 IDE 基本都使用搜索方法进行补全,在一些场景下效果不佳。

今日,GitHub 和 OpenAI 联合发布了新的 AI 代码补全工具 GitHub Copilot,并展示了技术预览版。该工具可以在 VS Code 编辑器中自动完成代码片段,这也是 OpenAI 接受微软 10 亿美元投资以来的首个重大成果。

目前,GitHub Copilot 项目还只是严格的技术预览版,用户可以在主页注册报名,将有机会访问试用。

GitHub Copilot 注册地址:https://github.com/features/copilot/signup

对于 GitHub 和 OpenAI 推出的这款全新 AI 代码补全工具,网友们给出了极高的评价。下面这位用户大致可以代表大多数试用者的心声。ta 表示:「我使用 Alpha 版两周了,Copilot 似乎能够准确地知道我接下来要输入的内容,这令我大受震撼。有时它甚至建议我要查找的内容,例如选择随机十六进制随机码的片段或者使用所有常见图像 mime-types 完成数组。此外,Copilot 在处理 React 组件时也特别有用,可以做出非常准确的预测。最后,Copilot 改变了程序员记录自己代码的方式。如果你在实现代码之前编写了非常好的描述性注释,它能够更好地给出正确代码建议,有时甚至可以为你编写整函数。」

MSFTResearch 高级研究员 Alex Polozov 更是表示:不夸张的讲,Copilot 将成为本世纪 20 年代排名前三的技术进展!

甚至有网友表示:这是要终结编程?

不过,虽然使用者对 Copilot 提供的生产力提升赞不绝口,GitHub 也表示:并不是所有使用的代码都经过了漏洞、不安全实践或个人数据的审查。因此,他们也设置了一些过滤器来防止 Copilot 生成攻击性的语言,并可能效果并不完美,需要后续完善。

Copilot 背后的技术

首先,训练数据上,GitHub Copilot 是在数十亿行公共代码上训练的。

从技术角度来看,GitHub Copilot 工具由 OpenAI 开发的全新 AI 系统 OpenAI Codex 提供支持。OpenAI 的联合创始人兼首席技术官 Greg Brockman 说:Codex 是 GPT-3 的后代。

OpenAI Codex 在人们如何使用代码方面拥有广泛的知识,并且在代码生成领域显著优于 GPT-3 了,部分原因在于该系统是在包含大量公开源代码的数据集上训练的。更具体地,Codex 的训练集中包含了提取自 GitHub 的 TB(terabyte)级公开可用代码以及英语语言示例。

由于是在公开可用源代码和自然语言上训练,Codex 可以同时理解编程语言和人类语言。因此,在整个实现过程中,Copilot 编辑器扩展将开发者的注释和代码发送至 Copilot 服务端,然后使用 Codex 生成和建议单行代码和整个函数。

此外,据 OpenAI 的一位代表透露:OpenAI 计划今年夏季推出基于其 API 的 Codex 版本,这样开发者们就可以利用该技术创建自己的 app 了。

在具体实现中,GitHub Copilot 从编写的代码中提取上下文,并给出整行代码或整函数的建议。该工具可以帮助开发者快速发现解决问题、编写测试和搜索全新 API 的替代方法,而不需要在网上繁琐地定向搜索答案。

另外,使用 GitHub Copilot,开发者始终可以掌控一切,既可以循环查看 Copilot 给出的代码建议,选择接收或者拒绝,并能够手动地编辑这些代码。Copilot 会适应开发者所做的编辑,并适配编码风格。

GitHub Copilot 适用于多种框架和语言,但本次展示的技术预览版尤其适用于 Python、JavaScript、TypeScript、Ruby 和 Go 语言。GitHub 认为该工具是结对编程(pair programming)的重大进展,程序员在编写代码时有了一个「虚拟的帮手」,它可以捕捉到程序员的错误,加速开发过程。

那么,Copilot 效果如何?

最近,Github 针对一组在开源存储库中具有良好测试覆盖率的 Python 函数进行了基准测试,测试团队清除了函数体并要求 GitHub Copilot 填充它们。模型在第一次尝试正确率是 43% ,经过 10 次尝试后,正确率达到了 57%。之后 GitHub Copilot 还将进行多次训练和测试,准确率会进一步提升。

下面,我们就看一下 GitHub 给出的具体 demo 展示。

Copilot 的补全效果

相比于市面上一些编程辅助工具,Copilot 的上下文理解能力要强大得多。无论是在文档字符串、注释、函数名还是代码主体中,Copilot 都能根据编程者已写出的上下文生成匹配的代码。

先来看一下 Copilot 的主要功能——代码补全的效果,以 TypeScript 语言为例,给出函数名和参数,Copilot 就能自动补全代码。

除了补全函数,Copilot 还能根据注释写出代码。编程者给出一条描述代码逻辑的注释,GitHub Copilot 就能自动生成代码:

在编程过程中,有些代码的格式和内容非常相似,重复编写耗时且无聊。现在 GitHub Copilot 能够帮编程者解决这个问题,将简单重复的代码编写部分自动化:

在软件开发的过程中,除了编写代码,软件测试也是非常重要的,对一个代码项目起到支撑的作用。导入一个测试包,其余的测试代码 GitHub Copilot 就能够帮开发者完成。

在编程中,同一个函数常有多种实现方法,编程者通常会根据代码的实现效果和运行性能选择最合适的方法。编写多种实现需要花费时间和精力,现在使用 GitHub Copilot 一键就能搞定,如下图所示,点击 Next 和 Previous 就能查看多种实现方法,点击 Accept 选中其中一种。

今天 GitHub 推出的 Copilot 技术预览版本,还仅限于 Python、JavaScript、TypeScript、Ruby 和 Go 语言。此外,开发团队表示,在努力使其变得更好的同时,GitHub Copilot 补全的代码应该像其他任何代码一样经过仔细审查和测试。这些仍需要人类编程者的监督和优化,但 AI 自动编程的愿景已指日可待。

感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。

· END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

正文结束

推荐阅读 ↓↓↓

1.不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

2.如何才能成为优秀的架构师?

3.从零开始搭建创业公司后台技术栈

4.程序员一般可以从什么平台接私活?

5.37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6.IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看

7.这封“领导痛批95后下属”的邮件,句句扎心!

8.15张图看懂瞎忙和高效的区别!

一个人学习、工作很迷茫?

点击「阅读原文」加入我们的小圈子!

炸了!!又一 VSCode 神器面世!相关推荐

  1. 【效率】程序员救星,又一 VS Code 插件神器面世!

    不论工作还是学习,程序员经常需要查看和学习别人的源码,这样才能不断提升自己,让自己的代码更规范.更专业. 但是在程序员读源码的过程中一直存在一个让人头疼的问题,那就是看不懂英文单词.很多变量的命名方式 ...

  2. 又一 VSCode 神器诞生!

    公众号关注 "GitPorn" 设为 "星标",带你挖掘更多开发神器! 这几天一直有逛 GitHub 的水友应该能留意到,一款名为 Foam 的 VSCode ...

  3. 神器面世:让你快速在 iOS 设备上安装 Windows、Linux 等操作系统!

    今天我想跟大家分享下,最近连续几天,持续霸榜 GitHub Trending 的一款开源神器:UTM. https://github.com/utmapp/UTM/ 相信在座的各位,多多少少都有过给电 ...

  4. 破解神器面世!iPhone用户怎么办?

    苹果近期麻烦事不断,不但先后出现"降频门"."泄密门"等问题,还面临着有史以来最严重的安全挑战之一--iPhone破解工具的诞生. 自从iPhone问世以来,其 ...

  5. Chrome 神器面世!谷歌学术搜文章,代码链接自动展示

    公众号关注 "程序IT圈" 设为 "星标",每天带你收获新知识! 来自量子位 前段时间,arXiv上线了提交源代码功能,从此看机器学习论文不怕找不到官方代码了. ...

  6. Github 摸鱼神器面世!

    哈喽,大家好,我是小金子. 最近到年底了,很多公司都在写年终总结了,项目也基本收尾了,写完年终总结就要发奖金了,但是公司项目少怎么办? 最佳答案:摸鱼 废话不多说,最近小金子在逛 Github 的时候 ...

  7. 图片识别转公式,GitHub 又一 LaTeX 神器面世

    只需要把公式图片用鼠标拖动到工具内,就能一键转成 LaTex 公式. 写论文.做研究时,最让你头疼的是什么?想必公式编辑会榜上有名.那么有没有便捷的方法进行公式编辑呢?这里推荐一款神器,它使用 PyT ...

  8. 卧槽!又一 SQL 神器面世!!

    今天给大家分享一份大佬整理某厂的SQL的语法大全,包含两本书籍:<SQL基础知识>和<SQL进阶知识>. 和其他SQL书籍不一样的是,这份<SQL语法大全>不仅包括 ...

  9. 16款vscode神器(收藏备忘)

    drawio:一款强大.免费.开源的绘图工具,可以代替visio,支持LaTeX,全平台!使用简介可参考传送门 Doxygen Documentation Generator:自动生成注释,也可用ko ...

  10. 神器面世:快速生成你的专属卡通头像!

    大家好,我是程序员吴师兄. 今天我想跟大家分享下,一款图像转卡通的 Python 项目,这个项目还有小程序哟. minivision-ai/photo2cartoon 相信在座的各位,年轻的时候多多少 ...

最新文章

  1. 对于随机变量的标准差standard deviation、样本标准差sample standard deviation、标准误差standard error的解释...
  2. IOS项目中加入Google Admob SDK
  3. Dos下面删除文件秘笈
  4. LeetCode 72.编辑距离(动态规划)
  5. 简单链表实现增删改查(内部类+递归)
  6. 黑客帝国,社会化网络
  7. CAM350学习进行时
  8. JAVA测试人员考核_自动化测试的绩效考核
  9. C语言解决三色旗问题
  10. 详解CheckStyle的检查规则(共138条规则)
  11. Scrapy爬取贝壳网并存入csv
  12. 平安科技-前端面试1
  13. https web service(转)
  14. 情人节买花c语言,情人节买花,拼的是品味!
  15. PHP通过微信网页授权获取用户基本信息
  16. python中entry的使用方法_python中entry用法讲解
  17. [财务自由之路].(德)博多·舍费尔.mobi kindle支持
  18. 温度报警课程设计报告
  19. Uniform Buffer
  20. 线性判别用于提取词向量_干货 :你是合格的数据科学家吗?30道题测试你的NLP水平...

热门文章

  1. line vty 0 4 和line vty 5 15 区别
  2. 1.4 PuTTY和Xshell远程连接与密钥认证登录
  3. iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示...
  4. 无所不能的『十五郎』向您致敬!!!
  5. 程序员应知——我们不是客户
  6. 树状数组的讲解感觉挺好,和我的一维,二维,树状数组的模板,希望对大家有用
  7. Mac 计算器隐藏功能,满足你所有计算要求
  8. 三维绘图辅助设计软件AutoCAD 2023 for Mac
  9. 3D建模设计软件Rhino 7 for Mac
  10. Mac小白必备的一些基础技能