现已发布!阅读关于 11 月新增功能和修复的内容。

Agent 模式:所有用户均可用,并支持 MCP

2025 年 4 月 7 日,作者:Isidor Nikolic

Agent 模式正在面向所有 VS Code 用户推出!Agent 可作为独立的结对编程伙伴,执行多步骤编码任务,例如分析您的代码库、建议文件编辑以及运行终端命令。它会响应编译和 lint 错误,监控终端输出,并以循环方式自动更正,直到任务完成。Agent 还可以使用贡献的工具,使其能够与外部 MCP 服务器或 VS Code 扩展进行交互,执行各种任务。

所有用户均可用

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

Agent 模式非常适合以下场景:

  • 您的任务涉及多个步骤。Agent 可以编辑代码、运行终端命令、监控错误并进行迭代以解决出现的任何问题。
  • 您不确定更改的范围。Agent 会自动确定相关文件和上下文。
  • 您的任务需要与外部应用程序或数据进行交互。Agent 可以与 MCP 服务器和 VS Code 扩展集成。

另一方面,当任务范围明确、您希望快速完成任务或希望更精细地控制 LLM 请求数量时,请使用编辑模式。

我们创建了一个统一的聊天体验,结合了“聊天”和“编辑”视图,带来了诸如会话历史记录、将聊天移至单独窗口以及简化“工作集”视图等好处。所有这些现在在 Agent 模式下也可用。

Agent mode with proposed changes in the editor

我们持续收到用户提供的精彩反馈(请继续提供!),这启发了我们许多改进。其中最值得注意的包括:

  • 撤销操作现在可以回滚到上一个文件编辑工具调用之前的所有更改
  • 支持在同一工作区中进行多个 Agent 会话(当编辑会话不修改同一文件时效果最佳)
  • Agent 现在可以创建和编辑笔记本
  • 自动批准工具调用功能(终端自动批准功能将于 4 月推出)
  • 大量的质量改进和 bug 修复

“提问”和“编辑”体验都在朝着一种利用工具的架构演进,就像 Agent 一样。我们进行此更改是为了统一“提问”、“编辑”和“Agent”模式,使其全部成为 Agentic 的,目标是优化整体用户体验。这使得编辑模式可以使用 edit_file 工具来提高速度,而编辑和提问模式可以使用 Agentic 代码库搜索 #codebase。因此,不支持工具调用的语言模型将不再可在编辑模式中使用。

要了解 Agent 的工作原理,您可以阅读我们 之前的文章

可扩展:MCP 服务器和 VS Code 扩展

正如 VS Code 扩展可以帮助您自定义特定的工作流一样,Agent 的可扩展性允许您根据自己的需求定制 Agent。通过可扩展性,Agent 可以执行浏览器操作(执行 AI Web 调试)、连接到您的聊天和笔记应用程序、与您的数据库交互、从您的设计系统中获取上下文、从 GitHub 获取问题和仓库上下文,以及与您的云平台集成。Agent 模式的力量在于可用工具的多样性以及添加和删除工具的灵活性。我们正在预览发布可扩展性,所有用户均可使用。

Agent 模式可以使用以下工具

  • VS Code 贡献的内置工具(图表中为蓝色),允许 Agent 搜索工作区、应用代码更改、运行终端命令、捕获编辑器中的编译或 linting 错误、获取网站内容(#fetch 手动触发)等。
  • MCP 服务器贡献的工具(图表中为绿色)。
  • VS Code 扩展贡献的工具(图表中为绿色)。

Diagram showing the inner works of agent mode and how it interacts with context, LLM and tools - including tools contributed by MCP servers and VS Code extensions

当 VS Code 团队发明 语言服务器协议 (LSP) 时(在 2016 年),我们的目标是标准化语言服务器与开发工具的通信方式。我们很自豪 LSP 已成为一项被广泛采用的标准,并实现了我们的愿景。最近,LSP 背后的思想 启发了一个新协议:模型上下文协议 (MCP),它标准化了应用程序如何向 LLM 提供上下文。随着 VS Code 中的 Agent 模式使用 MCP 服务器提供的工具,我们又回到了 VS Code。

这关乎开发者控制权

并非所有任务都需要您可能添加到 Agent 模式中的所有工具,并且与任何 AI 工作流一样,具体操作会带来更好的结果。我们建议使用工具 UI 来管理和启用每个场景所需的工具,或者通过键入 # 在提示中明确引用工具。

Edit UI showing how to enable and disable tools

为了让您完全掌控,每次工具调用都会在 UI 中透明显示并需要您的批准(只读的内置工具除外)。您可以为当前会话、工作区或所有未来的调用允许特定工具。如果您希望最大限度地减少中断,总是允许 Agent 使用所有工具,同时仍然保持安全,可以考虑使用 Dev Containers 扩展。这会将所有 Agent 驱动的更改隔离在容器环境中(例如,Agent 仍然可以推送到远程,如果您允许的话)。

Chat UI showing a tool call

开始使用

要为您的工作流自定义 Agent,请在聊天输入中选择“**工具**”图标,然后按照“**添加更多工具…**”流程进行操作。或者,阅读我们的 MCP 服务器文档,其中解释了配置格式、如何添加 MCP 服务器,或如何从 Claude Desktop 等现有 MCP 客户端应用程序导入 MCP 服务器。VS Code 支持本地标准输入/输出 (stdio) 和服务器发送事件 (sse) 作为 MCP 服务器传输。

MCP 的 官方服务器存储库 是一个很棒的起点,里面包含官方和社区贡献的服务器,展示了 MCP 的通用性。要安装提供工具的扩展,请打开“扩展”视图并使用标签 @tag:language-model-tools 进行搜索。

extension search showing extensions that contribute tools

作为开发者,您可以通过创建 MCP 服务器来扩展 Agent,或者如果您是扩展作者,您可以 为您的 VS Code 扩展贡献工具。请参阅 这些文档 以获取有关编写工具的指南和最佳实践。

下一步

Agent 模式每天都在改进,要成为第一批受益者,请考虑安装 VS Code Insiders。使用 VS Code Insiders 并向 我们的存储库 提供反馈是改进产品的最佳方式。接下来,我们计划进行以下工作:

  • 支持自定义模式,包含自定义工具集和 说明
  • 更快的代码应用体验
  • 将 MCP 支持从工具扩展到提示、资源和最新的规范更新
  • 编辑流限制为已更改的代码块,以提高速度
  • 检查点功能,方便您轻松回到 Agent 模式会话中的特定步骤
  • 整体性能和服务质量改进

确保您使用的是最新的 VS Code 稳定版,在设置中将 chat.agent.enabled 设置为启用状态,然后从模式下拉菜单中选择 **Agent**。今天就来试试吧,并告诉我们您的想法!您可以在 此处 找到文档。

祝您编码愉快(现在支持 MCP 和扩展)!

Isidor 和 VS Code 团队

© . This site is unofficial and not affiliated with Microsoft.