GitHub Copilot Pilot 2021指的是GitHub Copilot的初始技术预览版,GitHub Copilot是由GitHub和OpenAI开发的代码补全和编程AI助手。该预览版于2021年6月29日宣布,允许开发者在Visual Studio Code集成开发环境(IDE)中使用该工具,标志着这款生成式AI软件的首次公开可用。该试点项目是AI辅助编程领域的一个重要里程碑,展示了大型语言模型根据自然语言提示自动补全代码和生成解决方案的能力。
该技术预览版基于OpenAI Codex构建,这是GPT-3的生产版本,并在一个经过筛选的数据集上进行了训练,该数据集包含来自5400万个公共GitHub仓库的159GB Python代码,以及其他公开可用的源代码。该试点项目引发了关于AI生成代码的能力、局限性和法律影响的广泛兴趣和讨论,为Copilot最终于2022年6月商业发布奠定了基础。
公告与初始发布
GitHub于2021年6月29日首次宣布GitHub Copilot,将其作为Visual Studio Code的技术预览版推出。该公告由GitHub首席执行官Nat Friedman发布,他强调了该工具通过减少开发者在重复性编码任务上花费的时间来提供帮助的潜力。该预览版采用邀请制,用户需加入等待列表才能获得访问权限。数周之内,该工具便因其能够根据注释生成代码、自动补全整个函数以及在编程语言之间转换代码的能力而受到关注。
在初始发布之后,GitHub将该试点项目扩展到了其他环境。2021年10月27日,GitHub将Copilot Neovim插件作为公共仓库发布,并于2021年10月29日在JetBrains市场提供该插件。2022年3月29日,GitHub宣布Copilot可用于Visual Studio 2022 IDE。技术预览阶段一直持续到2022年6月21日,当时GitHub宣布Copilot已退出预览阶段,并成为面向个人开发者的订阅制服务。
技术基础
该试点项目由OpenAI Codex提供支持,这是GPT-3的修改版生产版本,并额外在数十种编程语言的GB级源代码上进行了训练。训练数据包括精选的英语文本、公共GitHub仓库以及其他公开可用的源代码。专门针对Python的数据集包含来自5400万个公共仓库的159GB代码。OpenAI的GPT-3由微软(GitHub的母公司)独家授权,这促进了集成。
Copilot的架构依赖于基于云的服务,需要与GitHub Copilot服务器持续通信。这种设计使模型能够处理自然语言提示并实时生成代码建议,但也引发了关于遥测和单个按键数据挖掘的担忧,因为该服务在数据处理方面不够透明。
功能与能力
在试点期间,Copilot展示了几个关键功能。当以自然语言提供编程问题时,它可以生成解决方案代码,用英语描述输入代码,并在编程语言之间转换代码。该工具还能将代码注释转换为可运行代码,并为代码块、重复部分以及整个方法或函数提供自动补全。
GitHub报告称,Copilot的自动补全功能大约有一半时间准确。例如,对于某些Python函数头代码,Copilot在首次尝试时正确自动补全函数体其余部分的概率为43%,在十次尝试后为57%。这些功能使开发者能够通过减少阅读文档的时间来熟悉不熟悉的编码框架和语言。
演进与模型选择
最初,Copilot完全由OpenAI Codex提供支持。2023年11月,Copilot Chat更新为使用OpenAI的GPT-4模型。2024年,Copilot开始允许用户在不同的LLM之间进行选择,包括Gemini和Claude。这种灵活性标志着从单一模型方法向多模型平台的转变,使开发者能够选择最适合其任务的模型。
2025年2月6日,GitHub宣布了“代理模式”,这是Copilot的一种更自主的操作模式。给定一个编程任务,它会尝试通过用户计算机上的Visual Studio实例执行命令来完成该任务。代理模式可以连接不同的LLM,包括GPT-4o、o1、o3-mini、Claude 3.5 Sonnet和Gemini 2.0 Flash。2025年5月17日,GitHub宣布了“编码代理”,这是一种更自主的模式,用户将任务或问题分配给Copilot,然后Copilot在云中初始化开发环境(由GitHub Actions提供支持)并执行请求,在工作的同时起草拉取请求并推送提交。完成请求后,它会标记用户进行代码审查,作为代理模式的异步版本运行。
许可争议
该试点项目立即引发了关于Copilot生成代码许可的争议。GitHub首席执行官Nat Friedman在2021年6月表示,“在公共数据上训练机器学习系统是合理使用”,但2022年11月提起的集体诉讼称这是“纯粹的推测”,并断言没有法院考虑过这个问题。该诉讼由Joseph Saveri Law Firm, LLP提起,基于多项指控质疑Copilot的合法性,包括违反与GitHub用户的合同,以及根据《加州消费者隐私法案》(CCPA)共享个人身份信息而侵犯隐私。
GitHub承认该工具的一小部分输出可能被逐字复制,这引发了人们的担忧,即输出不足以被归类为合理使用,并可能侵犯原始所有者的版权。2022年6月,软件自由保护组织宣布将停止在其自身项目中使用GitHub的所有功能,指责Copilot无视训练数据中使用的代码许可证。在一条客户支持消息中,GitHub表示,“在公开可用数据上训练机器学习模型在整个机器学习社区中被视为合理使用”,但集体诉讼称这是“错误的”,并指出“无论这个概念在‘机器学习社区’中的接受程度如何,根据联邦法律,这都是非法的。”
2026年9月16日,美国第九巡回上诉法院维持了原告根据《数字千年版权法案》(DMCA)提出的索赔被驳回的裁决。法院认为,原告未能证明GitHub Copilot和OpenAI的Codex从现有作品中移除或更改了版权管理信息,理由是这些系统生成的新作品不包含此类信息。该裁决并未解决原告关于被告违反开源许可条款的单独索赔。
隐私与安全担忧
Copilot基于云的特性引发了隐私担忧。该服务需要与GitHub Copilot服务器持续通信,其不透明的架构加剧了关于遥测和单个按键数据挖掘的担忧。2022年底,GitHub Copilot被指控输出了Quake游戏源代码,且没有作者署名或许可证,这凸显了复制受版权保护材料的潜在风险。
安全研究人员还对Copilot可能生成不安全代码表示担忧,因为该模型是在可能包含漏洞的公共仓库上训练的。这些担忧加剧了关于AI辅助编码工具安全性和可靠性的持续辩论。
反响与影响
该试点项目获得了褒贬不一的评价。许多开发者称赞其能够加快编码速度并减少样板代码,而其他人则批评其准确性和法律模糊性。该试点项目的成功促成了Copilot于2022年6月的商业发布,并使其成为软件开发行业中广泛使用的工具。该试点项目还影响了更广泛的生成式AI领域,展示了大型语言模型在编程中的实际应用。
到2024年,Copilot已发展到支持多种模型,包括GPT-4、Claude 3.5 Sonnet、Gemini 2.0和Grok,反映了AI技术的快速发展。该试点项目的遗产包括塑造了关于AI伦理、版权和软件开发未来的讨论。
参见
- GitHub Copilot
- OpenAI Codex
- GPT-3
- GPT-4
- Claude
- Gemini
- Grok
- 自然语言
- 机器学习
- 深度学习
- Transformer
- 微软
- OpenAI
- Nat Friedman
- 生成式AI
- 大型语言模型
- Codex
- GitHub Copilot正式版
- 2022年6月Copilot正式版
- GitHub Copilot发布