去年 6 月,微软旗下的 GitHub 和OpenAI 推出了 Copilot ,这是一项为 Microsoft Visual Studio 等开发环境中的整行代码提供建议的服务。 Copilot 作为可下载的扩展程序提供,由一个名为 Codex 的 AI 模型提供支持,该模型经过数十亿行公共代码的训练,可以根据现有代码的上下文建议额外的代码行和功能。 Copilot 还可以利用其知识库和当前上下文,根据对开发人员想要完成的目标的描述(例如,“Say hello world”)提出方法或解决方案。
Copilot 以前仅在技术预览版中可用。但在表明该工具将于今年夏天全面上市后,GitHub 今天宣布 Copilot 现在可供所有开发人员使用。如前所述,它将对学生和“经过验证的”开源贡献者免费——从社区中选出的大约 60,000 名开发人员和GitHub 教育计划的学生开始。
GitHub 表示,在预览期间有 120 万人注册。据该公司称,Copilot 现在建议 40% 的新编写代码——高于今年早些时候的 35%。
“在过去的一年里,我们继续迭代和测试工作流程,以帮助推动Copilot 的‘魔力’,”GitHub 产品副总裁 Ryan J. Salva 通过电子邮件告诉 TechCrunch。 “我们不仅使用预览来了解人们如何使用 GitHub Copilot ,而且还安全地扩展了服务。”
借助 Copilot,开发人员可以循环浏览有关 Python、JavaScript、TypeScript、Ruby、Go 和其他数十种编程语言的建议,并接受、拒绝或手动编辑它们。 Copilot 适应开发人员所做的编辑,将特定的编码风格与自动填充样板或重复代码模式相匹配,并推荐与实现代码匹配的单元测试。
除了 Visual Studio Code 之外,Copilot 扩展也可用于 Noevim 和 JetBrains,或者在 GitHub Codespaces 上的云中。
Copilot Explain 是与 Copilot 通用版本相吻合的一项新功能,它将代码翻译成自然语言描述。被描述为一个研究项目,其目标是帮助新手开发人员或那些使用不熟悉的代码库的人。
“虽然很明显Copilot可以帮助开发人员更快地完成任务,但我们正在继续探索超越此范围的更新,帮助开发人员保持流程,专注于更令人满意的工作,并在节省时间的同时节省精神能量,”Salva 说. “作为我们观察到的影响的一个例子,值得分享我们正在进行的一项研究的早期结果。在实验中,我们要求开发人员编写一个 HTTP 服务器——一半使用Copilot ,一半不使用。初步数据表明,开发人员在使用Copilot时不仅更有可能完成任务,而且完成任务的时间也大约缩短了一半。”
由于 AI 模型的复杂性,Copilot 仍然是一个不完善的系统。 GitHub 表示,它已经实施了过滤器来阻止以标准格式显示的电子邮件和攻击性词语,并且它正在构建一个过滤器来帮助检测和抑制从公共存储库中重复出现的代码。但该公司承认,Copilot 可能会产生不安全的编码模式、错误和对过时 API 的引用,或反映其训练数据中不完美代码的习语。
“这只是 AI 驱动的开发工具的开始,因此很高兴看到开发人员在未来几个月和几年内如何使用 Copilot,以及我们如何推进产品,”Salva 继续说道。