来源:GitHub
编辑:好困
【新智元导读】近日,OpenAI和GitHub联合推出了一个全新的代码生成AI:Copilt,可以根据注释或者已经写好的代码自动补全整段函数。然而,它不仅完美继承了GPT-3的各项缺点,而且目前尝试10次也只有57%的正确率。这真的能用么?一杯茶,一包烟,一行代码写一天。
每个程序员可能都会面临的问题:代码憋不出来怎么办?
怎么办?那当然是去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。
告别辛苦的测试
导入单元测试包,Copilot就可以提供与代码匹配的测试。
多种方案任你选
想多试试几种不同的方法? 没问题!Copilot可以提供多个备选方案的代码来进行选择。
GPT-3糟糕的体验或将延续「由于底层技术的预发布性质,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!
参考资料:
相关文章
猜你喜欢