GitHub Copilot

GitHub CopilotGitHubOpenAI合作开发的一个人工智能工具,用户在使用Visual Studio CodeMicrosoft Visual StudioVimCursorJetBrains集成开发环境时可以通过GitHub Copilot自动补全代码[2]。GitHub于2021年6月29日对外公开该软件[3],GitHub Copilot于技术预览阶段主要面向PythonJavaScriptTypeScriptRubyGo等编程语言[3][4]

GitHub Copilot
开发者GitHubOpenAI
当前版本
编辑维基数据链接
操作系统Microsoft WindowsLinuxMacOS、Web
网站github.com/features/copilot

历史

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.