63cce3d127bde4ad4222fef9b6abc902.gif

整理 | 禾木木  

出品 | CSDN(ID:CSDNnews)

2021年 6 月,GitHub 和 OpenAI 推出了 GitHub Copilot 预览版,可根据命名或者正在编辑的代码上下文为开发者提供代码建议,被称为“你的 AI 结对程序员”。

近日,GitHub 宣布,经过去年 12 月以来的短暂测试后,发布了个人版和企业版 Copilot 的全新升级。升级后的 GitHub Copilot 将会具有更高的代码质量,以及更快的响应速度。

GitHub CEO Thomas Dohmke 表示,“Copilot 1.0 版本的故事就此终于告一段落。2021 年 6 月我们发布了预览版,现在回想起来似乎是很久以前的事了。去年夏季,Copilot 全面上市。现在,我们又准备将其推广到组织、公司、团队、部门,或者说每一个人手中。事实上,Copilot 商业版在发布之初就吸引到了 400 多家组织。他们都对此表现出了巨大的兴趣。”

c4b6fd7cdff1e4796d09d8be01fae09a.png

创新方法解决代码问题,成为更好的代码工具

随着模型的不断升级和演进,开发团队也让很多功能成为了现实。例如模型不仅能够补全单行,甚至可以精细补全光标指定的起始和结束位置间的特定单词,还可以创新方法解决代码的问题,给你不同的思路从而让你选择。 

Dohmke 指出,为了提高补全质量,模型还会查看用户正在处理的相关文件,据此建立模型查询。“它不仅能参考用户当前打开的文件中已经键入的内容,还能结合相邻文件与相邻信息做出推理。”

自 GitHub Copilot 发布以来,百万开发者的生产力被重新定义。据研究报告显示,GitHub Copilot 集成了多达 40% 的代码,也让开发者的代码编写效率提升了 55%!从最早的只有 27% 的开发者会使用到现在的 46%,甚至在 Java 中,已达到了 61%。

官方研究显示,在使用 GitHub Copilot 的开发者中,有 90% 表示可以更快地完成任务,其中 73% 的人能够更好地保持顺畅并节省精力。高达 75% 的开发者在使用 Copilot 时感到更有成就感,并且能够专注于工作。

679e523071dd5d40134ecf2048a2d529.png

4e1c299baa0ac26df6866504f48ccc0c.png

GitHub  Copilot 关键技术的改进与升级

GitHub  Copilot 在此次升级后都有哪些关键技术的改进呢?

1、升级后的 AI Codex 模型

将 Copilot 升级为新的 OpenAI Codex 模型,可以在更短的时间内提供更优质的代码建议。

2、更好的上下文理解

Copilot 将引入一种名为 Fill-In-the-Middle(FIM)的新范式,改进了 GitHub Copilot 给出的代码建议。这种方法不仅会考虑代码的前缀,还会利用已知的代码后缀,并在中间留出空白让 GitHub Copilot 来填补。如此一来,Copilot 就有了更多关于预期代码的上下文信息,从而实现与项目其余代码更好的相关性和一致性。

3、轻量级的客户端模型

使用轻量级客户端模型更新了 VS Code 的 GitHub Copilot 扩展,从而提高了建议代码的整体接受率。此外,GitHub Copilot通过使用关于用户上下文的基本信息,将不必要的建议减少了4.5%,从而提高了整体代码接受率。

4、更安全的建议

Copilot 此次更新的最大亮点之一是引入了新的安全漏洞过滤系统,该系统将有助于识别和阻止不安全的建议,例如硬编码凭据、路径注入和 SQL 注入。

一旦发现漏洞,它会自动提供更安全的补全建议。

新系统采用的是通过 LLM 来近似静态分析工具的操作。凭借着强大的的计算资源和先进的 AI模 型,GitHub Copilot 甚至可以在不完整的代码片段中,检测到易受攻击的模式。

210ff682d594f5a066e5237f4a15240a.png

实时阻止系统的示例

通过实时阻止在编辑器中的不安全建议,GitHub 还可以提供一些针对中毒数据集攻击的抵抗力,这些攻击旨在暗中训练 AI 助手提出包含恶意负载的建议。

目前,新系统仍在培训中,从而更好的区分易受攻击和非易受攻击的代码模式,因此 AI 模型在安全性能有望在不久的将来逐步提高。

fab7dca6e6c8a198348ff7aa12eccf2f.png

GitHub Copilot for Business 上线

GitHub Copilot 如此受欢迎,越来越多的企业也在为团队购买 GitHub Copilot。企业版的 Copilot 都有哪些功能呢?

1、AI 赋能

借助 AI 让开发者更快地构建软件、更长时间地沉浸在“心流”中、并以创新的方式解决问题,从而提高代码建议的质量。

2、简单的许可证管理

管理员可以为他们的团队启用 GitHub Copilot,并选择哪些组织、团队和开发者可以获得许可证。

3、组织范围内的政策管理

您可以轻松地设置政策控制,代表你的组织强制执行公共代码匹配用户设置。

4、安全守护代码

在企业版 GitHub Copilot 上,将不会保留代码片段,或存储、共享您的代码,无论数据是否来自公有库、私有库、非 GitHub 存储库还是本地文件。 

GitHub 同时宣布,Copilot 现已支持代理连接,包括使用自签名证书的连接。其 AI 驱动的 Copilot 代码补全工具,现由 OpenAI 驱动的改进模型提供支持。在通过 Azure OpenAI Service 发布以来,该团队一直在不断完善这套模型并添加新的功能。他将整个过程比作硬件业务中的规格调整,一切都是为了让模型更加强大,之后团队才能将成果引入 Copilot。

随着模型的演进,开发团队也让很多新功能成为了现实。例如“中间填充”,该模型不仅能够补全单行,甚至可以精细补全光标指定的起始和结束位置间的特定单词。

Dohmke指出,为了提高补全质量,模型还会查看用户正在处理的相关文件,据此建立模型查询。“它不仅能参考用户当前打开的文件中已经键入的内容,还能结合相邻文件与相邻信息做出推理。”

通过这些最新更新,开发团队又在另一个模型的帮助下,让 Copilot 获得了从返回代码中识别常见安全漏洞的能力。一旦发现漏洞,它会自动提供更安全的补全建议。

光是变得更好还不够,整个过程还必须要变得更快。Dohmke 提到,开发团队一直在努力改善延迟。GitHub 的数据显示,一旦 Copilot 在生成代码时耗时过长,开发人员就会很快变得焦躁不安。

Dkohmke 预计,Copilot 很快就能为开发人员生成 80% 的代码。并表示 Copilot 属于专业开发辅助产品,所以用户对于生成代码的要求肯定会更高。考虑到当前模型经常会输出不正确的代码,项目团队还是希望先把开发辅助方面的工作做好。

综合以上的改进和升级,你会为此买单吗?

参考链接:

https://techcrunch.com/2023/02/14/githubs-copilot-for-business-is-now-generally-available/

https://www.bleepingcomputer.com/news/security/github-copilot-update-stops-ai-model-from-revealing-secrets/

 
 

624d6e3d2c9a3357ce4e17d1205c387c.gif

 
 

b735bbd0a1c48f155f28422f0e6a22fd.png

☞数仓巨头在中国落幕,Teradata 退出国内市场!
☞Google BigQuery 创始工程师:大数据已“死”
☞源创者说 | 从技术开放到产业连接,开源成就广泛连接的生态
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