GitHub Copilot

GitHub Copilot是GitHub和OpenAI合作开发的一个人工智能工具，用户在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains集成开发环境時可以通過GitHub Copilot自动补全代码。GitHub于2021年6月29日對開公開该软件，GitHub Copilot於技术预览阶段主要面向Python、JavaScript、TypeScript、Ruby和Go等编程语言。

历史 
2021年6月29日，GitHub 宣布 GitHub Copilot 在 Visual Studio Code 开发环境中进行技术预览。

2021年10月26日，GitHub Copilot 作为插件在 JetBrains 市场上发布。

2021年10月27日，GitHub 发布了 GitHub Copilot Neovim 插件作为公共存储库。

2022年3月9日，Github官方宣布Copilot适用于Visual Studio 2022 IDE。

2022年6月21日，GitHub 正式宣布 Copilot 退出“技术预览版”，并作为基于订阅的服务提供给个人开发者。此外，GitHub 提到 Copilot 将继续“对经过验证的学生和流行开源项目的维护者免费”，并且在2022年晚些时候提供给公司。

特性 
GitHub Copilot 由 OpenAI Codex 提供支持，OpenAI Codex 是由人工智能研究实验室 OpenAI 创建的人工智能模型。OpenAI Codex 是 GPT-3（生成型已训练变换模型 3） 的修改后生产版本，GPT-3 是一种使用深度学习生成类人类文本的语言模型。例如，当给出一个自然语言的程序问题时，Codex能够产生解法代码。它也可以用英语描述输入代码和在不同程序语言之间翻译代码。Codex的GPT-3仅授权给 GitHub 的母公司微软。

Copilot的OpenAI Codex接受了一系列英语语言、公共 GitHub 存储库和其他公开可用源代码的训练。这包括来自 5400 万个公共 GitHub 存储库的 159 GB Python 代码的过滤数据集。

根据它的网站，GitHub Copilot包括协助程序员的功能，如从代码注释到可运行代码的转换，和自动补全代码块、重复的代码、以及整个方法或函数。GitHub 报告称，Copilot 的自动完成功能大约有一半时间是准确的； 例如，當用戶提供Python 函数头代码後，Copilot 在第一次尝试时有 43% 的时间正确地自动完成了函数体代码的其余部分，而在十次尝试后有 57% 的时间正确地自动完成了函数体代码的其余部分。

GitHub 表示，Copilot 的功能能夠幫助程序员减省阅读软件的时间，快速瀏覽不熟悉的编码框架和语言。

各界反应

许可证争议 
GitHub承认，该工具在输出部分代码时会逐句复制，这会导致对输出的代码是否属于合理使用的争议，并可能侵犯原始所有者的版权。2022年6月，软件自由保护组织宣布将停止在自己的项目中使用GitHub服务，并控诉Github在训练代码时忽视软件许可证。

FSF白皮书 
2021年7月28日，自由软件基金会（FSF）发表了一篇呼吁资助来探讨Github Copilot相关哲学与法律问题的白皮书。

隐私问题 
Github Copilot是云计算服务，需要持续和Github Copilot服务器通讯以正常使用。这种不透明的架构引发了对数据挖掘和按键遥测的担忧。

教育问题 
计算机协会于2022年8月发布的一篇论文评估了Github Copilot使用的技术Codex可能会对新手程序员的教育产生的影响。

参考文献

人工智能应用
GitHub
OpenAI