(來自: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 變得更好,且其給出的任何代碼建議,還是需要經過仔細的測試和審查。畢竟對品質的最終把控,還是在開發者自己手上。