Copilot Workspace是GitHub对人工智能驱动的软件工程的诠释

软件开发的未来是人工智能驱动的集成开发环境吗?至少GitHub 是这样想的。

在今年初秋于旧金山举行的 GitHub Universe 年度大会之前,GitHub 发布了 Copilot Workspace,这是一种开发环境,利用 GitHub 所称的 “Copilot 驱动的代理”,帮助开发人员用自然语言进行头脑风暴、规划、构建、测试和运行代码。 Copilot,GPT4.0,Google Play,Claude,Overleaf, Midjourney, OF, X等等平台现已可通过WildCard订阅。

乔纳森-卡特(Jonathan Carter)是GitHub软件研发团队GitHub Next的负责人,他认为Workspace是GitHub人工智能编码助手Copilot的进化版,是在最近推出的Copilot Chat等功能基础上发展起来的更通用的工具,Copilot Chat可以让开发人员用自然语言询问有关代码的问题。WildCard也支持Claude, Midjourney, Adobe, Patreon等的订阅。

“通过研究,我们发现,在许多任务中,开发人员最大的障碍在于入门,尤其是不知道如何解决【编码】问题,不知道要编辑哪些文件,不知道如何考虑多种解决方案及其权衡。卡特说:”因此,我们希望打造一个人工智能助手,在开发人员开始一个想法或一项任务时就能与他们见面,减少开始时所需的激活能量,然后与他们合作,在整个核心库中进行必要的编辑。

据不完全统计,Copilot 拥有 180 多万付费个人用户和 5 万家企业用户。但卡特预计,像 Workspace 这样具有广泛吸引力的功能扩展将吸引更多用户。

“由于开发人员花费大量时间处理[编码问题],我们相信我们可以通过与人工智能建立’思想伙伴关系’,帮助开发人员提高日常工作能力。你可以把 Copilot Workspace 看作是一种辅助体验和开发环境,它是对现有工具和工作流程的补充,能够简化开发人员的一类任务…我们相信,在不受现有工作流程限制的 AI 原生开发人员环境中,可以实现很多价值。”

毋庸置疑的是,让 Copilot 盈利肯定有内部压力。

据《华尔街日报》报道,Copilot 平均每个用户每月损失 20 美元,有些用户每月给 GitHub 带来的损失高达 80 美元。竞争对手的服务数量也在不断增加。亚马逊的 CodeWhisperer 去年底向个人开发者免费开放。此外还有一些初创公司,如 Magic、Tabnine、Codegen 和 Laredo。

Workspace 由 OpenAI 的 GPT-4 Turbo 模型支持,它可以根据对 GitHub 代码库的注释、问题回复和更大的代码库的了解,制定一个计划来(尝试)消除错误或实现新功能。开发人员会收到修复错误或实现新功能的建议代码,以及验证和测试代码所需的事项列表,还有编辑、保存、重构或撤销代码的控件。

image-20240430093403396

建议的代码可以直接在 Workspace 中运行,并通过外部链接在团队成员之间共享。这些团队成员一旦进入 Workspace,就可以根据自己的需要完善和修改代码。

启动 Workspace 最明显的方式可能是 GitHub 仓库中问题和拉取请求左侧的新 “在 Workspace 中打开 ”按钮。点击它可以打开一个字段,用自然语言描述要完成的软件工程任务,比如 “为这个拉取请求中的变更添加文档”,一旦提交,就会添加到新的专用 Workspace 视图中的 “会话 ”列表中。

image-20240430093529900

Workspace 可以系统地逐步执行请求,创建规范、生成计划,然后执行该计划。开发人员可以深入到这些步骤中的任何一步,详细查看建议的代码和更改,并根据需要删除、重新运行或重新排序这些步骤。

卡特说:“如果你问任何开发人员,他们在新项目中最容易卡壳的地方是什么,你经常会听到他们说是不知道从哪里开始。Copilot Workspace 减轻了这一负担,为开发人员提供了一个开始迭代的计划。

image-20240430093615271

Workspace 将于本周一进入技术预览阶段,并针对包括移动设备在内的一系列设备进行了优化。

重要的是,由于是预览版,Workspace 并不在 GitHub 的知识产权赔偿政策范围内,该政策承诺为面临第三方索赔的客户提供法律费用援助,这些第三方索赔声称他们使用的人工智能生成代码侵犯了知识产权。(众所周知,人工智能生成模型会重复使用它们的训练数据集,而 GPT-4 Turbo 的部分训练数据集就是基于受版权保护的代码)。

