1.2 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等编程语言,并于2022年6月21日退出技术预览阶段,作为一项基于订阅的服务提供给个人开发者。GitHub Copilot X是GitHub Copilot的升级版本。
GitHub Copilot由OpenAI Codex提供支持,OpenAI Codex是由人工智能研究实验室OpenAI创建的人工智能模型。OpenAI Codex是GPT-3修改后的生产版本。例如,当给出一个自然语言的程序问题时,Codex能够产生解法代码。它也可以用英语描述输入代码和在不同程序语言之间翻译代码。Codex的GPT-3仅授权给GitHub的母公司微软。
GitHub Copilot的OpenAI Codex接受了经过筛选的基于英语的包含GitHub在内的公开源代码作为数据集的训练。这些数据集包括5400万个公共GitHub存储库的159 GB Python代码。
GitHub Copilot具有协助程序员的功能,包括代码注释、可运行代码的转换,以及自动补全代码块、重复的代码和整个方法或函数。GitHub的报告称,Copilot的自动完成功能大约有一半是准确的。例如,当用户提供Python函数头代码后,Copilot在第一次尝试时有43%的时间正确地自动完成了函数体代码的其余部分,而在10次尝试后有57%的时间正确地自动完成了函数体代码的其余部分。
GitHub Copilot能够帮助程序员节省阅读软件文档的时间,让程序员快速浏览不熟悉的编码框架和语言。