以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

学习迷你编程有什么用,迷你编程主页是什么样

  

  机器心脏报告   

  

  机器之心编辑部   

  

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

  

  Hub Copilot是一个AI代码合成器,而不是搜索引擎:它的大多数代码建议都是新生成的,以前从未出现过。   

  

  总之,这就是未来。   

  

     

  

  在项目开发中,优秀的代码自动完成工具可以提高工作效率。但是传统的IDE基本都是用搜索的方式来完成,在一些场景下效果并不好。   

  

  今天,GitHub和OpenAI联合发布了全新的AI代码补全工具GitHub Copilot,并展示了技术预览版。这个工具可以在VS代码中找到。   

  

  在编辑器中自动完成代码片段,这也是OpenAI接受微软10亿美元投资以来的第一个重大成就。   

  

     

  

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

  

     

  

  枢纽副驾驶注册地址:https://github.com/features/copilot/signup   

  

  网友们对GitHub和OpenAI推出的这款全新AI代码补全工具给予了高度评价。下面的用户可以大致代表大部分用户的声音。谢谢   

  

  说,“我已经使用阿尔法版本两周了,副驾驶。   

  

  我好像很清楚自己接下来要进什么,这让我非常震惊。有时它甚至会提示我在寻找什么,比如选择随机的十六进制随机代码片段或者使用所有常见的图像mime-   

  

  类型完整数组。此外,Copilot在处理React组件时特别有用,可以做出非常准确的预测。最后,副驾驶   

  

  改变了程序员记录自己代码的方式。如果你在实现代码之前写一个非常好的描述性注释,它可以更好地给出正确的代码建议,有时甚至可以为你编写整个函数。」   

  

     

  

  MSFTResearch高级研究员Alex Polozov表示:毫不夸张地说,Copilot将是20世纪20年代的三大技术进步!   

  

     

  

  甚至有网友说:这是要结束编程吗?   

  

     

  

  然而,尽管用户对Copilot、GitHub   

  

  这也意味着并非所有使用的代码都经过了漏洞、不安全做法或个人数据的审查。因此,他们还设置了一些过滤器来防止Copilot。   

  

  生成攻击性语言,效果可能并不完美,需要后期改进。   

  

  Copilot 背后的技术   

  

  首先,根据训练数据,GitHub副驾驶在数十亿行公共代码上训练.   

  

     

  

  从技术角度来看,GitHub Copilot工具由 OpenAI 开发的全新 AI 系统 OpenAI Codex 提供支持. OpenAI   

  

  的联合创始人兼首席技术官Greg Brockman说:Codex是GPT-3的后代。   

  

     

/p>   

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 自动编程的愿景已指日可待。

  

_参考链接:_

  

_https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-

  

programmer/_

  

_https://news.ycombinator.com/item?id=27676266_

  

_https://www.reddit.com/r/MachineLearning/comments/oaambv/n_github_and_openai_release_copilot_an_ai_pair/_

  

_https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-

  

autocomplete-code_