一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作

点击上方“Github中文社区”,关注

触达Github项目

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第1张图片

来源:Github & 新智元

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第2张图片

近日,OpenAI和GitHub联合推出了一个全新的代码生成AI:Copilt,可以根据注释或者已经写好的代码自动补全整段函数。然而,它不仅完美继承了GPT-3的各项缺点,而且目前尝试10次也只有57%的正确率。这真的能用么?

码农圈流传一句:一杯茶,一包烟,一行代码写一天。

 

每个程序员可能都会面临的问题:代码憋不出来怎么办?

 

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第3张图片

 

怎么办?那当然是去Stack Overflow上「借鉴」啊。

 

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第4张图片

 

不一定哦!现在,似乎有一个更便捷的方法即将诞生:GitHub和OpenAI联合推出了一个全新AI编译工具——Copilot(的预览版)。

 

Copilot建立在OpenAI全新的Codex算法之上,其中Codex接受了从GitHub中提取的TB级公开代码以及英语语言示例的训练。

令人期待的是,Copilot不仅仅是模仿以前见过的代码,而且还会分析文档中的字符串、注释、函数名称以及代码本身,从而生成新的匹配代码,包括之前调用的特定函数。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第5张图片

同时,在Copilot中也加入了GPT-3的协助:GPT-3负责生成英语,Codex负责生成代码。

 

OpenAI 首席技术官Greg Brockman表示,Copilot将在今年夏天晚些对时候通过他们的API 提供。

此外,Copilot将支持多种编程语言:Python、JavaScript、TypeScript、Ruby和Go。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第6张图片

GitHub认为这将是「结对编程」的进化版本。其中两个程序员将在同一个项目上工作,从而能更好地发现错误并加快开发过程,只不过这里的另一个程序员是AI。

技术预览:只能看看,但不能试试

根据注释写代码

在注释中用简单的英语描述一个函数,Copilot就可以将其转换为实际代码。

「找到没有 alt 属性的图像并给它们一个红色边框」

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第7张图片

看起来这个功能在想「摸鱼」的时候应该会非常实用。

自动补全代码

Copilot可以快速生成重复代码, 只需列举几个例子,剩下的就可以交给它了。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第8张图片

告别辛苦的测试

导入单元测试包,Copilot就可以提供与代码匹配的测试。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第9张图片

多种方案任你选

想多试试几种不同的方法? 没问题!Copilot可以提供多个备选方案的代码来进行选择。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第10张图片

GPT-3糟糕的体验或将延续

 

「由于底层技术的预发布性质,Copilot有时可能会产生包括有偏见、歧视性、滥用或攻击性的输出。」

 

GPT-3时不时会产生偏见性的结果以及一言不合就飙脏话的事件深入人心,然而,OpenAI似乎还没有找到一种方法来防止算法继承其训练数据中这些问题。

 

同时,Copilot可能会提出像电子邮件地址、API密钥或电话号码这种类型的结果。不过,经过测试发现,这些数据是由算法合成或伪随机生成的,其中只有0.1%可以在训练集中逐字找到。

GitHub表示,Copilot生成的代码大部分是原创的。

未经测试的代码

GitHub表示,Copilot提出的代码并没有经过实际测试,也就是说,这些代码可能会无法编译或运行,而且Copilot还可能会使用旧的或已弃用的库和语言。

 

此外,在试图理解开发人员的意图时,Copilot建议的代码可能并不总是有效或有意义的,因此应该像所有代码一样仔细测试和审查。

 

GitHub对一组Python函数进行了基准测试,其中函数体被删除,然后测试Copilot的补全能力。

结果表明,Copilot在第一次尝试时有43%的正确率,在允许10次尝试时有57%的正确率。

网友评论

「看起来很酷,但这也正是你不应该编写测试的一种方式。」

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第11张图片

同时,网友对生成的代码归属权的问题表示担心。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第12张图片

值得肯定的是,Copilot或许是让AI开始进行编程以来相对最成功的一次进展了。

顺便一提,这个功能需要付费,而且是Visual Studio Code限定。

一个全新且牛逼的代码补全生成器!OpenAI和GitHub联合发布一开源力作_第13张图片

Stack Overflow,yyds!

参考资料:

https://copilot.github.com



OK!到这就是这期分享
如果觉得文章有用,请点赞在看,分享、关注我


历史阅读

★ 16 岁高中生开发「粤语编程」项目,在 GitHub 火了!★ 华为鸿蒙系统厉害了,霸榜 GitHub!★ 厉害了!哈工大硕士生实现11种数据降维算法,代码已开源!★Top 16 的 Java 工具类,你用过几个?

点个在看呗

你可能感兴趣的:(java,人工智能,编程语言,python,javascript)