GitHub 表示,它还没有决定如何将 Workspace 产品化,但会通过预览版 “更多了解它的价值以及开发者如何使用它”。

我认为更重要的问题是:Workspace 能否解决 Copilot 和其他人工智能驱动的编码工具所存在的问题?

同名代码分析工具的开发商 GitClear 对过去几年中提交到项目仓库的超过 1.5 亿行代码进行了分析,发现 Copilot 导致更多错误代码被推送到代码库,更多代码被重新添加,而不是重复使用和精简,这让代码维护者头疼不已。

在其他地方,安全研究人员警告说,Copilot 和类似工具会扩大软件项目中现有的漏洞和安全问题。斯坦福大学的研究人员发现,接受人工智能编码助手建议的开发人员往往会编写出安全性较低的代码。(GitHub 向我强调,它使用了一个基于人工智能的漏洞预防系统来阻止不安全的代码,此外还使用了一个可选的代码重复过滤器来检测公共代码的重复)。

然而,开发人员并不回避人工智能。

在 2023 年 6 月的一次 StackOverflow 民意调查中,44% 的开发人员表示,他们现在在开发过程中使用人工智能工具,26% 的开发人员计划很快使用。Gartner 预测,到 2028 年,75% 的企业软件工程师将使用人工智能代码助手。

通过强调人工审核,也许 Workspace 确实可以帮助清理人工智能生成的代码所带来的一些混乱。随着 Workspace 进入开发者的手中,我们很快就会知道答案。

“我们开发 Copilot Workspace 的主要目标是利用人工智能降低复杂性,让开发人员能够更自由地表达创造力和进行探索。卡特说:“我们真心相信,人类与人工智能的结合永远优于二者中的任何一方,而这正是我们对 Copilot Workspace 所寄予的厚望。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/585918.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OneFlow新概念清单,AI深度学习的革命性突破(AI写作)

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

kotlinDSL控制的安卓项目导入已存在的模块后sync报错

原因很明显,但是我还找了好久 因为在import时并没有选择groove还是kotlin控制, 所以默认为groovy控制的,然而主项目是由kotlin dsl控制的grale行为。 原因清楚之后,就可以去检查一下,项目里是否包含了settings.gradle和…

基于EBAZ4205矿板的图像处理:03使用VIO调试输出HDMI视频图像

基于EBAZ4205矿板的图像处理:03使用VIO调试输出HDMI视频图像 在zynq调试时VIO是真的方便,特此写一篇博客记录一下 先看效果 项目简介 下面是我的BD设计,vtc用于生成时序,注意,2021.2的vivado的vtcIP是v6.2版本&…

动手学深度学习——softmax分类

1. 分类问题 回归与分类的区别: 回归可以用于预测多少的问题, 比如"预测房屋被售出价格",它是个单值输出。softmax可以用来预测分类问题,例如"某个图片中是猫、鸡还是狗?",这是一个多…

用Docker 创建并运行一个MySQL容器

可以在DockerHub官网上荡:mysql - Official Image | Docker Hub 指令是:docker pull mysql; 因为文件比较大可能时间比较长,我是跟着黑马的课走的 课程提供的有文件,我就用已有的资源了。 在tmp目录里放入mysql.tar包 然后cd进去 输入指令:docker lo…

java技术栈快速复习05_基础运维(linux,git)

Linux知识总览 linux可以简单的理解成和window一样的操作系统。 Linux和Windows区别 Linux是严格区分大小写的;Linux中一切皆是文件;Linux中文件是没有后缀的,但是他有一些约定俗成的后缀;Windows下的软件一般是无法直接运行的Li…

管理能力学习笔记八:Will-Skill矩阵“盘“团队

如何把握带教中的“度”,才能在把事情做好的基础上,又能使员工获得成长呢? 需要做到 合理授权 & 适当辅导 如何做到? 通过使用 意愿-技能矩阵(Will-Skill Matrix) 辨别不同带教方法的适用情形,"盘"…

【Vue 2.x】学习vue之一基础部分

文章目录 Vue 一基础部分第一章1、git两个分支主分支子分支 使用方法方式1:采用命令的方式操作分支方式2:在idea中使用git的分支 向git远程仓库提交时忽略文件使用git时的一些冲突注意事项 2、Vue问题1:什么是Vue?问题2&#xff1…

