点击上方“Github中文社区”,关注
触达Github项目
来源:Github & 新智元
码农圈流传一句:一杯茶,一包烟,一行代码写一天。
每个程序员可能都会面临的问题:代码憋不出来怎么办?
怎么办?那当然是去Stack Overflow上「借鉴」啊。
不一定哦!现在,似乎有一个更便捷的方法即将诞生:GitHub和OpenAI联合推出了一个全新AI编译工具——Copilot(的预览版)。
Copilot建立在OpenAI全新的Codex算法之上,其中Codex接受了从GitHub中提取的TB级公开代码以及英语语言示例的训练。
令人期待的是,Copilot不仅仅是模仿以前见过的代码,而且还会分析文档中的字符串、注释、函数名称以及代码本身,从而生成新的匹配代码,包括之前调用的特定函数。
同时,在Copilot中也加入了GPT-3的协助:GPT-3负责生成英语,Codex负责生成代码。
OpenAI 首席技术官Greg Brockman表示,Copilot将在今年夏天晚些对时候通过他们的API 提供。
此外,Copilot将支持多种编程语言:Python、JavaScript、TypeScript、Ruby和Go。
GitHub认为这将是「结对编程」的进化版本。其中两个程序员将在同一个项目上工作,从而能更好地发现错误并加快开发过程,只不过这里的另一个程序员是AI。
根据注释写代码
在注释中用简单的英语描述一个函数,Copilot就可以将其转换为实际代码。
「找到没有 alt 属性的图像并给它们一个红色边框」
看起来这个功能在想「摸鱼」的时候应该会非常实用。
自动补全代码
Copilot可以快速生成重复代码, 只需列举几个例子,剩下的就可以交给它了。
告别辛苦的测试
导入单元测试包,Copilot就可以提供与代码匹配的测试。
多种方案任你选
想多试试几种不同的方法? 没问题!Copilot可以提供多个备选方案的代码来进行选择。
「由于底层技术的预发布性质,Copilot有时可能会产生包括有偏见、歧视性、滥用或攻击性的输出。」
GPT-3时不时会产生偏见性的结果以及一言不合就飙脏话的事件深入人心,然而,OpenAI似乎还没有找到一种方法来防止算法继承其训练数据中这些问题。
同时,Copilot可能会提出像电子邮件地址、API密钥或电话号码这种类型的结果。不过,经过测试发现,这些数据是由算法合成或伪随机生成的,其中只有0.1%可以在训练集中逐字找到。
GitHub表示,Copilot生成的代码大部分是原创的。
GitHub表示,Copilot提出的代码并没有经过实际测试,也就是说,这些代码可能会无法编译或运行,而且Copilot还可能会使用旧的或已弃用的库和语言。
此外,在试图理解开发人员的意图时,Copilot建议的代码可能并不总是有效或有意义的,因此应该像所有代码一样仔细测试和审查。
GitHub对一组Python函数进行了基准测试,其中函数体被删除,然后测试Copilot的补全能力。
结果表明,Copilot在第一次尝试时有43%的正确率,在允许10次尝试时有57%的正确率。
网友评论
「看起来很酷,但这也正是你不应该编写测试的一种方式。」
同时,网友对生成的代码归属权的问题表示担心。
值得肯定的是,Copilot或许是让AI开始进行编程以来相对最成功的一次进展了。
顺便一提,这个功能需要付费,而且是Visual Studio Code限定。
Stack Overflow,yyds!
参考资料:
https://copilot.github.com
OK!到这就是这期分享
如果觉得文章有用,请点赞在看,分享、关注我
历史阅读
★ 16 岁高中生开发「粤语编程」项目,在 GitHub 火了!★ 华为鸿蒙系统厉害了,霸榜 GitHub!★ 厉害了!哈工大硕士生实现11种数据降维算法,代码已开源!★Top 16 的 Java 工具类,你用过几个?
点个在看呗