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. Gershgorn, Dave. . The Verge. 2021-06-29 [2021-07-06]. (原始内容存档于2021-07-07).
  3. . GitHub Copilot. [7 April 2022]. (原始内容存档于2022-06-19).
  4. . The GitHub Blog. 2021-06-29 [2022-04-07]. (原始内容存档于2022-06-21) (美国英语).
  5. . JetBrains Marketplace. [2022-04-07]. (原始内容存档于2022-06-27).
  6. , GitHub, 7 April 2022 [7 April 2022], (原始内容存档于2022-06-13)
  7. . The GitHub Blog. 29 March 2022 [7 April 2022]. (原始内容存档于2022-06-14) (美国英语).
  8. . The GitHub Blog. 21 June 2022 [21 June 2022]. (原始内容存档于2022-06-23) (美国英语).
  9. Krill, Paul. . InfoWorld. 12 August 2021 [7 April 2022]. (原始内容存档于2022-04-17) (英语).
  10. . Analytics India Magazine. 3 June 2020 [7 April 2022]. (原始内容存档于2020-08-04) (美国英语).
  11. Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James. . 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. . MIT Technology Review. [7 April 2022]. (原始内容存档于2021-02-05) (英语).
  13. . InfoQ. [7 April 2022]. (原始内容存档于2022-07-09) (英语).
  14. Sobania, Dominik; Schweim, Dirk; Rothlauf, Franz. . 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. . The Verge. 2021-07-07 [2023-03-23]. (原始内容存档于2021-07-11) (美国英语).
  16. . Software Freedom Conservancy. [2023-03-23]. (原始内容存档于2023-05-24) (英语).
  17. . Software Freedom Conservancy. [2023-03-23]. (原始内容存档于2023-05-27) (英语).
  18. . www.fsf.org. [2023-03-23]. (原始内容存档于2021-08-11).
  19. . GitHub. [2023-03-23]. (原始内容存档于2023-06-11) (英语).
  20. . GitHub. [2023-03-23]. (原始内容存档于2023-02-21) (英语).
  21. . www.gnu.org. [2023-03-23]. (原始内容存档于2023-06-09).
  22. Finnie-Ansley, James; Denny, Paul; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James. . 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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.