GitHub Copilot
此條目可參照英語維基百科相應條目來擴充。 (2022年8月4日) |
開發者 | GitHub、OpenAI |
---|---|
目前版本 |
|
作業系統 | Microsoft Windows、Linux、MacOS、Web |
網站 | github.com/features/copilot |
GitHub Copilot是GitHub和OpenAI合作開發的一個人工智能工具,用戶在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains整合式開發環境時可以通過GitHub Copilot自動補全代碼[2]。GitHub於2021年6月29日對外公開該軟件[3],GitHub Copilot於技術預覽階段主要面向Python、JavaScript、TypeScript、Ruby和Go等程式語言[3][4]。
歷史
[編輯]2021年6月29日,GitHub 宣佈 GitHub Copilot 在 Visual Studio Code 開發環境中進行技術預覽。[2][5]
2021年10月26日,GitHub Copilot 作為外掛程式在 JetBrains 市場上發佈。[6]
2021年10月27日,GitHub 發佈了 GitHub Copilot Neovim 外掛程式作為公共儲存庫。[7]
2022年3月9日,Github官方宣佈Copilot適用於Visual Studio 2022 IDE。[8]
2022年6月21日,GitHub 正式宣佈 Copilot 退出「技術預覽版」,並作為基於訂閱的服務提供給個人開發者。[9]此外,GitHub 提到 Copilot 將繼續「對經過驗證的學生和流行開源專案的維護者免費」,並且在2022年晚些時候提供給公司。
特性
[編輯]GitHub Copilot 由 OpenAI Codex 提供支援,OpenAI Codex 是由人工智能研究實驗室 OpenAI 建立的人工智能模型。[10]OpenAI Codex 是 GPT-3(生成型已訓練變換模型 3) 的修改後生產版本,GPT-3 是一種使用深度學習生成類人類文字的語言模型。[11]例如,當給出一個自然語言的程式問題時,Codex能夠產生解法代碼。[12]它也可以用英語描述輸入代碼和在不同程式語言之間翻譯代碼。[12]Codex的GPT-3僅授權給 GitHub 的母公司微軟。[13]
Copilot的OpenAI Codex接受了一系列英語語言、公共 GitHub 儲存庫和其他公開可用原始碼的訓練。[4]這包括來自 5400 萬個公共 GitHub 儲存庫的 159 GB Python 代碼的過濾數據集。[14]
根據它的網站,GitHub Copilot包括協助程式設計師的功能,如從代碼註釋到可執行代碼的轉換,和自動補全代碼塊、重複的代碼、以及整個方法或函數。[4][15]GitHub 報告稱,Copilot 的自動完成功能大約有一半時間是準確的; 例如,當用戶提供Python 函數頭代碼後,Copilot 在第一次嘗試時有 43% 的時間正確地自動完成了函數體代碼的其餘部分,而在十次嘗試後有 57% 的時間正確地自動完成了函數體代碼的其餘部分。[4]
GitHub 表示,Copilot 的功能能夠幫助程式設計師減省閱讀軟件文件的時間,快速瀏覽不熟悉的編碼框架和語言。[4]
各界反應
[編輯]許可證爭議
[編輯]GitHub承認,該工具在輸出部分代碼時會逐句複製,這會導致對輸出的代碼是否屬於合理使用的爭議,並可能侵犯原始所有者的版權。[16]2022年6月,軟件自由保護組織宣佈將停止在自己的專案中使用GitHub服務,[17]並控訴GitHub在訓練代碼時忽視軟件許可證。[18]
FSF白皮書
[編輯]2021年7月28日,自由軟件基金會(FSF)發表了一篇呼籲資助來探討GitHub Copilot相關哲學與法律問題的白皮書。[19]
私隱問題
[編輯]GitHub Copilot是雲端運算服務,需要持續和GitHub Copilot伺服器通訊以正常使用。[20]這種不透明的架構引發了對數據探勘和按鍵遙測的擔憂。[21][22]
教育問題
[編輯]電腦協會於2022年8月發佈的一篇論文評估了GitHub Copilot使用的技術Codex可能會對新手程式設計師的教育產生的影響。[23]
參考文獻
[編輯]- ^ https://marketplace.visualstudio.com/items?itemName=GitHub.copilot.
- ^ 2.0 2.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).
- ^ 3.0 3.1 GitHub’s automatic coding tool rests on untested legal ground. The Verge. 2021-07-07 [2021-07-11]. (原始內容存檔於2021-07-11).
- ^ 4.0 4.1 4.2 4.3 4.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) (美國英語).
- ^ 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) (美國英語).
- ^ GitHub Copilot is generally available to all developers. The GitHub Blog. 21 June 2022 [21 June 2022]. (原始內容存檔於2022-06-23) (美國英語).
- ^ Krill, Paul. OpenAI offers API for GitHub Copilot AI model. InfoWorld. 12 August 2021 [7 April 2022]. (原始內容存檔於2022-04-17) (英語).
- ^ OpenAI Releases GPT-3, The Largest Model So Far. Analytics India Magazine. 3 June 2020 [7 April 2022]. (原始內容存檔於2020-08-04) (美國英語).
- ^ 12.0 12.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) (英語).
- ^ OpenAI Announces 12 Billion Parameter Code-Generation AI Codex. InfoQ. [7 April 2022]. (原始內容存檔於2022-07-09) (英語).
- ^ 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) (美國英語).
- ^ Give Up GitHub: The Time Has Come!. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-24) (英語).
- ^ If Software is My Copilot, Who Programmed My Software?. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-27) (英語).
- ^ 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) (英語).
- ^ CoPilot: Privacy & DataMining · community/community · Discussion #7263. GitHub. [2023-03-23]. (原始內容存檔於2023-02-21) (英語).
- ^ 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. ISBN 978-1-4503-9643-1. doi:10.1145/3511861.3511863.