GitHub Copilot可對整行或全部代碼給出AI分析建議
微軟旗下代碼託管平台GitHub,剛剛推出了名叫Copilot的AI編程輔助工具。在將之引入集成開發環境(IDE)後,便可向程序員給出基於人工智能(AI)的分析建議。而且它不僅能逐行給出分析參考意見,還能夠對完整代碼進行遍歷。此外GitHub表示,Copilot將支持多種編程語言和框架。
(來自:GitHub Blog)
不過今日推出的技術預覽版本,暫時僅限於Python、JavaScript、TypeScript、Ruby 和Go 語言。
據悉,GitHub Copilot 是一個受到OpenAI Codex 支持的新項目,後者是OpenAI 這個非盈利組織打造的新型人工智能係統,此前已經接手了數十億行公共代碼的訓練。
與市面上絕大多數編程輔助工具相比,GitHub Copilot 的全文理解能力要強大得多。無論是文檔字符串、註釋、函數名稱,還是代碼本身,它都會基於上下文合成代碼進行匹配。
以下是GitHub Copilot 的官方功能介紹:
可將註釋轉換為代碼:你可描述自己想要的邏輯註釋,然後交由GitHub Copilot 來組裝代碼。
自動填充重複代碼:GitHub Copilot 非常適合快速生成樣板和重複的代碼模式。你只需給它一些例子,然後它就會生成其餘的部分。
無需辛苦調試:所有強大的軟件工程項目,都需要對功能代碼進行繁重的調試。導入單元測試包,即可讓GitHub Copilot 與你的實現代碼進行匹配測試。
獲取變通方案:如需評估幾種不同的替代方案,GitHub Copilot 亦能夠向你展示潛在的解決方案列表。你可直接套用,或在此基礎上進行適當的修改,以滿足實際需求。
(Copilot傳送門)
目前GitHub Copilot已作為Visual Studio Code的一項擴展而提供,不過在試用Copilot之前,還請務必查看以下來自GitHub團隊的快速問答(FAQ)。
(1)GitHub Copilot 到底有多好?
基於近期針對一組開源存儲庫中具有良好測試覆蓋率的Python 函數的基準測試,我們特地清楚了函數體並要求GitHub Copilot 對其進行填充。
結果發現,模型在初次嘗試時的準確率為43%,十次嘗試的正確率則是57% 。而隨著時間的推移,它肯定會變得越來越聰明。
(2)GitHub Copilot能否幫助協助完美的代碼?
不會。因為GitHub Copilot 只會嘗試了解編程者的意圖,並儘可能地生成最佳代碼。然而它給出的代碼建議,並不總是最有效、甚至是毫無意義的。
即便如此,我們仍在努力讓GitHub Copilot 變得更好,且其給出的任何代碼建議,還是需要經過仔細的測試和審查。畢竟對品質的最終把控,還是在開發者自己手上。