【GitHub Copilot】認識 GitHub Copilot

Mon, Jul 19, 2021 One-minute read

最近有幸被選為 GitHub Copilot 的受測者,於是決定來分享這個有趣的工具。

Table of Contents

什麼是 GitHub Copilot?

GitHub Copilot 是由微軟攜手 GitHub 和 OpenAI 打造的 AI 輔助編寫工具,只要寫下描述程式邏輯的註解或片段文字,就可以根據前後文建議後續的程式碼,使用方法和文字編輯器的 code snippet 很接近,但能夠提供更完整的建議,且不需事先設定建議文字,除了提升編寫程式的效率,也能減少學習新程式語言或框架的門檻。目前官方宣稱 GitHub Copilot 對於 Python、JavaScript、TypeScript、Ruby 和 Go 等程式語言的表現較好,但同樣可以支援其他語言。

example

打上函數名稱及說明便會跳出建議的程式碼

運作原理

architecture

架構圖

GitHub Copilot 使用包含 GitHub 上的開放原始碼,並使用 OpenAI 的 Codex 模型進行訓練。Codex 是專門針對 GitHub 開放原始碼進行訓練、調參的 GPT 語言模型,並且在 OpenAI 的測試集 HumanEval 中優於 GPT-3 模型的表現,詳情可以參考此論文

接著,GitHub Copilot 透過蒐集使用者正在編輯的部分文件,透過其前後文提供建議,並藉由記錄建議是否被採用以優化模型。

如何使用

目前 (在我編寫此文章的當下) GitHub Copilot 僅開放給部分受測者,因此如果想體驗這項工具的話需要到官網點擊 Sign up,並加入等候清單,關於詳細的使用方式可以點擊查看這篇文章

GitHub Copilot website

GitHub Copilot 官網

雖然 GitHub Copilot 近期因為訓練集的授權條款問題受到蠻多爭議,但我個人還是蠻期待這項技術的發展,也希望這類工具在未來能夠讓程式碼的編寫更加容易。