GitHub Copilot 全新升级,工作效率提升 55%
创始人
2024-05-30 08:52:48
0

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

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

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

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

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

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

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

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

02、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 甚至可以在不完整的代码片段中,检测到易受攻击的模式。

实时阻止系统的示例

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

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

03、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 属于专业开发辅助产品,所以用户对于生成代码的要求肯定会更高。考虑到当前模型经常会输出不正确的代码,项目团队还是希望先把开发辅助方面的工作做好。

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...