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.