跳至內容

GitHub Copilot

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
GitHub Copilot
開發者GitHubOpenAI
目前版本
編輯維基數據連結
作業系統Microsoft WindowsLinuxMacOS、Web
網站github.com/features/copilot

GitHub CopilotGitHubOpenAI合作開發的一個人工智能工具,用戶在使用Visual Studio CodeMicrosoft Visual StudioVimCursorJetBrains整合式開發環境時可以通過GitHub Copilot自動補全代碼[2]。GitHub於2021年6月29日對外公開該軟件[3],GitHub Copilot於技術預覽階段主要面向PythonJavaScriptTypeScriptRubyGo等程式語言[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]

參考文獻

  1. ^ https://marketplace.visualstudio.com/items?itemName=GitHub.copilot.
  2. ^ 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. ^ 4.0 4.1 4.2 4.3 4.4 GitHub Copilot · Your AI pair programmer. GitHub Copilot. [7 April 2022]. (原始內容存檔於2022-06-19). 
  4. ^ Introducing GitHub Copilot: your AI pair programmer. The GitHub Blog. 2021-06-29 [2022-04-07]. (原始內容存檔於2022-06-21) (美國英語). 
  5. ^ GitHub Copilot - IntelliJ IDEs Plugin | Marketplace. JetBrains Marketplace. [2022-04-07]. (原始內容存檔於2022-06-27). 
  6. ^ Copilot.vim, GitHub, 7 April 2022 [7 April 2022], (原始內容存檔於2022-06-13) 
  7. ^ GitHub Copilot now available for Visual Studio 2022. The GitHub Blog. 29 March 2022 [7 April 2022]. (原始內容存檔於2022-06-14) (美國英語). 
  8. ^ GitHub Copilot is generally available to all developers. The GitHub Blog. 21 June 2022 [21 June 2022]. (原始內容存檔於2022-06-23) (美國英語). 
  9. ^ Krill, Paul. OpenAI offers API for GitHub Copilot AI model. InfoWorld. 12 August 2021 [7 April 2022]. (原始內容存檔於2022-04-17) (英語). 
  10. ^ OpenAI Releases GPT-3, The Largest Model So Far. Analytics India Magazine. 3 June 2020 [7 April 2022]. (原始內容存檔於2020-08-04) (美國英語). 
  11. ^ 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. 
  12. ^ OpenAI is giving Microsoft exclusive access to its GPT-3 language model. MIT Technology Review. [7 April 2022]. (原始內容存檔於2021-02-05) (英語). 
  13. ^ OpenAI Announces 12 Billion Parameter Code-Generation AI Codex. InfoQ. [7 April 2022]. (原始內容存檔於2022-07-09) (英語). 
  14. ^ 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). 
  15. ^ Gershgorn, Dave. Can AI learn from any public code online?. The Verge. 2021-07-07 [2023-03-23]. (原始內容存檔於2021-07-11) (美國英語). 
  16. ^ Give Up GitHub: The Time Has Come!. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-24) (英語). 
  17. ^ If Software is My Copilot, Who Programmed My Software?. Software Freedom Conservancy. [2023-03-23]. (原始內容存檔於2023-05-27) (英語). 
  18. ^ 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). 
  19. ^ GitHub Copilot · Your AI pair programmer. GitHub. [2023-03-23]. (原始內容存檔於2023-06-11) (英語). 
  20. ^ CoPilot: Privacy & DataMining · community/community · Discussion #7263. GitHub. [2023-03-23]. (原始內容存檔於2023-02-21) (英語). 
  21. ^ Who Does That Server Really Serve? - GNU Project - Free Software Foundation. www.gnu.org. [2023-03-23]. (原始內容存檔於2023-06-09). 
  22. ^ 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.