VS Code能自己程式設計了,GitHub推出「AI程式設計師」外掛,根據註釋自動補全程式碼

明敏 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

描述出你想要執行的命令,就能生成相應的程式碼。

現在,GitHub官方和openAI聯合為程式設計師們送上程式設計神器——GitHub Copilot

AI來給你打工當秘書,從此寫程式碼不用再去Stack Overflow上瘋狂搜尋了,效率立刻翻倍!

這個系統可以像有高手指點一樣,配合程式設計師寫程式碼。

甚至程式設計師只要寫下一段註釋,Github Copilot就可以補全剩下的程式碼、提出改進的建議,為程式設計師省去大量查找的時間,而且可以保持更高的專注力。

官網介紹,它已經接受了數十億行公共程式碼的訓練,並且還在不斷學習中。

在一次根據函數頭補全程式碼的測試中,Copilot首次測試的正確率可達43%;

重複10次測試後,正確率就能提升至57%

有網友就表示,GitHub Copilot能達到的效果令他大吃一驚!

使用了兩週,Copilot給出的程式碼和我想寫的程式碼大約有十分之一的重合。

這真的很像結對程式設計,而且可以最佳化我的程式碼。Copilot使我成為了更好的程式設計師!

那就話不多說,讓我們來看看如何使用GitHub Copilot~

AI變成好搭檔

目前,Github Copilot作為Visual Studio Code外掛,支持在本地或GitHub Codespaces上使用。

它適用於多種框架和語言,在Python、JavaScript、TypeScript、Rudy、Go幾種語言上的表現格外突出。

GitHub Copilot的強大之處就是能充當你的「小秘書」。

它能夠把註釋轉化成程式碼,只需描述出你想要執行的命令,GitHub Copilot就能自動為你組裝程式碼。

重複的程式碼打起來太費事了?

重複的程式碼打起來太費事了?

GitHub Copilot也能幫你做。它能根據你給出的例子,快速生成模板和重複的程式碼。

對於讓程式設計師頭疼的測試,它也能提供貼心的服務。

只需匯入單元測試包,GitHub Copilot就能給出與程式碼匹配的測試。

「能不能多給幾種方案?」

「能不能多給幾種方案?」

這話現在也能對Copilot說了,它可以羅列出不同方案任君挑選。

甚至,它還能輔導你寫程式碼。

遇到不熟悉的語言或者還在學習程式設計,GitHub Copilot也可以幫助你找出錯誤、學習新框架,省去了大量查資料的時間。

數十億行程式碼訓練

所以,GitHub Copilot是如何做到這樣強大的呢?

GitHub Copilot由OpenAI Codex提供支持,可以理解為GPT-3的改進版。

它由公開源程式碼和自然語言的訓練,因此它可以很好理解程式語言以及人類語言,從而能夠把人類語言轉化成程式碼。

具體情況中,GitHub Copilot會把程式設計師給出的命令或程式碼發送到伺服器,然後伺服器使用OpenAI Codex來給出程式碼或建議。

據官網介紹,它是用數十億行的程式碼訓練後,才達到了現在的效果。

主要利用了上傳到GitHub以及其他網站的源程式碼,依靠許多程式語言的大量程式碼和龐大的Azure雲端運算能力。

而且它還會根據程式設計師在使用過程中的反饋,進一步學習。

目前,已經有部分人在測試使用GitHub Copilot;之後,它可能將作為付費產品正式上線。

網友:會取代人類嗎?

u1s1(有一說一),GitHub Copilot能達到的效果還是十分可觀的,許多用過的程式設計師都說好。

Copilot在處理React元件時效果格外好,它能做出非常精準的判斷。GitHub Copilot會成為程式設計師不可缺少的一部分,就像很多人用IDE一樣。

AI寫程式碼如此強悍?那程式設計師豈不是要了。

有人就調侃道:

程式設計師們寫了一個項目來取代程式設計師。

難道有一天,AI寫程式碼真的會超越人類嗎?

難道有一天,AI寫程式碼真的會超越人類嗎?

有人就舉了一個生動的例子,表達了自己不認同的觀點:

當電子鼓問世時,音樂界認為鼓手的末日到了。但鼓手才是能在電子鼓上編寫絕妙節拍的人啊!

也就是說,與人們擔心的相反,GitHub Copilot會提高程式設計師的生產力,可能幫助他們得到更多的報酬。

畢竟,程式設計師總是要把大量時間花在程式設計以外的事情上……

一本書中提到,程式設計師花費了50%的時間在非程式設計任務上。

所以,GitHub Copilot的效果還是非常值得期待的~

現在,它已經可以免費安裝了,只需註冊賬號通過審核,就能體驗「AI程式設計助手」,你要不要來試一下呢?

安裝地址:
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

參考連結:
[1]https://copilot.github.com/
[2]https://visualstudiomagazine.com/articles/2021/06/29/github-copilot.aspx
[3]https://news.ycombinator.com/item?id=27676266
[4]https://twitter.com/hashtag/GitHubCopilot

相關文章