技术速递|Agent 模式:对所有用户开放,并支持 MCP

360影视 欧美动漫 2025-04-24 08:31 2

摘要:Agent 模式正在向所有 VS Code 用户推广!它充当一个自主的配对编程助手,能够根据你的指令执行多步编码任务,例如分析代码库、提出文件修改建议以及运行终端命令。它能够响应编译和语法检查错误,监控终端输出,并在一个循环中自动修正,直到任务完成。它还可以使

M

作者:Isidor Nikolic

翻译/排版:Alan Wang

Agent 模式正在向所有 VS Code 用户推广!它充当一个自主的配对编程助手,能够根据你的指令执行多步编码任务,例如分析代码库、提出文件修改建议以及运行终端命令。它能够响应编译和语法检查错误,监控终端输出,并在一个循环中自动修正,直到任务完成。它还可以使用第三方工具,使其能够与外部 MCP 服务器或 VS Code 扩展进行交互,从而执行各种各样的任务。

适用于所有用户

打开聊天视图,登录 GitHub,在设置中启用 chat.agent.enabled,然后在“聊天模式”下拉菜单中选择“Agent”。如果没有看到该设置,请更新到最新版 VS Code 后重新加载。接下来的几周内,我们将默认向所有用户启用该功能——无需再进行任何设置。

Agent 模式特别适用于以下场景:

你的任务包含多个步骤:Agent 会编辑代码、运行终端命令、监控错误,并不断迭代以解决出现的问题。

你不确定修改范围:Agent 会自动确定相关文件和上下文。

你的任务需要与外部应用或数据交互:Agent 可与 MCP 服务器和 VS Code 扩展集成。

另一方面,当任务范围明确、你希望快速完成、或需要更精细地控制大语言模型请求数量时,建议使用编辑模式(Edit Mode)。

我们打造了一个统一的聊天体验,整合了“聊天”和“编辑”视图,带来了诸如:会话历史、聊天窗口独立显示、以及简化的工作集视图等优势。这些功能现在在 Agent 模式下也全部可用。

我们持续收到了用户们的精彩反馈(请继续与我们分享!),这些反馈启发了我们进行许多改进。最值得一提的包括:

撤销操作现在会还原到上一次调用 edit file工具前的状态

支持在同一个工作区中开启多个 Agent 会话(在各会话不修改相同文件的情况下效果最佳)

Agent 现在可以创建和编辑 notebooks

支持工具调用的自动批准(终端自动批准功能将于 4 月推出)

大量提升使用体验的优化和 bug 修复

我们也在将 “提问(ask)” 和 “编辑(edit)” 的体验逐步向类似 Agent 模式的架构演进。这一变更旨在统一 ask/edit/agent 模式,使它们都具备智能体能力,从而提升整体使用体验。通过这一改进,编辑模式将使用 edit_file工具以提高响应速度,而编辑和提问模式都将可以使用#codebase,这是一个具备 Agent 能力的代码库搜索功能。因此,不支持工具调用的语言模型将不再适用于编辑模式。

想了解更多有关 Agent 工作原理的信息,可以阅读我们之前发布的文章。

请继续与我们分享!

就像 VS Code 扩展可以帮助你自定义工作流程一样,Agent 的可扩展性也允许你根据需求定制 Agent 的能力。借助这种可扩展性,Agent 可以执行浏览器操作(例如 AI 网页调试)、连接你的聊天和笔记应用、与数据库交互、从设计系统中获取上下文、从 GitHub 获取问题和仓库信息,还可以与你的云平台集成。Agent 模式的强大之处在于它可以接入多种工具,并且用户可以灵活地添加或移除这些工具。我们目前已推出预览版的 Agent 扩展功能,所有用户都可以使用。

Agent 模式当前可以使用以下几类工具:

