最简单的代码(简单编程代码)

机器心脏报告机器之心编辑部人工智能辅助工具Copilot:微软、OpenAI和GitHub联合打造。GitCopilot是一个AI代码合成器,而不是一个搜索引擎

机器心脏报告

最简单的代码(简单编程代码)插图

机器之心编辑部

人工智能辅助工具Copilot:微软、OpenAI和GitHub联合打造。

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

总之,这就是未来。

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

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

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

GitHub Copilot注册地址:

对于GitHub和OpenAI推出的这款全新AI代码补全工具,网友们给予了极高的评价。下面这位用户可以大致代表大部分测试人员的心声。Ta说,“我用了两个星期的Alpha版本,Copilot好像很清楚我接下来要打什么,这让我很震惊。有时它甚至会提示我在寻找什么,比如选择一段随机的十六进制随机代码,或者使用所有常见的图像mime类型完成一个数组。此外,Copilot在处理React组件时特别有用,可以做出非常准确的预测。最后,Copilot改变了程序员记录自己代码的方式。如果你在实现代码之前写了非常好的描述性注释,它能更好地给出正确的代码建议,有时甚至能为你写出整个函数。」

MSFTResearch高级研究员亚历克斯·波洛佐夫(Alex Polozov)甚至说:毫不夸张地说,Copilot将是本世纪20年代技术进步的前三名!

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

然而,尽管用户对Copilot提供的生产力提升赞不绝口,但GitHub也表示:并不是所有使用的代码都经过了漏洞、不安全做法或个人数据的审查。所以他们也设置了一些过滤器,防止Copilot产生攻击性语言,效果可能并不完美,需要后期改进。

Copilot背后的技术

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

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

OpenAI Codex拥有关于人们如何使用代码的丰富知识,它在代码生成领域明显优于GPT-3,部分原因是该系统是在包含大量开源代码的数据集上训练的。更具体地说,Codex的训练集包括从GitHub和英语语言示例中提取的TB(太字节)级公开可用代码。

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

此外,据OpenAI的一位代表透露,OpenAI计划在今年夏天推出基于其API的Codex版本,以便开发者可以使用这项技术创建自己的应用。

在具体实现中,GitHub Copilot从编写的代码中提取上下文,对整行代码或整个函数给出建议。这个工具可以帮助开发人员快速找到解决问题的替代方法,编写测试和搜索新的API,而不必以繁琐的方式在互联网上搜索答案。

另外,有了GitHub Copilot,开发者总能掌控一切。他们可以检查Copilot给出的代码建议,选择接受或拒绝,并手动编辑这些代码。Copilot会适应开发者做的编辑器和编码风格。

GitCopilot适用于多种框架和语言,但本演示文稿的技术预览版尤其适用于Python、JavaScript、TypeScript、Ruby和Go语言。GitHub认为这个工具是结对编程的一大进步。程序员在编写代码时有一个“虚拟助手”,可以捕捉程序员的错误,加快开发进程。

那么,Copilot是如何工作的呢?

最近,Github在开源存储库中对一组具有良好测试覆盖率的Python函数进行了基准测试。测试团队清空了函数体,让GitHub Copilot填充。模型第一次尝试的正确率为43%,尝试10次后达到57%。之后GitHub Copilot会进行多次训练和测试,准确率会进一步提高。

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

副驾驶的补充效应

与市面上的一些编程辅助工具相比,Copilot对上下文的理解能力要强很多。Copilot可以根据程序员编写的上下文生成匹配的代码,无论是在文档字符串、注释、函数名还是代码体中。

我们先来看看Copilot的主要功能——代码补全的效果。以TypeScript语言为例,Copilot可以通过给出函数名和参数自动完成代码。

除了完成功能,Copilot还可以根据注释编写代码。程序员给出描述代码逻辑的注释,GitHub Copilot可以自动生成代码:

在编程的过程中,有些代码的格式和内容非常相似,重复编写既费时又枯燥。现在GitHub Copilot可以帮助程序员解决这个问题,部分自动化简单重复的代码编写:

在软件开发的过程中,除了写代码,软件测试也很重要,它在一个代码项目中起着辅助作用。导入一个测试包,剩下的测试代码GitHub Copilot可以帮助开发者完成。

在编程中,实现同一个功能有很多种方法,程序员通常会根据代码的实现效果和运行性能选择最合适的方法。编写多个实现需要花费时间和精力。现在使用GitHub Copilot一键即可完成,如下图所示。单击“下一个”和“上一个”查看多种实施方法,单击“接受”选择其中一种方法。

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

参考链接:

. blog/2021-06-29-简介-github-copilot-ai-pair-programmer/

id =

. Reddit . com/r/machine learning/comments/oaambv/n _ github _ and _ open ai _ release _ copilot _ an _ ai _ pair/

. the verge . com/2021/6/29//github-open ai-ai-tool-autocomplete-code

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/144935.html

发表回复

登录后才能评论