GitHub Copilot
此條目可參照[[:en:Module:Wikidata第969行Lua錯誤:attempt to index field 'wikibase' (a nil value) |英語維基百科]]相應條目來擴充。 (2022年8月4日) |
| File:GitHub Copilot logo.svg | |
| 開發者 | GitHub、OpenAI |
|---|---|
| 目前版本 | |
| 原始碼庫 |
|
| 引擎 | |
| 作業系統 | Microsoft Windows、Linux、macOS、Web |
| 許可協定 | |
| 網站 | github |
GitHub Copilot是GitHub和OpenAI合作開發的一個人工智能工具,用戶在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains整合式開發環境時可以通過GitHub Copilot自動補全程式碼[1]。GitHub於2021年6月29日對外公開該軟件[2],GitHub Copilot於技術預覽階段主要面向Python、JavaScript、TypeScript、Ruby和Go等程式語言[2][3]。
歷史[編輯]
2021年6月29日,GitHub 宣佈 GitHub Copilot 在 Visual Studio Code 開發環境中進行技術預覽。[1][4]
2021年10月26日,GitHub Copilot 作為外掛程式在 JetBrains 市場上發佈。[5]
2021年10月27日,GitHub 發佈了 GitHub Copilot Neovim 外掛程式作為公共儲存庫。[6]
2022年3月9日,Github官方宣佈Copilot適用於Visual Studio 2022 IDE。[7]
2022年6月21日,GitHub 正式宣佈 Copilot 退出「技術預覽版」,並作為基於訂閱的服務提供給個人開發者。[8]此外,GitHub 提到 Copilot 將繼續「對經過驗證的學生和流行開源專案的維護者免費」,並且在2022年晚些時候提供給公司。
特性[編輯]
GitHub Copilot 由 OpenAI Codex 提供支援,OpenAI Codex 是由人工智能研究實驗室 OpenAI 建立的人工智能模型。[9]OpenAI Codex 是 GPT-3 的修改後生產版本,GPT-3 是一種使用深度學習生成類人類文字的語言模型。[10]例如,當給出一個自然語言的程式問題時,Codex能夠產生解法代碼。[11]它也可以用英語描述輸入代碼和在不同程式語言之間翻譯代碼。[11]Codex的GPT-3僅授權給 GitHub 的母公司微軟。[12]
Copilot的OpenAI Codex接受了一系列英語語言、公共 GitHub 儲存庫和其他公開可用原始碼的訓練。[3]這包括來自 5400 萬個公共 GitHub 儲存庫的 159 GB Python 代碼的過濾數據集。[13]
根據它的網站,GitHub Copilot包括協助程式設計師的功能,如從代碼註釋到可執行代碼的轉換,和自動補全代碼塊、重複的代碼、以及整個方法或函數。[3][14]GitHub 報告稱,Copilot 的自動完成功能大約有一半時間是準確的; 例如,當用戶提供Python 函數頭代碼後,Copilot 在第一次嘗試時有 43% 的時間正確地自動完成了函數體代碼的其餘部分,而在十次嘗試後有 57% 的時間正確地自動完成了函數體代碼的其餘部分。[3]
GitHub 表示,Copilot 的功能能夠幫助程式設計師減省閱讀軟件文件的時間,快速瀏覽不熟悉的編碼框架和語言。[3]
各界反應[編輯]
許可證爭議[編輯]
GitHub承認,該工具在輸出部分代碼時會逐句複製,這會導致對輸出的代碼是否屬於合理使用的爭議,並可能侵犯原始所有者的著作權。[15]2022年6月,軟件自由保護組織宣佈將停止在自己的專案中使用GitHub服務,[16]並控訴GitHub在訓練代碼時忽視軟件許可證。[17]
FSF白皮書[編輯]
2021年7月28日,自由軟件基金會(FSF)發表了一篇呼籲資助來探討GitHub Copilot相關哲學與法律問題的白皮書。[18]
私隱問題[編輯]
GitHub Copilot是雲端運算服務,需要持續和GitHub Copilot伺服器通訊以正常使用。[19]這種不透明的架構引發了對數據探勘和按鍵遙測的擔憂。[20][21]
教育問題[編輯]
電腦協會於2022年8月發佈的一篇論文評估了GitHub Copilot使用的技術Codex可能會對新手程式設計師的教育產生的影響。[22]
相關條目[編輯]
參考文獻[編輯]
- ^ 1.0 1.1 Gershgorn, Dave. GitHub and OpenAI launch a new AI tool that generates its own code. The Verge. 2021-06-29 [2021-07-06]. (原始內容存檔於2021-07-07).
- ^ 2.0 2.1 GitHub’s automatic coding tool rests on untested legal ground. The Verge. 2021-07-07 [2021-07-11]. (原始內容存檔於2021-07-11).
- ^ 3.0 3.1 3.2 3.3 3.4 GitHub Copilot · Your AI pair programmer. GitHub Copilot. [7 April 2022]. (原始內容存檔於2022-06-19).
- ^ Introducing GitHub Copilot: your AI pair programmer. The GitHub Blog. 2021-06-29 [2022-04-07]. (原始內容存檔於2022-06-21) (en-US).
- ^ GitHub Copilot - IntelliJ IDEs Plugin | Marketplace. JetBrains Marketplace. [2022-04-07]. (原始內容存檔於2022-06-27).
- ^ Copilot.vim, GitHub, 7 April 2022 [7 April 2022], (原始內容存檔於2022-06-13)
- ^ GitHub Copilot now available for Visual Studio 2022. The GitHub Blog. 29 March 2022 [7 April 2022]. (原始內容存檔於2022-06-14) (en-US).
- ^ GitHub Copilot is generally available to all developers. The GitHub Blog. 21 June 2022 [21 June 2022]. (原始內容存檔於2022-06-23) (en-US).
- ^ Krill, Paul. OpenAI offers API for GitHub Copilot AI model. InfoWorld. 12 August 2021 [7 April 2022]. (原始內容存檔於2022-04-17) (English).
- ^ OpenAI Releases GPT-3, The Largest Model So Far. Analytics India Magazine. 3 June 2020 [7 April 2022]. (原始內容存檔於2020-08-04) (en-US).
- ^ 11.0 11.1 Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James. The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming. Australasian Computing Education Conference. ACE '22 (New York, NY, USA: Association for Computing Machinery). 14 February 2022: 10–19. ISBN 978-1-4503-9643-1. S2CID 246681316. doi:10.1145/3511861.3511863.
- ^ OpenAI is giving Microsoft exclusive access to its GPT-3 language model. MIT Technology Review. [7 April 2022]. (原始內容存檔於2021-02-05) (English).
- ^ OpenAI Announces 12 Billion Parameter Code-Generation AI Codex. InfoQ. [7 April 2022]. (原始內容存檔於2022-07-09) (English).
- ^ Sobania, Dominik; Schweim, Dirk; Rothlauf, Franz. A Comprehensive Survey on Program Synthesis with Evolutionary Algorithms. IEEE Transactions on Evolutionary Computation. 2022: 1 [2022-08-04]. ISSN 1941-0026. S2CID 247721793. doi:10.1109/TEVC.2022.3162324. (原始內容存檔於2022-04-01).
- ^ Gershgorn, Dave. Can AI learn from any public code online?. The Verge. 2021-07-07 [2023-03-23]. (原始內容存檔於2021-07-11) (en-US).
- ^ Give Up GitHub: The Time Has Come!. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-24) (English).
- ^ If Software is My Copilot, Who Programmed My Software?. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-27) (English).
- ^ FSF-funded call for white papers on philosophical and legal questions around Copilot: Submit before Monday, August 23, 2021 — Free Software Foundation — Working together for free software. www.fsf.org. [2023-03-23]. (原始內容存檔於2021-08-11).
- ^ GitHub Copilot · Your AI pair programmer. GitHub. [2023-03-23]. (原始內容存檔於2023-06-11) (English).
- ^ CoPilot: Privacy & DataMining · community/community · Discussion #7263. GitHub. [2023-03-23]. (原始內容存檔於2023-02-21) (English).
- ^ Who Does That Server Really Serve? - GNU Project - Free Software Foundation. www.gnu.org. [2023-03-23]. (原始內容存檔於2023-06-09).
- ^ Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James. The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming. Proceedings of the 24th Australasian Computing Education Conference. ACE '22 (New York, NY, USA: Association for Computing Machinery). 2022-02-14 [2025-01-14]. ISBN 978-1-4503-9643-1. doi:10.1145/3511861.3511863. (原始內容存檔於2025-01-14).