由 VS Code 提供的内置工具(下图中为蓝色),支持 Agent 执行如下操作:搜索工作区、应用代码更改、运行终端命令、捕获编辑器中的编译或语法错误、抓取网页内容(使用#fetch手动触发)等。

由 MCP 服务器提供的工具(下图中为绿色)。

由 VS Code 扩展提供的工具(下图中为绿色)。

当 VS Code 团队在 2016 年发明语言服务器协议(LSP)时,我们的目标是标准化语言服务器与开发工具之间的通信方式。我们很自豪地看到,LSP 已成为被广泛采纳的标准,成功实现了当初的愿景。

最近,LSP 背后的理念又启发了一个新的协议:模型上下文协议(MCP),它旨在标准化应用程序向大语言模型(LLM)提供上下文的方式。

如今,VS Code 的 Agent 模式中已经开始使用由 MCP 服务器提供的工具,我们也由此完成了一个完整的闭环:从 VS Code 出发,又回到 VS Code。

2016

语言服务器协议

LSP 背后的理念

核心在于开发者的控制权

并不是每个任务都需要你在 Agent 模式中添加的所有工具。就像任何 AI 工作流程一样,越具体的指令通常会带来更好的结果。我们建议你使用工具管理界面,根据具体场景启用所需的工具,或者在提示词中通过输入 #来明确引用某个工具。

为了让你拥有完全的控制权,每次工具的调用都会在界面中透明显示,并需要你批准(只读的内置工具除外)。你可以选择仅在当前会话中允许某个工具使用,或对整个工作区、甚至所有未来的调用都予以允许。

如果你希望减少中断,让 Agent 始终可以自由使用所有工具,同时又想保证安全性,推荐使用 Dev Containers 扩展。这样可以将所有由 Agent 发起的更改限制在容器环境中(例如,如果你允许的话,Agent 仍然可以将更改推送到远程仓库)。

Dev Containers

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers

快速开始

要根据你的工作流程自定义 Agent,可以点击聊天输入框旁的“工具”图标,然后按照“添加更多工具(Add More Tools…)”的流程操作。另外,你也可以阅读我们的 MCP 服务器文档,其中介绍了配置格式、如何添加 MCP 服务器,或者如何从现有的 MCP 客户端应用(如 Claude Desktop)导入 MCP 服务器。VS Code 支持使用标准输入/输出(stdio)和服务器发送事件(sse)作为 MCP 服务器的通信方式。

MCP 的官方服务器仓库是一个很好的起点,里面包含了官方及社区贡献的服务器,展示了 MCP 的多种用途。如果你想安装贡献了工具的扩展,请打开“扩展视图”,并使用 @tag:language-model-tools进行搜索。

作为开发者,你可以通过创建一个 MCP 服务器来扩展 Agent;如果你是扩展作者,还可以将工具贡献给你的 VS Code 扩展。有关编写工具的指南和最佳实践,请参考这些文档。

MCP 服务器文档

官方服务器仓库

将工具贡献给你的 VS Code 扩展

https://marketplace.visualstudio.com/search?term=@tag:language-model-tools&target=VSCode&category=All categories&sortBy=Relevance

这些文档

接下来的计划

Agent 模式每天都在不断改进,为了尽早体验这些新功能,可以安装 VS Code Insiders 版本。使用 VS Code Insiders 并在我们的代码仓库中提供反馈,是帮助我们改进产品的最佳方式。接下来,我们计划进行以下工作:

支持使用自定义工具集和指令自定义模式

提供更快的代码应用体验

将 MCP 支持从工具扩展到提示、资源以及最新的规范更新

仅对更改的代码块进行编辑流式传输,以提高速度

增加检查点功能,便于在 Agent 模式会话中轻松返回至特定步骤

整体性能和服务质量提升

确保你已经更新到最新的 VS Code 稳定版,设置中启用 chat.agent.enabled,并从模式下拉菜单中选择“Agent”。今天就试试吧,告诉我们你的想法!你可以在这里找到文档。

编码愉快!(用现在的 MCP 和扩展功能)!

VS Code Insiders

我们的代码仓库

指令

这里

来源:opendotnet

相关推荐