让智能AI自己写代码在不久的未来似乎是可以预见能够实现的了,虽然当下该项目属于辅助程序员写代码的,但是随着时间和技术的累积,实现智能写代码也不是不可能。微软收购的 GitHub 今天宣布了新的 GitHub Copilot 技术预览,GitHub Copilot 可以通过 AI 帮助开发者自动补全代码或函数,甚至是测试用例,更优写法等,目前准确率在50%左右,还得需要人工检查才能放心使用……
GitHub Copilot 是微软 GitHub 和 OpenAI 合作开发的,由 OpenAI Codex 公开代码训练,将支持 Visual Studio Code 和 Codespaces(在线版 Code),可以根据已有的代码或注释来自动生成代码,支持 Python、JavaScript、TypeScript、Ruby 和 Go 语言,并能够理解其他语言。
但 GitHub 也提醒,Copilot 功能生成的代码并非是最完美的,仍需要严格的测试和审查。
以一个直观的例子演示:
输入了一个函数的名称和文档字符串,该函数应该“将文本写入文件 fname”:
函数的灰色主体完全是 Copilot编写的!只是按了键盘上的 Tab,建议就被接受并插入到我的代码中。
这当然不是第一个“人工智能驱动”的程序合成工具。 2018 年 GitHub 的自然语言语义代码搜索演示了使用简单的英语描述查找代码示例。 Tabnine 提供“AI 驱动”的代码补全已经有几年了。 Copilot 的不同之处在于,它可以根据代码文件的完整上下文生成完整的多行函数,甚至生成文档和测试。
还有行业人士表示,这代表 AI 开始在编程工作中发挥作用,软件开发领域的「第三次工业革命」似乎正缓缓揭开序幕。
GitHub 给 Copilot 的官方定义是「AI 结对编程员」。「结对编程」(pair programming)是一种软件开发方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员。两个程序员经常互换角色。GitHub 认为 Copilot 是进化版的「结对编程」,在未来帮程序员查缺补漏的,将会换成 AI。
总之,功能很强大就是了。
当用邮箱注册成功后,界面如下图所示:
今天(2021年10月27日)检查邮箱,发现了Github Copilot给我发的邮件,大意是说我已经拥有该体验资格,可以前往以下这个网址下载体验了:
目前,该项目支持两种编辑器内使用:
是一款插件,需要在编辑器中安装该插件才能使用,该插件是这个样子的:
有了邀请资格就可以使用了,安装很快就完成,之后会登陆Github进行授权。
支持比较完善的编程语言:
说一下使用方法,大意就是用注释输入一段话,你想让它帮你做什么,比如伯衡君就想让构建一个名为auto的类和方法,如下所示:
当按下tab键后,就会将代码生成,如果不是希望的代码,可以按下Alt+]或者Alt+[进行代码的选择,甚至可以按下Ctrl+Enter查看所有的预备选项。
//construction class for auto with methods to get and set the auto's make, model, year, and color
class Auto {
constructor(make, model, year, color) {
this.make = make;
this.model = model;
this.year = year;
this.color = color;
}
getMake() {
return this.make;
}
getModel() {
return this.model;
}
getYear() {
return this.year;
}
getColor() {
return this.color;
}
setMake(make) {
this.make = make;
}
setModel(model) {
this.model = model;
}
setYear(year) {
this.year = year;
}
setColor(color) {
this.color = color;
}
}
又比如,比较两个日期相差多少天,如下图所示:
又比如,从数据库接收数据,如下图所示:
总之,只要你能想得到的内容,它都会给你一个合理化的建议,能够让你的编程速度提速不少。
这里有一个特别棒的设置,就是在给予提示的时候,按下Ctrl+Enter能够看到所有的备选项,而不会让编程千篇一律,如下图所示:
在编程的时候,即使没有注释,它也会给你合理化建议,这个是比较大的惊喜。
官方给出了很多具体例子,可以参看这个地址:
页面更新:2024-04-19
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号