17611538698
webmaster@21cto.com

GitHub 推出新的编码代理

资讯 0 34 12小时前
特色图片:GitHub 推出其编码代理

导读:在昨天举行的微软 Build 大会上,GitHub Copilot Coding Agent 首次亮相。

今年早些时候,GitHub曾预告Project Padawan将推出,这是一个旨在协助软件工程师并代表他们处理代码审查、重构、故障排除等日常任务的代理程序。

昨天(5 月 19 日),在年度Microsoft Build大会上,GitHub 发布了该编码代理程序的首个版本,名为 GitHub Copilot Coding Agent。这款新的软件工程 (SWE) 代理程序将完全集成到 GitHub 体验中,并能够接收 GitHub 问题并自主处理。将于今日开始向 Copilot Enterprise 和 Copilot Pro+ 用户推出。 

由于编码代理需要大量的计算能力,它将使用 GitHub Actions 在云端运行。一旦开发人员将问题分配给代理,它就会在 GitHub Actions 中启动一个可定制的开发环境来处理拉取请求。 

然而,未经人工批准,代理将无法运行任何 CI/CD 工作流。它只能推送到自己创建的分支,而无法触及默认分支和开发者创建的其他分支。开发者可以限制代理可以访问的 MCP 服务器和网站,此外,为了进一步提升审核效率,请求代理打开拉取请求的开发者不能亲自批准。

图片


 “在当今世界,代理的信任度并不如人类开发者,”GitHub 首席执行官Thomas Dohmke告诉我们。“这几乎就像你不经过面试、背景调查之类的程序就让某人加入你的团队一样。因此,我们认为代理需要身处一个比人类开发者受到更多控制的环境中。”

目前,它由 Anthropic 的 Claude Sonnet 3.7 提供支持,因为正如 Dohmke 告诉我的那样,团队认为该模型目前具有“代码质量和匹配开发人员偏好的最佳组合”。

Dohmke 最近谈到Copilot 正在成为开发者的同侪。从很多方面来看,这确实正在发生。 

“工作流程是这样的:作为一名开发者,你仍然会花大部分时间(最好是在 VS Code 上),构建你喜欢的软件,做你喜欢做的事情,”他在今天发布公告前的一次采访中说道。“当你有任务,或者有人给你分配了一个 GitHub 问题,或者收到了 bug 报告时,你会把这些交给编码代理。然后,你会在云端运行一些代理会话,而你的本地机器则可供你使用,处于心流状态。希望能做一些神奇的事情。”

特色图片:GitHub Copilot 希望成为您的同行程序员

开发者可以使用 GitHub.com、GitHub Mobile 或 GitHub CLI 将问题分配给代理,就像交给其他同事一样。然后,代理会添加👀 表情符号并开始工作。开发者可以通过在会话日志中查看代理的推理步骤和代码验证工作来监控进度。

GitHub 强调,所有这些功能最适合那些定义明确的请求,通常只需一个 GitHub 问题即可解决。“该代理擅长处理经过良好测试的代码库中低到中等复杂度的任务,从添加功能、修复错误到扩展测试、重构代码和改进文档,”Dohmke 说道。

从代码完成到编码代理

图片

这款新代理是对 Copilot 现有代理模式的补充,该模式在 IDE 中运行。代理模式还可以从头编写代码、编辑现有代码库并根据需要使用工具。顺便说一下,此代理模式以前仅在 VS Code 中可用,但现在也适用于 JetBrains、Eclipse 和 Xcode。

Dohmke 认为当前的产品是一个连续的范围,从代码完成和代理模式(涵盖编码的内部循环)到编码代理,再到编码代理,他强调说。 

他解释说:“想象一下,编码代理创建了一个拉取请求,并且已经创建了五次提交。它快完成了,现在你需要做出决定:是要持续提示它到达你想要的位置吗?还是直接使用 GitHub CLI 快速签出该拉取请求?打开 VS Code(无论是否使用代理模式),进行更改,然后推送回去?拉取请求提供了一个理想的点,代理可以帮你快速完成剩下的工作,然后向同一个拉取请求提交另外几个提交,为合并做好准备。” 

微软的 SRE 代理


除了编码代理之外,微软本周还为 Azure 推出了一个视觉可靠性工程 (SRE) 代理,它实际上可以使用新的 GitHub SWE 代理来自主修复问题。


“关键在于它可以全天候监控你的系统,并自动排除出现的问题,”微软开发者部门副总裁兼产品负责人Amanda Silver告诉我。“它可以与你的 GitHub 工作流程协同工作。因此,一旦找到问题的根本原因,它实际上可以自动尝试修复它,[…],但它也可以将这些问题记录到 GitHub。因此,我们还拥有这种非常好的互动,你可以让 SRE 代理监控你的生产系统。它发现问题后,会将该问题作为问题记录到 GitHub,然后 SWE 代理(我们正在推出的 GitHub Copilot 编码代理)可以接收该问题并继续进行修复。”


Silver 指出,该 SRE 代理基于微软自己开发并在内部使用的内部代理。其数据基于公司为帮助工程师排除 Azure 服务故障而提供的相同指导。

微软还与 New Relic 合作,将其应用程序性能监控 (APM) 服务的数据引入此工作流程。该代理还可以与 ServiceNow、PagerDuty和其他事件管理系统协作。

DevOps 的乐趣


西尔弗说,所有这一切都是为了让DevOps重获乐趣。

“我们认为这整个类别实际上就是‘代理 DevOps’,是 DevOps 整体的下一个阶段,”Silver 说。“在这个世界中,我们看到 AI 代理被嵌入到开发的每一个阶段:从规划到生产,从编码到部署。这将真正有助于加快软件交付速度,提高质量,并带来更多乐趣。”

福利:VS Code Copilot 扩展开源


编码代理无疑是昨天 GitHub 公告的亮点。但值得注意的是,GitHub 还将开源 VS Code GitHub 扩展。VS Code 已经开源,许多开发人员依赖的扩展也同样开源。Copilot 扩展(包括其系统提示符)现在将与 VS Code 位于同一个 GitHub 存储库中。


“我认为这里的关键在于,这将真正促进生态系统与我们共同发展,”Silver 告诉我们。“VS Code 一直是开源的,而扩展正是 VS Code 的魔力所在。我认为,显然,人工智能辅助编码领域正在发生大量的创新,因此我们希望确保 VS Code 继续成为所有这些创新的中心。”


特别值得开发者注意的是,适用于 Apple Xcode IDE 的 Copilot Extension已经开源


编辑:场长

相关链接:

https://github.blog/news-insights/product-news/github-copilot-meet-the-new-coding-agent/

评论