网站升级提示:我用react+go重构了网站并记录了部署项目简要步骤

先贴出来地址,这是我网站的地址易查网 可能有细心的小伙伴们已经看到了,原来我的网站是这样式的 妥妥的phph5 改造 前端react框架 前段时间学习了react,正愁无处练手,就有人说我的网站很low,我感觉这正是一个好的机会&#xff…

纯血鸿蒙APP实战开发——发布图片评论

介绍 本示例将通过发布图片评论场景,介绍如何使用startAbilityForResult接口拉起相机拍照,并获取相机返回的数据。 效果图预览 使用说明 通过startAbilityForResult接口拉起相机,拍照后获取图片地址。 实现思路 创建CommentData类&#…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二

在本章中,我们将深入探讨 网络的开始和 结束阶段发生的情况, 我将花大量时间回顾一些重要的背景知识,这些知识是熟悉Transformer的机器学习工程师的基础知识。 如果你已经熟悉背景知识,迫不及待地想了解更多,你可以跳到下一节,重点将放在Transformer的核心部分——注意…

nacos(docker部署)+springboot集成

文章目录 说明零nacos容器部署初始化配置高级配置部分访问权限控制命名空间设置新建配置文件 springboot配置nacos添加依赖编写测试controller 说明 nacos容器部署采用1Panel运维面板,进行部署操作,简化操作注意提前安装好1Panel和配置完成docker镜像加…

深入剖析Tomcat(五) 剖析Servlet容器并实现一个简易Context与Wrapper容器

上一章介绍了Tomcat的默认连接器,后续程序都会使用默认连接器。前面有讲过Catalina容器的两大块内容就是连接器与Servlet容器。不同于第二章的自定义丐版Servlet容器,这一章就来探讨下Catalina中的真正的Servlet容器究竟长啥样。 四种容器 在Catalina中…

Unity涂鸦纹理实现

文章目录 前言实现过程UV坐标和UI坐标对齐修改像素代码 前言 心血来潮实现下场景中提供一张纹理进行涂鸦的功能。 最终实现效果: 实现过程 UV坐标和UI坐标对齐 这里的纹理使用了UGUI的Canvas进行显示,所以这里使用一张RawImage。 因为Unity的视口坐标是以左下角…

【Excel】excel计算相关性系数R、纳什效率系数NSE、Kling-Gupta系数KGE

对于采用的数据: B2:B10958是观测值的所在范围 C2:C10958是模型计算值的所在范围 一、相关系数R是用来衡量两个变量之间线性关系强度和方向的统计量。在水文学和气象学中,常用的相关系数是皮尔逊相关系数(Pearson correlation coefficient&am…

Baidu Comate:“AI +”让软件研发更高效更安全

4月27日,百度副总裁陈洋出席由全国工商联主办的第64届德胜门大讲堂,并发表了《深化大模型技术创新与应用落地,护航大模型产业平稳健康发展》主题演讲。陈洋表示,“人工智能”成为催生新质生产力的重要引擎,对于企业而言…

线上线下收银一体化,新零售POS系统引领连锁门店数字化转型-亿发

在市场竞争日益激烈的背景下,没有哪个商家能够永远屹立不倒。随着互联网技术的快速发展,传统的线下门店面临着来自电商和新零售的新型挑战。实体零售和传统电商都需要进行变革,都需要实现线上线下的融合。 传统零售在客户消费之后就与商家失…

网络基础(1)网络编程套接字UDP

要完成网络编程首先要理解原IP和目的IP,这在上一节已经说明了。 也就是一台主机要进行通信必须要具有原IP和目的IP地址。 端口号 首先要知道进行网络通信的目的是要将信息从A主机送到B主机吗? 很显然不仅仅是。 例如唐僧要去到西天取真经&#xff0…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段: scatter phase:分散阶段,coordinating node会把请求分发到每一个分片gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结…

粘合/粘接/胶合聚酰亚胺PI材料使用UV胶,用的UV LED灯的波长范围及功率怎么选择?(三十九)

UV胶固化设备的UV LED波长范围是多少才能与UV胶匹配? UV胶固化设备的UV LED波长范围与UV胶的匹配性主要取决于所使用的UV胶的固化特性。不同的UV胶可能对UV光的波长有不同的要求。因此,要确定与UV胶匹配的UV LED波长范围,首先需要了解所使用的…