作者 | 琰琰、青暮

比GPT-3更强大!

昨日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,这款工具基于GitHub及其他网站的源代码,可根据上文提示为程序员自动编写下文代码!

GitHub 的首席执行官 Nat Friedman 介绍说,GitHub Copilot是结对编程的虚拟版本。结对编程是一种常见的敏捷软件开发技术——即两个开发人员在同一个项目上并肩协作,轮流编写代码并检查合作伙伴的输出。

“它可以在编辑器中直接获提供多行或整个函数的代码建议。另外,随着时间的推移和使用量的增加,模型会变得越来越复杂,代码质量也会越来高。”

对于程序员来讲,一款编程工具最重要的当然是支持哪些类型语言。GitHub在预告中说,Copilot 可以支持十几种语言,与 Python、JavaScript、TypeScript、Ruby 和 Go 等主流语言配合效果更佳。

目前GitHub官网已经晒出了 Copilot 的功能介绍,我们来了解一下。

1 给力的结对编程伙伴

GitHub表示,相比大多数代码助手,GitHub Copilot可以理解更大范围的上下文。因此,无论是文档字符串、注释、函数名称还是代码本身,GitHub Copilot 都可以基于提供的上下文(已输入的代码)合成新代码以进行匹配。

如果真有如此可靠,那么正如GitHub所说,这项功能可以让程序员丢掉很多的文档阅读工作,从而专注于编辑器。

GitHub Copilot还可以将注释转换为代码。只需要写一条评论,描述想要的逻辑,GitHub Copilot 就能自动“理解”并写出相应功能的代码。

GitHub Copilot 也能自动填充重复代码。GitHub表示,GitHub Copilot 非常适合快速生成样板和重复代码模式。对于需要编写大量相似但难以转换为循环语句代码的程序员而言,这项功能非常“香”。

包办测试也是GitHub Copilot值得注意的亮点,GitHub表示,测试是任何强大的软件工程项目的支柱,“导入单元测试包,就可以让 GitHub Copilot 自动编写与你的实现代码匹配的测试。”

对于相同的上下文,GitHub Copilot可以给出多种解决方案,供程序员自主选择。

看到这里,小伙伴们是不是跃跃欲试了呢?可惜,GitHub Copilot不是完全开放的,和GPT-3一样,只提供有限用户的试用体验。总之,先排队吧。

项目地址:
https://copilot.github.com/

2 Copilot,专为编程而生

Brockman介绍说,GitHub Copilot的核心模型Codex借助了GPT-3强大的生成能力。

我们知道,GPT-3是OpenAI推出的超大规模自然语言生成模型,早期训练GPT-3时,OpenAI无意教它如何帮助编写代码,它更像是一种通用语言模型,主要用于文本生成、语法修改等任务。

后来OpenAI向公众开放API,这个基于文本训练的模型,被网友们玩出了50多种花样,其中包括自动生成代码。OpenAI意识到了GPT-3在编写代码方面的潜力,并在其网站上提供了在线“代码生成”服务。

几十年来,微软的研究人员一直在尝试如何教计算机编写代码,但未取得显著成果。此次与OpenAI合作,微软将提供了强大 Azure 云计算能力和GitHub平台(2018年被微软收购)的大量语言编程代码。

关于这款产品的代码生成质量,Friedman说,GitHub员工已经做了大量尝试,能够确保GitHub Copilot生成安全、高质量的代码。他说:“我们已经在系统中建立了一些安全机制,这些机制在减少各个领域能够显著减少出错几率。”也就是说,GitHub Copilot并不能保证完全不出错,它仍然只是一个辅助生成代码工具。

官网报道说,Copilot的底层技术属于微软和OpenAI共有,今年夏天OpenAI将发布Codex模型,供第三方开发者使用。微软也表示会发布该产品的一个版本,让企业通过培训了解自己的编程风格。但目前,微软只提供公共存储库中存储的代码的服务。

这不是微软第一次依靠OpenAI来提供智能软件。上个月,微软展示了powerapps Studio应用程序的更新服务,非技术人员可以使用它来编写应用程序——用户输入他们想要添加的元素单词,GPT-3可提供一些必要代码的选项。

3 网友讨论

GitHub Copilot的发布在Reddit上引发了热烈的讨论,不少网友看好编码自动化的产业趋势,网友@markbowick说道:

毫无疑问,这将极大地提高大多数程序员的日常编程生产力,并且(我认为)这将是推动全球软件影响呈指数增长的最重要步骤之一。

值得注意的是,GPT-J(GPT-3 较小模型之一的开源实现)在大量 GitHub 和 StackExchange 查询存储库上进行了训练,并且在特定编程相关任务上的表现明显优于 OpenAI 的其它模型。在接下来的几个月里,我预期会看到性能更好的类似的(更大)模型。

也有人提出了质疑,网友@laprika0表示,GitHub Copilot的测试方法令人担忧,“让 GitHub Copilot 建议与你的实现代码匹配的测试,但人们并不应该以这种方式写测试。”不少网友表示同意,并补充道,“如果实现代码有错误,那么GitHub Copilot将把错误引入测试中,从而影响测试效果。”

还有人则注意到关于代码所有权的问题,OpenAI发表了一项声明,表示用户使用GitHub Copilot写代码时,代码片段和建议结果将与 GitHub 和 OpenAI 共享,并用于诊断目的和改进建议。同时,为保护隐私,GitHub Copilot 不会使用用户的私有代码来为 GitHub Copilot 的其他用户推荐代码。

