- 公司地址
- 技術專線
- 服務熱線
- 客服微信
-
2021-07-14 15:33:52
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 可以根據你提供的注釋、方法名、代碼本身等上下文信息自動匹配以完成整個方法。
來看幾個官網提供的示例,就知道有多牛逼!
自動完成整個方法:
根據注釋完成整個方法:
自動填充相似代碼:
自動生成相匹配的單元測試代碼:
可切換多種不同的解決方案:
快速上手新語言、新框架:
很可惜,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 工具,你們有什么想說的?歡迎留言分享~