GitHub 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]。
開發者 | GitHub、OpenAI |
---|---|
当前版本 |
|
操作系统 | Microsoft Windows、Linux、MacOS、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]
各界反应
参考文献
- https://marketplace.visualstudio.com/items?itemName=GitHub.copilot.
- Gershgorn, Dave. . The Verge. 2021-06-29 [2021-07-06]. (原始内容存档于2021-07-07).
- . The Verge. 2021-07-07 [2021-07-11]. (原始内容存档于2021-07-11).
- . GitHub Copilot. [7 April 2022]. (原始内容存档于2022-06-19).
- . The GitHub Blog. 2021-06-29 [2022-04-07]. (原始内容存档于2022-06-21) (美国英语).
- . JetBrains Marketplace. [2022-04-07]. (原始内容存档于2022-06-27).
- , GitHub, 7 April 2022 [7 April 2022], (原始内容存档于2022-06-13)
- . The GitHub Blog. 29 March 2022 [7 April 2022]. (原始内容存档于2022-06-14) (美国英语).
- . The GitHub Blog. 21 June 2022 [21 June 2022]. (原始内容存档于2022-06-23) (美国英语).
- Krill, Paul. . InfoWorld. 12 August 2021 [7 April 2022]. (原始内容存档于2022-04-17) (英语).
- . Analytics India Magazine. 3 June 2020 [7 April 2022]. (原始内容存档于2020-08-04) (美国英语).
- 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.
- . MIT Technology Review. [7 April 2022]. (原始内容存档于2021-02-05) (英语).
- . InfoQ. [7 April 2022]. (原始内容存档于2022-07-09) (英语).
- 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).
- Gershgorn, Dave. . The Verge. 2021-07-07 [2023-03-23]. (原始内容存档于2021-07-11) (美国英语).
- . Software Freedom Conservancy. [2023-03-23]. (原始内容存档于2023-05-24) (英语).
- . Software Freedom Conservancy. [2023-03-23]. (原始内容存档于2023-05-27) (英语).
- . www.fsf.org. [2023-03-23]. (原始内容存档于2021-08-11).
- . GitHub. [2023-03-23]. (原始内容存档于2023-06-11) (英语).
- . GitHub. [2023-03-23]. (原始内容存档于2023-02-21) (英语).
- . www.gnu.org. [2023-03-23]. (原始内容存档于2023-06-09).
- 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.