GitHub Copilot:Agent 觉醒
本文翻译自:https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/
当我们于2021年推出GitHub Copilot时,我们有一个明确的目标:通过一个帮助开发者编写更好代码的AI编程助手,让开发者的生活变得更轻松。这个名字反映了我们的信念,即人工智能(AI)不会取代开发者。相反,它始终站在开发者身边。而且,就像任何优秀的副驾驶一样,Copilot也可以独立飞行:例如,在提供PR回复、自动修复安全漏洞或头脑风暴如何实现问题解决方案时。
今天,我们用更加强大的代理式人工智能(agentic AI)升级了GitHub Copilot——推出代理模式(agent mode),并发布Copilot Edits的GA版本,两者均已在VS Code中上线。
我们在模型选择器中为所有Copilot用户增加了Gemini 2.0 Flash。我们还首次展示了Copilot的新自主代理,代号为Project Padawan。从代码补全、聊天、多文件编辑到工作空间和代理,Copilot将人类置于软件开发这一创造性工作的中心。AI帮助处理你不想做的事情,这样你就有更多时间做自己想做的事情。
代理模式 (Agent mode) 进入预览阶段
GitHub Copilot 的新代理模式能够迭代自己的代码,识别错误并自动修复。它可以建议终端命令并要求您执行它们。它还可以分析运行时错误并具有自我修复功能。
在代理模式下,Copilot 不仅会迭代自己的输出,还会迭代输出结果。它会一直迭代,直到完成所有必要的子任务以完成您的提示。现在,Copilot 不仅能够执行您请求的任务,还能够推断出一些未指定但也是实现主要请求所必需的额外任务。更好的是,它能够捕捉到自己的错误,让您无需从终端复制/粘贴回聊天中。
以下是一个示例,展示了 GitHub Copilot 如何构建一个用于跟踪马拉松训练的 Web 应用程序:https://www.youtube.com/embed/of--3Fq1M3w?feature=oembed
要开始使用,您需要下载 VS Code Insiders,然后为 GitHub Copilot Chat 启用代理模式设置:
然后,在 Copilot 编辑面板中,从“编辑”切换到模型选择器旁边的“Agent”:
代理模式将改变开发者在使用编辑器时的工作方式;因此,我们将其带给 Copilot 支持的所有 IDE。我们也知道今天的 Insiders 版本并不完美,并欢迎您在接下来的几个月里提供反馈,以便我们改进 VS Code 和底层代理技术。
Copilot Edits 在 VS Code 中已正式 GA
去年10月在GitHub Universe上宣布的Copilot Edits,结合了Chat和Inline Chat的优点,具有对话流程和能够在您管理的文件集中进行行内更改的能力。您之前提供的反馈在GitHub Universe上对于将此功能作为GA版本发布到VS Code至关重要。感谢!
在Copilot Edits中,您指定要编辑的一组文件,然后使用自然语言向GitHub Copilot提出您所需的内容。Copilot Edits通过为快速迭代设计的UI,在您的代码空间中对多个文件进行行内更改。在审查建议的更改、接受可行的更改并进行后续询问时,您始终保持在代码的流程中。
在这背后,Copilot Edits 利用双模型架构来提升编辑效率和准确性。首先,一个基础语言模型会考虑 Edits 会话的完整上下文来生成初始编辑建议。您可以在以下基础语言模型中选择您偏好的一个:OpenAI 的 GPT-4o、o1、o3-mini、Anthropic 的 Claude 3.5 Sonnet,以及现在新增的 Google 的 Gemini 2.0 Flash。为了获得最佳体验,我们开发了一个推测性解码端点,针对快速应用文件中的更改进行了优化。基础模型提出的编辑建议会被发送到推测性解码端点,该端点随后将在编辑器中直接提出这些更改。
Copilot Edits之所以有效,是因为它将控制权交给了您,从设置正确上下文到接受更改。整个过程是迭代的:当模型出错时,您可以审查多个文件中的更改,接受好的更改并迭代,直到与Copilot一起找到正确的解决方案。接受更改后,您可以运行代码以验证更改,并在需要时在Copilot Edits中撤销更改,以回到先前的有效工作状态。Copilot Edits位于次级侧边栏(默认位于右侧),这样您在审查建议的更改时可以与主侧边栏中的视图(如资源管理器、调试或源代码控制视图)进行交互。例如,您可以在左侧的测试视图中运行单元测试,同时使用右侧的Copilot Edits视图,这样在每次迭代中,您都可以验证Copilot Edits提出的更改是否通过了您的单元测试。
通过语音在使用 Copilot 修改时是一种自然的体验。只需与 Copilot 对话,就能使互动变得顺畅且具有对话性。这几乎就像是与一位在该领域具有专业知识的同事互动,使用你在现实生活中结对编程时相同的迭代流程。
接下来在我们的路线图上,我们将改进“应用更改”的投机解码端点性能,支持从Copilot Chat过渡到Copilot Edits,通过保留上下文来实现,向工作集建议文件,并允许您撤销建议的块。如果您想成为第一批体验这些改进的人,请确保使用VS Code Insiders和GitHub Copilot Chat扩展的预发布版本。为了帮助我们改进这个功能,请在我们的仓库中提交问题。
除了VS Code的GA之外,Copilot Edits现在也在Visual Studio 2022中处于预览阶段。
Padawan项目:GitHub上的SWE代理
我们激动地与大家分享我们自主开发的SWE(软件工程师)智能代理,以及我们设想这类代理将如何融入GitHub用户体验。
当我们在代号Project Padawan的产品今年晚些时候发布时,您将可以直接将问题分配给GitHub Copilot,使用任何GitHub客户端,并让它生成经过全面测试的拉取请求。一旦任务完成,Copilot将指派人类审阅者对PR进行审核,并努力解决他们提出的反馈。从某种意义上说,这就像将Copilot作为贡献者引入GitHub上的每一个仓库。
https://www.youtube.com/embed/VWvV2-XwBMM?feature=oembed
该功能背后,Copilot会为分配给它的每个任务自动启动一个安全的云沙盒。然后它异步克隆仓库,设置环境,分析代码库,编辑必要的文件,并构建、测试和检查代码。此外,Copilot还会考虑问题或PR中的任何讨论,以及仓库中的任何自定义指令,以便它理解任务的全貌意图,以及项目的指南和约定。
就像我们之前在 Copilot 扩展和 Copilot 模型选择器中做的那样,我们也将提供机会将集成到这个 AI 原生工作流程中,并与合作伙伴和客户紧密合作,形成一个紧密的反馈循环。我们相信 Project Padawan 的最终状态将改变团队管理关键但日常任务的方式,例如修复错误或创建和维护自动化测试。因为最终,一切都是关于通过让他们专注于重要的事情来赋予开发者力量,并让协作者做其余的工作。别担心,我们会保持耐心,所以代理不会“黑化”。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RWKV 社区动态 2025 年 1 月
欢迎大家收看《RWKV 社区最新动态》,本期内容收录了 RWKV 社区 2025 年 1 月的最新动态。 只需 3 分钟,快速了解 RWKV 社区 1 月都有哪些新鲜事! 1 月动态省流版(TL;DR) RWKV 学术研究动态 新论文: Rate-Aware Learned Speech Compression(RWKV 语音压缩) 新论文: RWKV-UNet(RWKV 医学图像分割) 新论文: FSSC(RWKV 触觉传感跨域适应) 新论文: TRP(RWKV 知识图谱补全) 新论文: TCVADS(RWKV 视频异常检测) 新论文: RWKV Voice Dialog System(RWKV 语音对话系统) 新论文: Visualrwkv-Hm(RWKV 视觉语言模型) 新论文: AutoGMM-RWKV(RWKV 无线传感器网络安全) 新论文: Revenge of the Fallen?(RWKV 语言理解对比研究) 新论文: Enhancing Transformer RNNs(RWKV 多时间视角增强) RWKV 模型新闻动态 新模型: RKWV-7-1.5B 新模型: ...
- 下一篇
提升测试效能:Zadig 与 Jacoco 集成的最佳实践指南
在软件开发的激烈竞争中,测试效能的提升是确保软件质量与交付速度的关键。Zadig 作为开源 DevOps 平台,与Jacoco 这款 Java 代码覆盖率工具的集成,为解决这一挑战提供了有力支持。本文旨在分享如何通过集成 Zadig 和Jacoco,优化测试流程,提高测试覆盖率,从而显著提升测试效能,助力开发团队高效交付高质量软件。 配置步骤 步骤 1:配置测试任务 在 Zadig 的「测试」模块中新建测试配置,具体步骤如下: 配置依赖的软件包:确保测试运行环境中已安装 JAVA 和 Maven。 配置测试代码所在的代码仓库: 指定测试代码所在的 Git 仓库地址。 配置测试执行脚本:编写测试执行脚本,包括测试执行过程和覆盖率文件生成过程。示例脚本如下: mvn -Dtest=lab.RectangleTest#rotate test #执行指定单元测试 mvn antrun:run@generate-report -Dskip.int.tests.report=false #执行生成报告任务,antrun 配置了生成 Jacoco 报告任务 配置 HTML 报告文件路径:指定生成...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8