重磅!GitHub 推出 AI 自動寫代碼神器,再也不用到處找代碼了….
點(diǎn)擊關(guān)注公眾號,Java干貨及時(shí)送達(dá)
大家好,我是你們的碼農(nóng)大哥——棧長。
3 年前,自 微軟收購 Github 后大動作不斷啊,兩年多之前就讓 Github 私庫免費(fèi)了!,后面還推出了 Github for Mobile 移動版,這些我都已經(jīng)在公眾號Java技術(shù)棧作過分享,沒看過的可以回過頭看下。
最近,Github 又搞大事了,推出了一款 AI 編程神器——Github Copilot,牛逼啊,下面棧長帶大家來看看到底是什么鬼?

簡介

官網(wǎng):https://copilot.github.com/
Copilot 是由 Github 和 OpenAI 合作聯(lián)合開發(fā)的,看到這個(gè)玩意,讓我想到了之前分享的 AI 寫代碼工具:Codota,它能夠自動進(jìn)行代碼分析并智能提示,極大的提高開發(fā)效率。
棧長大致看了下,Github Copilot 貌似要更牛逼,Github Copilot ——你的 AI 配對程序員,可以理解為你的影子程序員,它基于數(shù)十億行開源代碼進(jìn)行訓(xùn)練,并在背后默默給你建議,不管是整行、還是是整個(gè)完整方法,它都能幫你完成。
牛逼,某些代碼,比如說工具類,再也不用在網(wǎng)上找了,Github Copilot 就能完成整段方法的代碼編寫。
官網(wǎng)示例
簡單的講,Copilot 可以根據(jù)你提供的注釋、方法名、代碼本身等上下文信息自動匹配以完成整個(gè)方法。
來看幾個(gè)官網(wǎng)提供的示例,就知道有多牛逼!
自動完成整個(gè)方法:




根據(jù)注釋完成整個(gè)方法:

自動填充相似代碼:


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

可切換多種不同的解決方案:

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

申請?jiān)囉?/span>
很可惜,Copilot 目前還是預(yù)覽版,還不支持 Java,只支持 Python、JavaScript、TypeScript、Ruby 和 Go 幾種編程語言,不然棧長還真想上手體驗(yàn)一下。
另外,Copilot 目前也只支持在 Visual Studio Code 中使用,如果你想基于上述幾種語言進(jìn)行體驗(yàn),可以申請?jiān)囉妙A(yù)覽版,申請地址:
https://github.com/features/copilot/signup


這里棧長就不演示了,有興趣的可以研究下,等后面如果支持 Java 了,棧長一定體驗(yàn)下,不要走開,關(guān)注公眾號:Java技術(shù)棧,第一時(shí)間推送哦。
工作原理
Copilot 這么牛逼?是什么工作原理呢?
來看下官網(wǎng)提供的交互圖:

1)GitHub Copilot 編程器向 GitHub Copilot 服務(wù)發(fā)送上下文信息,包括注釋、代碼等信息;
2)GitHub Copilot 服務(wù)使用 OpenAI Codex 模型,它基于數(shù)億公開源代碼及自然語言進(jìn)行訓(xùn)練,然后向 GitHub Copilot 編程器提供建議,最后返回匹配的單個(gè)代碼行或者整個(gè)方法;
3)GitHub Copilot 編程器不斷向 GitHub Copilot 服務(wù)提供改善建議;
總結(jié)
感受 Github Copilot 工具自動完成代碼的便利,確實(shí)能夠解輕程序員到處找示例代碼的痛楚,也能幫助我們盡可能的避免復(fù)制代碼出現(xiàn)的 bug 或者潛在漏洞的風(fēng)險(xiǎn)。
Github Copilot 雖好,其實(shí)還有兩點(diǎn)需要我們注意!!
1、安全性
從上面的工作原理圖,我們知道,獲取代碼建議,就必須先將編輯器中的注釋、代碼等相信信息發(fā)送到 GitHub Copilot 服務(wù)器中,這就導(dǎo)致代碼外泄的風(fēng)險(xiǎn)。
目前安全性不得而知,只是預(yù)覽版,但對于金融、支付類的敏感業(yè)務(wù)場景恐怕是要好好思量。
2、版權(quán)問題
Github Copilot 工具基于數(shù)億開放源代碼進(jìn)行訓(xùn)練,但如果被其他商業(yè)公司免費(fèi)拿去商用,那不是被 "白嫖" 了?
版權(quán)問題目前還是爭議很大,如果真是這樣,你是否也有同樣的擔(dān)憂?你的開源項(xiàng)目還會放在 Github 托管嗎?
好了,今天就分享到這里了,后續(xù)棧長還會一直分享最硬核的 Java 技術(shù),小伙伴們可以持續(xù)關(guān)注公眾號Java技術(shù)棧,公眾號第一時(shí)間推送哦。
最后,對于 Github 推出的 Copilot 工具,你們有什么想說的?歡迎留言分享~
版權(quán)申明:本文系公眾號 "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請注明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和知識產(chǎn)權(quán),抄襲必究。






關(guān)注Java技術(shù)??锤喔韶?/strong>


