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]。
此条目可参照英语维基百科相应条目来扩充。 (2022年8月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]
各界反应
GitHub承认,该工具在输出部分代码时会逐句复制,这会导致对输出的代码是否属于合理使用的争议,并可能侵犯原始所有者的版权。[16]2022年6月,软件自由保护组织宣布将停止在自己的项目中使用GitHub服务,[17]并控诉GitHub在训练代码时忽视软件许可证。[18]
2021年7月28日,自由软件基金会(FSF)发表了一篇呼吁资助来探讨GitHub Copilot相关哲学与法律问题的白皮书。[19]
GitHub Copilot是云计算服务,需要持续和GitHub Copilot服务器通讯以正常使用。[20]这种不透明的架构引发了对数据挖掘和按键遥测的担忧。[21][22]
计算机协会于2022年8月发布的一篇论文评估了GitHub Copilot使用的技术Codex可能会对新手程序员的教育产生的影响。[23]
参考文献
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.