大家好,我是你們的碼農大哥——棧長。
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 中使用,如果你想基於上述幾種語言進行體驗,可以申請試用預覽版,申請地址:


這里棧長就不演示了,有興趣的可以研究下,等后面如果支持 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 工具,你們有什么想說的?歡迎留言分享~
版權申明:本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請注明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和知識產權,抄襲必究。
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2021最新版)
2.終於靠開源項目弄到 IntelliJ IDEA 激活碼了,真香!
3.阿里 Mock 工具正式開源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式發布,全新顛覆性版本!
覺得不錯,別忘了隨手點贊+轉發哦!
