大家好,我是你们的码农大哥——栈长。

3 年前,自 微软收购 Github 后大动作不断啊,两年多之前就让 Github 私库免费了!,后面还推出了 Github for Mobile 移动版,这些我都已经在公众号Java技术栈作过分享,没看过的可以回过头看下。

最近,Github 又搞大事了,推出了一款 AI 编程神器——Github Copilot,牛逼啊,下面栈长带大家来看看到底是什么鬼?

简介

官网:https://copilot.github.com/

Copilot 是由 Github 和 OpenAI 合作联合开发的,看到这个玩意,让我想到了之前分享的 AI 写代码工具:Codota,它能够自动进行代码分析并智能提示,极大的提高开发效率。

栈长大致看了下,Github Copilot 貌似要更牛逼,Github Copilot ——你的 AI 配对程序员,可以理解为你的影子程序员,它基于数十亿行开源代码进行训练,并在背后默默给你建议,不管是整行、还是是整个完整方法,它都能帮你完成。

牛逼,某些代码,比如说工具类,再也不用在网上找了,Github Copilot 就能完成整段方法的代码编写。

官网示例

简单的讲,Copilot 可以根据你提供的注释、方法名、代码本身等上下文信息自动匹配以完成整个方法。

来看几个官网提供的示例,就知道有多牛逼!

自动完成整个方法:

根据注释完成整个方法:

自动填充相似代码:

自动生成相匹配的单元测试代码:

可切换多种不同的解决方案:

快速上手新语言、新框架:

用 JS 画一个散点图

申请试用

很可惜,Copilot 目前还是预览版,还不支持 Java,只支持 Python、JavaScript、TypeScript、Ruby 和 Go 几种编程语言,不然栈长还真想上手体验一下。

另外,Copilot 目前也只支持在 Visual Studio Code 中使用,如果你想基于上述几种语言进行体验,可以申请试用预览版,申请地址:

https://github.com/features/copilot/signup

这里栈长就不演示了,有兴趣的可以研究下,等后面如果支持 Java 了,栈长一定体验下,不要走开,关注公众号:Java技术栈,第一时间推送哦。

工作原理

Copilot 这么牛逼?是什么工作原理呢?

来看下官网提供的交互图:

1)GitHub Copilot 编程器向 GitHub Copilot 服务发送上下文信息,包括注释、代码等信息;

2)GitHub Copilot 服务使用 OpenAI Codex 模型,它基于数亿公开源代码及自然语言进行训练,然后向 GitHub Copilot 编程器提供建议,最后返回匹配的单个代码行或者整个方法;

3)GitHub Copilot 编程器不断向 GitHub Copilot 服务提供改善建议;

总结

感受 Github Copilot 工具自动完成代码的便利,确实能够解轻程序员到处找示例代码的痛楚,也能帮助我们尽可能的避免复制代码出现的 bug 或者潜在漏洞的风险。

Github Copilot 虽好,其实还有两点需要我们注意!!

1、安全性

从上面的工作原理图,我们知道,获取代码建议,就必须先将编辑器中的注释、代码等相信信息发送到 GitHub Copilot 服务器中,这就导致代码外泄的风险。

目前安全性不得而知,只是预览版,但对于金融、支付类的敏感业务场景恐怕是要好好思量。

2、版权问题

Github Copilot 工具基于数亿开放源代码进行训练,但如果被其他商业公司免费拿去商用,那不是被 “白嫖” 了?

版权问题目前还是争议很大,如果真是这样,你是否也有同样的担忧?你的开源项目还会放在 Github 托管吗?

好了,今天就分享到这里了,后续栈长还会一直分享最硬核的 Java 技术,小伙伴们可以持续关注公众号Java技术栈,公众号第一时间推送哦。

最后,对于 Github 推出的 Copilot 工具,你们有什么想说的?欢迎留言分享~

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注