【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](/images/post/github-copilot-intro/example.png)
打上函數名稱及說明便會跳出建議的程式碼
運作原理
![architecture](/images/post/github-copilot-intro/architecture.jpg)
架構圖
GitHub Copilot 使用包含 GitHub 上的開放原始碼,並使用 OpenAI 的 Codex 模型進行訓練。Codex 是專門針對 GitHub 開放原始碼進行訓練、調參的 GPT 語言模型,並且在 OpenAI 的測試集 HumanEval 中優於 GPT-3 模型的表現,詳情可以參考此論文。
接著,GitHub Copilot 透過蒐集使用者正在編輯的部分文件,透過其前後文提供建議,並藉由記錄建議是否被採用以優化模型。
如何使用
目前 (在我編寫此文章的當下) GitHub Copilot 僅開放給部分受測者,因此如果想體驗這項工具的話需要到官網點擊 Sign up
,並加入等候清單,關於詳細的使用方式可以點擊查看這篇文章。
![GitHub Copilot website](/images/post/github-copilot-intro/website.png)
GitHub Copilot 官網
雖然 GitHub Copilot 近期因為訓練集的授權條款問題受到蠻多爭議,但我個人還是蠻期待這項技術的發展,也希望這類工具在未來能夠讓程式碼的編寫更加容易。