GitHub推出Copilot 用AI幫你寫出正確的程式
微軟旗下的GitHub及OpenAI本周釋出一項名為Copilot的AI工具,它內建於Visual Studio程式碼編輯器,還會自動補足程式碼。
GitHub表示,Copilot不只是會機械式重複它以前看過的程式碼,還會分析開發人員曾經寫過的程式碼,然後產生相應程式碼,包括以前呼叫過的函式。Copilot專案的網站工具還包括撰寫匯入推文、畫散布圖(scatterplot)或加入Goodreads書櫃評分機制。
Copilot可使用主流程式語言包括Python、JavaScript、TypeScript、Ruby和Go。
GitHub認為這是結隊程式設計(Pair Programming)的演進,結隊程式設計是兩名開發人員寫同一個專案,以便抓出彼此錯誤,加速開發流程。Copilot中,其中一名開發人員就變成了AI。
這項計畫是微軟2019年投資OpenAI 10億美元的第一項重大成果,目前是由Y Combinator 總裁Sam Altman主導。在Altman接掌後,OpenAI就從一個非營利研究機構變成一個「capped-profit」獲利模式,即可獲利扣除投資金額皆歸OpenAI所有。這讓OpenAI引進微軟投資,也授權GPT-3文字產生的AI演算法。
Copilot採用的OpenAI Codex演算法,OpenAI CTO Greg Brockman形容為GPT-3的後代。
GPT-3是OpenAI旗艦語言產生演算法,可產生與人類寫作幾無二致的文字。它之所以那麼神奇,是因為使用了1750億個參數,使演算法得以在文字、字母、片語和句子之間建立關聯。GPT-3產生英文語句,而OpenAI Codex是產生程式碼。
OpenAI計畫今年夏天透過API釋出Codex,供開發人員開發應用程式。
OpenAI指出,Codex是以數TB GitHub公開可取得的程式碼和英語範例來訓練。雖然Copilot可大幅提升生產力,但GitHub也表示,不是所有使用的程式碼都檢查過bug、不安全的運作或是否有個資在內。雖然Github也提供一些過濾工具防止Copilot產生冒犯人的語言,但也不是萬無一失。
GitHub還警告Copilot模型有可能會建議個人電子郵件、API金鑰或電話號碼,不過從現有例子來看都是模型合成或隨機產生的假個資。但另一方面,Copilot產生的程式碼都是原創的,和訓練資料集相同的程式碼比例僅0.1%。
Copilot目前僅開放少數人測試,但有興趣的人仍可上網註冊等待開放試用。
來源:The Verge