网友@touristtam对此声明感到困惑,“他们是否拥有在用户启用GitHub Copilot时编写的代码?”

参考链接:

https://www.cnbc.com/2021/06/29/microsoft-github-copilot-ai-offers-coding-suggestions.html

https://venturebeat.com/2021/06/29/github-launches-copilot-to-power-pair-programming-with-ai/

https://www.reddit.com/r/MachineLearning/comments/oaambv/n_github_and_openai_release_copilot_an_ai_pair/

和AI结对编程!OpenAI与GitHub联手推出AI代码生成工具,比GPT-3更强大相关推荐

  1. OpenAI与GitHub联手推出AI代码生成工具,比GPT-3更强大

    来源:AI科技评论 作者:琰琰.青暮 比GPT-3更强大! 昨日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,这款工具基于GitHub及其他网站的源代码,可根据上文提示为 ...

  2. 程序员提前下班的福音来了!GitHub、OpenAI 联手推出 AI 代码生成神器

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 编程门槛正在降低,编程效率正在提升,我们距离「人人都能成为开发者」的目标更近一步.这不,微软正式宣布发布了一个人工智能代码建议方案--Gi ...

  3. 蓝牙、WiFi 版树莓派发布;日韩三巨头联手推出 AI 语音助手 Clova | AI 开发者头条...

    ▲ 内容预览: 树莓派也有蓝牙和 Wifi 啦! 日韩三巨头联手,推出 AI 语音助手 Clova 微软发布 Azure Stack  第三技术预览版本 每日推荐阅读 14 步教会你用 Python ...

  4. Adobe与Facebook联手推出Flash开发工具

    Adobe与全球最大的社交网络Facebook建立了合作关系,共同为开发者推出新的应用程序开发工具. 这组应用程序将使用Adobe的Flash平台以及两家公司共同开发的针对Facebook的新型Act ...

  5. 云栖科技评论第8期:美国五大科技巨头联手组建“AI联合国”

    1.美国五大科技巨头联手成立"AI伙伴关系"组织,建设"AI联合国" 美国五大科技巨头联手成立"AI伙伴关系"组织 [新闻摘要]美国五大科技 ...

  6. VS Code能自己编程了,GitHub推出“AI程序员”插件,根据注释自动补全代码

    明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 描述出你想要执行的命令,就能生成相应的代码. 现在,GitHub官方和openAI联合为程序员们送上编程神器--GitHub Copilot ...

  7. 地表最强AI 辅助编程工具——GitHub Copilot安装教程

    GitHub Copilot 文章目录 GitHub Copilot 一.GitHub Copilot 介绍 二.GitHub Copilot 通行证注册流程 1.打开GitHub Copilot [ ...

  8. 结对编程总结+git使用与GitHub代码管理——by林玉俊唐宇涵

    一.分析需求 在拿到结对编程项目需求文档后,我和队友第一件事就是讨论需求,分析项目给出的需求以及实现的一些细节.比如,登录界面的设置(注册.重置.登录按钮),注册界面的输入框设置(手机号.验证码.密码 ...

  9. GitHub推出“AI程序员”插件 !

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 描述 ...

最新文章

  1. 太牛逼了!项目中用了Disruptor之后,性能提升了2.5倍
  2. numpy随机生成01矩阵_NumPy数组基本介绍
  3. 从实例入手学习Shiro的会话机制
  4. 力展物流公司上云 低成本、实例资源使用效率提升
  5. php命令执行无法重定向输出,PHP标头重定向无法正常工作
  6. Android屏幕适配的两种方式
  7. java multiple_Java Math multipleExact()使用方法和实例
  8. python hbase_python 操作 hbase
  9. 【毕业设计】基于单片机的指纹识别考勤系统 - 物联网 stm32
  10. C# Xamarin For Android移动开发基础进修篇
  11. 华北水院c语言实验报告答案,C语言实验报告(三)
  12. ARP防火墙单机个人版 “此版本已过期,请下载最新版”
  13. Unity漫延的实现思路(流体漫延, 火烧草地的漫延等)
  14. iOS开发之Block详解
  15. Linux 查看服务器cpu信息常用命令大全
  16. ffmpeg 265转YUV命令 转码工具,各种格式间互转,计算PSNR
  17. 【Word】论文的章标题以汉字编号,图、表以数字编号的实现
  18. 读书笔记:Spring in action 第2章
  19. python 爬虫 智联招聘
  20. Indesign多媒体富交互插件【MagBuilder】与iOS app 【MagViewer】介绍

热门文章

  1. IBM虚拟化石油行业成功案例分享
  2. 弃用notepad++
  3. 双柱状图柱子数量比较多_微生物组数据冲击图和柱状图一条代码解决
  4. AdamW优化算法 笔记
  5. numpy.eye()用法
  6. 日本“妻子”机器人上线1小时被抢空,AI时代人类可还有未来?
  7. 【项目经理应该知道的97件事】三位一体的项目管理
  8. 人人都能成为安全防范的高手 ——《黑客新型攻击防范:深入剖析犯罪软件》
  9. CSS与HTML设计模式全集(350余种)
  10. 下推自动机详讲 包含Java实现 Pushdown Automata (PDA)