尝试以扩展 VS Code 中的代理模式!

VS Code 中的 AI 可扩展性

本文概述了 Visual Studio Code 中的 AI 可扩展性选项,帮助您为扩展选择正确的方法。

VS Code 包含强大的 AI 功能,可增强编码体验

  • 代码补全:在您键入时提供内联代码建议
  • 代理模式:使 AI 能够使用专用工具自主规划和执行开发任务
  • 聊天:允许开发人员通过聊天界面使用自然语言提问或修改代码库
  • 智能操作:在编辑器中集成 AI 增强的常见开发任务操作

您可以扩展和自定义这些内置功能中的每一个,以创建满足用户特定需求的定制 AI 体验。

为何要在 VS Code 中扩展 AI?

为您的扩展添加 AI 功能可为您的用户带来多项好处

  • 代理模式中的领域特定知识:让代理模式访问您公司的数据源和服务
  • 增强用户体验:提供针对您扩展领域量身定制的智能帮助
  • 领域专业化:创建特定于编程语言、框架或领域的 AI 功能
  • 扩展聊天功能:向聊天界面添加专用工具或助手,以实现更强大的交互
  • 提高开发人员生产力:通过 AI 功能增强常见的开发人员任务,如调试、代码审查或测试

扩展聊天体验

语言模型工具

语言模型工具使您能够使用领域特定功能扩展 VS Code 中的代理模式。在代理模式下,这些工具会根据用户的聊天提示自动调用,以执行专门任务或从数据源或服务中检索信息。用户也可以通过 #-提及工具在聊天提示中明确引用这些工具。

要实现语言模型工具,请在您的 VS Code 扩展中使用语言模型工具 API。语言模型工具可以访问所有 VS Code 扩展 API,并提供与编辑器的深度集成。

主要优势:

  • 作为自主编码工作流的一部分的领域特定功能
  • 您的工具实现可以使用 VS Code API,因为它在扩展主机进程中运行
  • 通过 Visual Studio Marketplace 轻松分发和部署

主要考虑因素:

  • 远程部署要求扩展实现客户端-服务器通信
  • 不同工具之间的重用需要模块化设计和实现

MCP 工具

模型上下文协议 (MCP) 工具提供了一种通过使用标准化协议将外部服务与语言模型集成的方法。在代理模式下,这些工具会根据用户的聊天提示自动调用,以执行专门任务或从外部数据源中检索信息。

MCP 工具在 VS Code 之外运行,可以在用户的机器上本地运行,也可以作为远程服务运行。用户可以通过 JSON 配置添加 MCP 工具,或者 VS Code 扩展可以通过编程方式配置它们。您可以通过各种语言 SDK 和部署选项实现 MCP 工具。

由于 MCP 工具在 VS Code 之外运行,因此它们无法访问 VS Code 扩展 API。

主要优势:

  • 作为自主编码工作流的一部分,添加领域特定功能
  • 本地和远程部署选项
  • 在其他 MCP 客户端中重用 MCP 服务器

主要考虑因素:

  • 无法访问 VS Code 扩展 API
  • 分发和部署要求用户设置 MCP 服务器

聊天参与者

聊天参与者是专门的助手,使用户能够通过领域专家扩展提问模式。在聊天中,用户可以通过 @-提及聊天参与者并传入有关特定主题或领域的自然语言提示来调用它。聊天参与者负责处理整个聊天交互。

要实现聊天参与者,请在您的 VS Code 扩展中使用聊天 API。聊天参与者可以访问所有 VS Code 扩展 API,并提供与编辑器的深度集成。

主要优势:

  • 控制端到端交互流程
  • 在扩展主机进程中运行允许访问 VS Code 扩展 API
  • 通过 Visual Studio Marketplace 轻松分发和部署

主要考虑因素:

  • 远程部署要求扩展实现客户端-服务器通信
  • 不同工具之间的重用需要模块化设计和实现

构建您自己的 AI 驱动功能

VS Code 使您可以直接以编程方式访问 AI 模型,以便在您的扩展中创建自定义 AI 驱动功能。这种方法使您能够构建使用 AI 功能的编辑器特定交互,而无需依赖聊天界面。

要直接使用语言模型,请在您的 VS Code 扩展中使用语言模型 API。您可以将这些 AI 功能集成到任何扩展功能中,例如代码操作、悬停提供程序、自定义视图等等。

主要优势:

  • 将 AI 功能集成到现有扩展功能中或构建新功能
  • 在扩展主机进程中运行允许访问 VS Code 扩展 API
  • 通过 Visual Studio Marketplace 轻松分发和部署

主要考虑因素:

  • 不同体验之间的重用需要模块化设计和实现

决定使用哪个选项

在为 VS Code 扩展选择正确的 AI 扩展方法时,请考虑以下指南

  1. 在以下情况下选择语言模型工具:

    • 您想使用专门功能扩展 VS Code 中的聊天
    • 您想在代理模式下根据用户意图自动调用
    • 您想访问 VS Code API 以在 VS Code 中进行深度集成
    • 您想通过 VS Code Marketplace 分发您的工具
  2. 在以下情况下选择 MCP 工具:

    • 您想使用专门功能扩展 VS Code 中的聊天
    • 您想在代理模式下根据用户意图自动调用
    • 您不需要与 VS Code API 集成
    • 您的工具需要在不同的环境(不仅仅是 VS Code)中工作
    • 您的工具应远程或本地运行
  3. 在以下情况下选择聊天参与者:

    • 您想通过具有领域专业知识的专门助手扩展提问模式
    • 您需要自定义整个交互流程和响应行为
    • 您想访问 VS Code API 以在 VS Code 中进行深度集成
    • 您想通过 VS Code Marketplace 分发您的工具
  4. 在以下情况下选择语言模型 API:

    • 您想将 AI 功能集成到现有扩展功能中
    • 您正在构建聊天界面之外的 UI 体验
    • 您需要对 AI 模型请求进行直接的编程控制

后续步骤

选择最符合您的扩展目标的方法

示例项目