Copilot

【為什麼我們要編譯這篇文章】GPT-3 已經夠神,但現在又出現了軟體工程師不可不知的靈魂幫手:GitHub Copilot,此款由 OpenAI、Github 聯手推出的 AI 工具,如何解放程式設計最後一哩路?(責任編輯:藍立晴)

6 月 22 日,微軟推出協力開發者編寫程式的 AI 推薦系統——GitHub Copilot,這是微軟致力開發「簡化程式編寫工具」以來的集大成之作,可以說是軟體工程師不可不知的生產力神器。

微軟攜手 GitHub 與 OpenAI,打造提升「開發效率」的智慧工具

近年來,微軟積極擁抱開源軟體(Open Source),並分別於 2018 年收購軟體原始碼代管服務平台 GitHub;又於 2019 年投資 AI 研究機構 OpenAI 共計 10 億美元,並與其聯手替 Azure 雲端平台開發人工智慧技術。

累計至 2020 年初,GitHub 已有超過 4000 萬名註冊使用者,平台共累積超過 1.9 億個代碼庫,其中包含至少 2800 萬個開源原始碼。

有了前述基礎,微軟和 GitHub 在 OpenAI 的協助下,開發了新 OpenAI Codex 人工智慧系統,可以根據開發人員所撰寫的程式碼,自動提出後續編寫建議此功能仰賴 GitHub 上程式語言的大量程式碼以及 Azure 強大的雲計算能力,將可以協助工程師提高開發效能。

Codex 是 GitHub Copilot 的核心模型,也是 GPT-3 的後代,後者是 OpenAI 對大量文本進行訓練的強大模型。

目前,GitHub Copilot 可支援大部分常用的框架及程式語言,但現行預覽版在 Python、JavaScript、TypeScript、Ruby 及 Go 等程式語言上得表現最為出色。

GitHub Copilot

連語意分析都做得到,輸入「文字」就可轉譯成「程式碼」

根據 GitHub 聲明,OpenAI Codex 不只是自動化工具,它更可以作為開發者的程式嚮導。

當工程師寫下描述程式邏輯的文字時,它可根據該描述來提供完整的程式碼,也就是說,GitHub Copilot 可透過分析文字含義,加上判讀工程師正在編寫的函數、以及過去幾行程式碼,來判斷後續可能的程式碼。

GitHub Copilot

運作上,工程師可以在註釋中簡單地用「英文」描述一個函式,比如說:「Get average runtime of successful runs in seconds(以秒為單位取得成功運行的平均時間)」,GitHub Copilot 便可以將其轉換為實際程式碼。

當然,工程師在系統提供程式碼推薦之後,仍保留「取用」與「不取用」的彈性,概念上,此系統希望讓工程人員可以將心力花在更需開創性的事物之上。

GitHub Copilot 將成軟體工程師的靈魂幫手

即便這個工具看似對於工程而言相當有用,仍有很多人會問:服務問世後,是否有可能取代開發人員的工作?

事實上,根據 GitHub Copilot 聲明可知,GitHub Copilot 並非為了取代工程師而存在,GitHub 執行長 Nat Friedman 將其定義為「虛擬結對程式設計師(AI pair programmer)」,意指有了 GitHub Copilot 的加入,就有如兩個開發人員在同一個專案上並肩攜作。

針對同一問題,攜手開發的 OpenAi 共同創辦人暨技術長 Greg Brockman 則認為,在程式設計領域攸關兩件重要的是:一是提出關於如何解決某問題的想法;二是將它付諸實行,GitHub Copilot 可以協助工程師加快第二部分的執行效率,包括:降低重複性事件、減少閱讀文件時間、降低進入新框架時的門檻等等。

「當工程師不想花時間去閱讀 Twilio 上的 API 文件,GitHub Copilot 可以有效的協助你,」Brockman 將 Copilot 所負責的工作視為「程式設計的最後一哩路」。

他以親身經歷分享:「以前我不曉得浪費了多少時間閱讀文件,試圖為一件又一件極為普通的任務,找到的解決方法;現在 Copilot 可以讓我不必翻閱一大堆文件才能開始工作。」

Copilot 還不是完美的?GitHub 執行長:雖不是完美,但已足夠安全

目前,GitHub Copilot 技術預覽版並未實際測試系統所建議的程式碼有效與否,因此不能保證編譯或執行能 100% 被完成,然而,已知的是,系統目前表現較佳之處,在於將程式碼切割為各種小型的函式,並替該函式附註有意義的名稱,協助開發者操作不熟悉的函式庫與框架。

GitHub 日前以一組 Python 函式來測試 GitHub Copilot 準確性,清空原先的函式內容並要求系統自動輸入,對比下來,第一次的準確性為 43%,10 次校準之後準確性可達 57%。

雖然 GitHub 內部已努力確保系統將生成安全、高品質的函式,在準確性上仍有訓練空間,對此,執行長 Friedman 提到:「為了提升推薦函式的準確性,我們在 Copilot 建立了許多安全機制,並且認為,這些機制在各個領域中出錯的可能性極低,雖然它絕對不是完美的。」

在此次推出技術預覽版後,OpenAI 預計將在今年夏天發布 Codex 模型,供第三方開發人員將該系統導入到他們自己的應用程式當中。

資料來源:CNBCTechCrunchiThome

延伸閱讀:工程師好用工具