OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

比GPT-3更強大!昨日,微軟與OpenAI共同推出了一款AI編程工具GitHub
Copilot,這款工具基於GitHub及其他網站的源代碼,可根據上文提示為程序員自動編寫下文代碼!GitHub 的首席執行官 Nat
Friedman 介紹說,GitHub
Copilot是結對編程的虛擬版本。結對編程是一種常見的敏捷軟件開發技術——即兩個開發人員在同一個項目上並肩協作,輪流編寫代碼並檢查合作夥伴的輸出。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

“它可以在編輯器中直接獲提供多行或整個函數的代碼建議。另外,隨着時間的推移和使用量的增加,模型會變得越來越複雜,代碼質量也會越來高。”

對於程序員來講,一款編程工具最重要的當然是支持哪些類型語言。GitHub在預告中說,Copilot 可以支持十幾種語言,與 Python、JavaScript、TypeScript、Ruby 和 Go 等主流語言配合效果更佳。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

目前GitHub官網已經曬出了 Copilot 的功能介紹,我們來了解一下。

1

給力的結對編程夥伴

GitHub表示,相比大多數代碼助手,GitHub Copilot可以理解更大範圍的上下文。因此,無論是文檔字符串、註釋、函數名稱還是代碼本身,GitHub Copilot 都可以基於提供的上下文(已輸入的代碼)合成新代碼以進行匹配。

如果真有如此可靠,那麼正如GitHub所說,這項功能可以讓程序員丟掉很多的文檔閱讀工作,從而專註於編輯器。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

GitHub Copilot還可以將註釋轉換為代碼。只需要寫一條評論,描述想要的邏輯,GitHub Copilot 就能自動“理解”並寫出相應功能的代碼。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

GitHub Copilot 也能自動填充重複代碼。GitHub表示,GitHub Copilot 非常適合快速生成樣板和重複代碼模式。對於需要編寫大量相似但難以轉換為循環語句代碼的程序員而言,這項功能非常“香”。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

包辦測試也是GitHub Copilot值得注意的亮點,GitHub表示,測試是任何強大的軟件工程項目的支柱,“導入單元測試包,就可以讓 GitHub Copilot 自動編寫與你的實現代碼匹配的測試。”

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

對於相同的上下文,GitHub Copilot可以給出多種解決方案,供程序員自主選擇。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

看到這裡,小夥伴們是不是躍躍欲試了呢?可惜,GitHub Copilot不是完全開放的,和GPT-3一樣,只提供有限用戶的試用體驗。總之,先排隊吧。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

項目地址:https://copilot.github.com/

2

Copilot,專為編程而生

Brockman介紹說,GitHub Copilot的核心模型Codex藉助了GPT-3強大的生成能力。

我們知道,GPT-3是OpenAI推出的超大規模自然語言生成模型,早期訓練GPT-3時,OpenAI無意教它如何幫助編寫代碼,它更像是一種通用語言模型,主要用於文本生成、語法修改等任務。

後來OpenAI向公眾開放API,這個基於文本訓練的模型,被網友們玩出了50多種花樣,其中包括自動生成代碼。OpenAI意識到了GPT-3在編寫代碼方面的潛力,並在其網站上提供了在線“代碼生成”服務。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

幾十年來,微軟的研究人員一直在嘗試如何教計算機編寫代碼,但未取得顯著成果。此次與OpenAI合作,微軟將提供了強大 Azure 雲計算能力和GitHub平台(2018年被微軟收購)的大量語言編程代碼。

關於這款產品的代碼生成質量,Friedman說,GitHub員工已經做了大量嘗試,能夠確保GitHub Copilot生成安全、高質量的代碼。他說:“我們已經在系統中建立了一些安全機制,這些機制在減少各個領域能夠顯著減少出錯幾率。”也就是說,GitHub Copilot並不能保證完全不出錯,它仍然只是一個輔助生成代碼工具。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

官網報道說,Copilot的底層技術屬於微軟和OpenAI共有,今年夏天OpenAI將發布Codex模型,供第三方開發者使用。微軟也表示會發布該產品的一個版本,讓企業通過培訓了解自己的編程風格。但目前,微軟只提供公共存儲庫中存儲的代碼的服務。

這不是微軟第一次依靠OpenAI來提供智能軟件。上個月,微軟展示了powerapps Studio應用程序的更新服務,非技術人員可以使用它來編寫應用程序——用戶輸入他們想要添加的元素單詞,GPT-3可提供一些必要代碼的選項。

3

網友討論

GitHub Copilot的發布在Reddit上引發了熱烈的討論,不少網友看好編碼自動化的產業趨勢,網友@markbowick說道:

毫無疑問,這將極大地提高大多數程序員的日常編程生產力,並且(我認為)這將是推動全球軟件影響呈指數增長的最重要步驟之一。

值得注意的是,GPT-J(GPT-3 較小模型之一的開源實現)在大量 GitHub 和 StackExchange 查詢存儲庫上進行了訓練,並且在特定編程相關任務上的表現明顯優於 OpenAI 的其它模型。在接下來的幾個月里,我預期會看到性能更好的類似的(更大)模型。

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

也有人提出了質疑,網友@laprika0表示,GitHub Copilot的測試方法令人擔憂,“讓 GitHub Copilot 建議與你的實現代碼匹配的測試,但人們並不應該以這種方式寫測試。”不少網友表示同意,並補充道,“如果實現代碼有錯誤,那麼GitHub Copilot將把錯誤引入測試中,從而影響測試效果。”

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

還有人則注意到關於代碼所有權的問題,OpenAI發表了一項聲明,表示用戶使用GitHub Copilot寫代碼時,代碼片段和建議結果將與 GitHub 和 OpenAI 共享,並用於診斷目的和改進建議。同時,為保護隱私,GitHub Copilot 不會使用用戶的私有代碼來為 GitHub Copilot 的其他用戶推薦代碼。

網友@touristtam對此聲明感到困惑,“他們是否擁有在用戶啟用GitHub Copilot時編寫的代碼?”

OpenAI與GitHub聯手推出AI代碼生成工具 比GPT-3更強大

作者 | 琰琰、青暮

(0)
上一篇 2021-06-30 16:58
下一篇 2021-06-30 16:59

相关推荐