重磅!GitHub 推出 AI 自動寫代碼神器,再也不用(yòng)到處找代碼了

2021-07-14 15:33:52

     3 年前,自 微軟收購(gòu) Github 後大動作(zuò)不斷啊,兩年多(duō)之前就讓 Github 私庫免費了!,後面還推出了 Github for Mobile 移動版,這些我都已經在Java技(jì )術棧作(zuò)過分(fēn)享,沒看過的可(kě)以回過頭看下。

最近,Github 又(yòu)搞大事了,推出了一款 AI 編程神器——Github Copilot,牛逼啊,下面棧長(cháng)帶大家來看看到底是什麽鬼?

1.png


簡介


2.png


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

Copilot 是由 Github 和 OpenAI 合作(zuò)聯合開發的,看到這個玩意,讓我想到了之前分(fēn)享的 AI 寫代碼工(gōng)具(jù):Codota,它能(néng)夠自動進行代碼分(fēn)析并智能(néng)提示,極大的提高開發效率。

棧長(cháng)大緻看了下,Github Copilot 貌似要更牛逼,Github Copilot ——你的 AI 配對程序員,可(kě)以理(lǐ)解為(wèi)你的影子程序員,它基于數十億行開源代碼進行訓練,并在背後默默給你建議,不管是整行、還是是整個完整方法,它都能(néng)幫你完成。

牛逼,某些代碼,比如說工(gōng)具(jù)類,再也不用(yòng)在網上找了,Github Copilot 就能(néng)完成整段方法的代碼編寫。

官網示例

簡單的講,Copilot 可(kě)以根據你提供的注釋、方法名(míng)、代碼本身等上下文(wén)信息自動匹配以完成整個方法。

來看幾個官網提供的示例,就知道有(yǒu)多(duō)牛逼!

自動完成整個方法:

3.png


4.png


5.png


6.png


根據注釋完成整個方法:

7.png


8.png


自動填充相似代碼:

9.png


10.png


自動生成相匹配的單元測試代碼:

11.png


可(kě)切換多(duō)種不同的解決方案:

12.png


快速上手新(xīn)語言、新(xīn)框架:

13.png


申請試用(yòng)

很(hěn)可(kě)惜,Copilot 目前還是預覽版,還不支持 Java,隻支持 Python、JavaScript、TypeScript、Ruby 和 Go 幾種編程語言,不然棧長(cháng)還真想上手體(tǐ)驗一下。

另外,Copilot 目前也隻支持在 Visual Studio Code 中(zhōng)使用(yòng),如果你想基于上述幾種語言進行體(tǐ)驗,可(kě)以申請試用(yòng)預覽版,申請地址:

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


14.png


15.png


這裏棧長(cháng)就不演示了,有(yǒu)興趣的可(kě)以研究下,等後面如果支持 Java 了,棧長(cháng)一定體(tǐ)驗下,不要走開,關注Java技(jì )術棧,第一時間推送哦。

工(gōng)作(zuò)原理(lǐ)

Copilot 這麽牛逼?是什麽工(gōng)作(zuò)原理(lǐ)呢(ne)?

來看下官網提供的交互圖:

16.png


1)GitHub Copilot 編程器向 GitHub Copilot 服務(wù)發送上下文(wén)信息,包括注釋、代碼等信息;

2)GitHub Copilot 服務(wù)使用(yòng) OpenAI Codex 模型,它基于數億公(gōng)開源代碼及自然語言進行訓練,然後向 GitHub Copilot 編程器提供建議,最後返回匹配的單個代碼行或者整個方法;

3)GitHub Copilot 編程器不斷向 GitHub Copilot 服務(wù)提供改善建議;

總結

感受 Github Copilot 工(gōng)具(jù)自動完成代碼的便利,确實能(néng)夠解輕程序員到處找示例代碼的痛楚,也能(néng)幫助我們盡可(kě)能(néng)的避免複制代碼出現的 bug 或者潛在漏洞的風險。

Github Copilot 雖好,其實還有(yǒu)兩點需要我們注意!!

1、安(ān)全性

從上面的工(gōng)作(zuò)原理(lǐ)圖,我們知道,獲取代碼建議,就必須先将編輯器中(zhōng)的注釋、代碼等相信信息發送到 GitHub Copilot 服務(wù)器中(zhōng),這就導緻代碼外洩的風險。

目前安(ān)全性不得而知,隻是預覽版,但對于金融、支付類的敏感業務(wù)場景恐怕是要好好思量。

2、版權問題

Github Copilot 工(gōng)具(jù)基于數億開放源代碼進行訓練,但如果被其他(tā)商(shāng)業公(gōng)司免費拿(ná)去商(shāng)用(yòng),那不是被 "白嫖" 了?

版權問題目前還是争議很(hěn)大,如果真是這樣,你是否也有(yǒu)同樣的擔憂?你的開源項目還會放在 Github 托管嗎?

好了,今天就分(fēn)享到這裏了,後續棧長(cháng)還會一直分(fēn)享最硬核的 Java 技(jì )術,小(xiǎo)夥伴們可(kě)以持續關注Java技(jì )術棧,第一時間推送哦。

最後,對于 Github 推出的 Copilot 工(gōng)具(jù),你們有(yǒu)什麽想說的?歡迎留言分(fēn)享~


公(gōng)司地址
汕頭市龍湖(hú)區(qū)長(cháng)江路23号長(cháng)平新(xīn)一城商(shāng)業寫字樓2棟404-407
技(jì )術專線(xiàn)

13790889505

服務(wù)熱線(xiàn)

0754-87123130

客服微信

互聯網項目高端定制

高端網站建設

移動應用(yòng)開發

微信應用(yòng)開發

電(diàn)商(shāng)與平台開發

聯系服務(wù)顧問,為(wèi)您提供專業的策略與建議~