您现在的位置是:首页 > 文章详情

GitHub Copilot:Agent 觉醒

日期:2025-02-10点击:209

本文翻译自: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 InsidersGitHub 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 的最终状态将改变团队管理关键但日常任务的方式,例如修复错误或创建和维护自动化测试。因为最终,一切都是关于通过让他们专注于重要的事情来赋予开发者力量,并让协作者做其余的工作。别担心,我们会保持耐心,所以代理不会“黑化”。

原文链接:https://www.oschina.net/news/332928/github-copilot-the-agent-awakens
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章