重磅!GitHub 推出 AI 自動寫代碼神器 Copilot
大家好,我是你們的碼農大哥——棧長。
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 工具,你們有什麼想說的?歡迎留言分享~
版權申明:本文系公衆號 "Java 技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和知識產權,抄襲必究。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/0fE4dTjZvZtYk9JbuJeW9g