参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

智能体模式:所有用户可用并支持 MCP

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

智能体模式正在向所有 VS Code 用户推出!智能体扮演着一个自主的结对程序员,可以根据您的命令执行多步编码任务,例如分析您的代码库、提出文件修改建议以及运行终端命令。它会响应编译和 lint 错误,监控终端输出,并在循环中自动纠正,直到任务完成。智能体还可以使用贡献的工具,使其能够与外部 MCP 服务器或 VS Code 扩展程序交互,以执行各种任务。

所有用户可用

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

智能体模式非常适合以下场景

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

另一方面,当任务范围明确、您需要快速周转,或者您希望对 LLM 请求数量有更精细的控制时,请使用编辑模式。

我们创建了统一的聊天体验,将“聊天”和“编辑”视图结合在一起,带来了会话历史记录、将聊天移到单独窗口以及简化“工作集”视图等优势。所有这些现在也都在智能体模式中可用。

Agent mode with proposed changes in the editor

我们不断收到出色的用户反馈(请继续提供!),这激发了我们进行的许多改进。最值得注意的是

  • 撤消操作现在可以撤消到上次编辑文件工具调用所做的更改
  • 支持在同一工作区中进行多个智能体会话(在编辑会话不修改相同文件时效果最佳)
  • 智能体现在可以创建和编辑笔记本
  • 自动批准工具调用的能力(终端自动批准将于 4 月推出)
  • 一系列生活质量改进和错误修复

“询问”和“编辑”体验都在向一种架构演进,这种架构与智能体一样,也利用工具。我们正在进行这一更改,以统一“询问/编辑/智能体”模式,使其都具有智能体特性,目标是平滑整体用户体验。这使得编辑模式可以使用 edit_file 工具来提高速度,并且编辑和询问模式可以使用 #codebase,这是一种智能体代码库搜索。因此,不支持工具调用的语言模型将不再在编辑模式中可用。

要了解有关智能体工作原理的更多信息,您可以阅读我们的上一篇文章

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

正如 VS Code 扩展程序使您能够自定义特定的工作流程一样,智能体可扩展性使您能够根据需要定制智能体。通过可扩展性,智能体可以执行浏览器操作(执行 AI 网络调试)、连接到您的聊天和笔记应用程序、与您的数据库交互、从您的设计系统获取上下文、从 GitHub 获取问题和仓库上下文,并与您的云平台集成。智能体模式的强大之处在于可用工具的多样性以及作为用户添加和移除工具的灵活性。我们正在推出预览版的可扩展性,并向所有用户开放。

智能体模式可以使用以下工具

  • VS Code 贡献的内置工具(图中的蓝色),允许智能体搜索工作区、应用代码更改、运行终端命令、从编辑器捕获编译或 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 团队在 2016 年发明 语言服务器协议 (LSP) 时,我们的目标是标准化语言服务器与开发工具的通信方式。我们很自豪 LSP 已成为广泛采用的标准并实现了我们的愿景。最近,LSP 背后的理念启发了一种新协议:模型上下文协议 (MCP),它标准化了应用程序如何向 LLM 提供上下文。随着 VS Code 中的智能体模式使用由 MCP 服务器贡献的工具,我们现在又回到了 VS Code。

关于开发者控制

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

Edit UI showing how to enable and disable tools

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

Chat UI showing a tool call

开始使用

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

MCP 的官方服务器仓库是官方和社区贡献的服务器的绝佳起点,它们展示了 MCP 的多功能性。要安装贡献工具的扩展,请打开“扩展”视图并使用标签 @tag:language-model-tools 进行搜索。

extension search showing extensions that contribute tools

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

下一步

智能体模式每天都在改进,要成为首批受益者之一,请考虑安装 VS Code Insiders。使用 VS Code Insiders 并在我们的仓库中提供反馈是帮助我们改进产品的最佳方式。接下来,我们计划致力于

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

确保您使用的是最新的 VS Code 稳定版,在设置中启用 chat.agent.enabled,然后从模式下拉菜单中选择智能体。立即试用,让我们知道您的想法!您可以在此处找到文档。

愉快地编写代码(现在支持 MCP 和扩展程序)!

Isidor 和 VS Code 团队

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