Visual Studio Code 中的本地智能体
本地智能体在您机器上的 Visual Studio Code 中以交互方式运行。它们针对当前工作区进行操作,并有权访问 VS Code 中提供的全部工具和模型,包括扩展提供的工具和 MCP 服务器。通过创建自定义智能体,您可以让智能体为特定任务承担特定的角色或人设,例如代码审查员、测试人员或文档撰写人员。
本地智能体在 VS Code 的聊天界面中运行。当您关闭聊天会话时,本地智能体会保持活动状态,您可以在会话视图中跟踪它。
为什么要使用本地智能体?
- 需要即时反馈的交互式对话,例如头脑风暴、规划或尚未完全定义的任务
- 需要开发环境上下文的任务,例如 Lint 错误、堆栈跟踪、单元测试结果
- 需要访问来自 VS Code 扩展或 MCP 服务器的特定工具,或者需要使用特定模型(如 BYOK 模型)的任务
- 不需要其他团队成员协作的任务
主要特性
- 在本地机器上的 VS Code 中运行,并针对当前工作区进行操作
- 基于聊天界面的交互,提供实时反馈和迭代
- 完全访问您的工作区、文件和上下文
- 可以访问 VS Code 中配置的所有智能体工具,例如内置工具、MCP 工具和扩展提供的工具
- 可以使用您在 VS Code 中可用的所有模型,包括 BYOK 模型和其他提供商提供的模型
内置智能体
本地智能体会话使用三种内置智能体之一,每种智能体都针对不同类型的任务进行了优化。您可以在聊天会话期间,随时从聊天视图的智能体选择器中选择不同的智能体进行切换。对于更专业的工作流程,您可以创建自己的自定义智能体。
代理
该智能体针对基于高层需求且可能需要运行终端命令和工具的复杂编码任务进行了优化。AI 自动运行,确定相关的上下文和要编辑的文件,规划所需的工作,并在出现问题时进行迭代以解决问题。
VS Code 直接在编辑器中应用代码更改,编辑器覆盖控件使您能够在建议的编辑之间导航并进行审查。智能体可能会调用多个工具来完成不同的任务。
您可以通过添加 MCP 服务器或安装贡献工具的扩展来使用额外工具自定义聊天。
如果您没有看到智能体选项,请确保在 VS Code 设置中启用了智能体( chat.agent.enabled 此设置由组织级别管理。请联系您的管理员进行更改。)。您的组织也可能禁用了智能体。请联系您的管理员以启用此功能。
规划 (Plan)
规划智能体(Plan agent)针对为编码任务创建结构化实施计划进行了优化。当您想在实施之前将复杂的功能或变更分解为更小、可管理的步骤时,请使用规划智能体。
规划智能体会生成一份详细的计划,列出所需的步骤,并提出澄清问题以确保全面理解任务。然后,您可以将该计划移交给实施智能体,或将其用作指南。
了解更多关于智能体规划的信息。
Ask(询问)
Ask 功能最适合回答有关代码库、编码和一般技术概念的问题。当您想了解某事的工作原理、探索想法或需要编码任务帮助时,请使用 Ask。
Ask 使用智能体能力来研究您的代码库并收集相关上下文。响应可能包含您可以单独应用到代码库的代码块。要应用代码块,请将鼠标悬停在代码块上并选择在编辑器中应用按钮。
编辑模式(已弃用)
编辑模式已弃用。请使用 Agent 模式进行多文件代码编辑。您可以通过启用 chat.editMode.hidden 设置来恢复编辑模式。
开始使用
有关演示如何使用不同智能体类型(包括后台智能体和云智能体)的实践教程,请参阅智能体教程。
启动本地智能体会话
-
从聊天视图的智能体选择器中选择 Agent。
-
在聊天输入框中输入高层提示词。例如,您可以询问
Implement a user authentication system with OAuth2 and JWT.或
Set up a CI/CD pipeline for this project. -
使用工具选择器来启用工具并赋予智能体更多能力。
-
选择 发送 或按 Enter 提交您的提示词。
-
当智能体处理您的请求时,审查并确认代码更改和工具调用。
您可以在智能体工作时发送后续提示词。可以将消息排队稍后处理、将智能体引导至新方向,或停止并立即发送。了解更多关于在请求运行时发送消息的信息。
提示VS Code 可帮助您防止对敏感文件(如工作区配置设置或环境设置)进行无意的编辑。了解更多关于编辑敏感文件的信息。
使用 Ask 启动
-
在聊天输入框中输入您的提示词。例如,您可以询问
Provide 3 ways to implement a search feature in React.或
Where is the db connection configured in this project? #codebase -
从聊天视图的智能体选择器中选择 Ask。
-
(可选)向您的提示词添加上下文以获得更准确的回答。
-
选择 发送 或按 Enter 提交您的提示词。
常见问题
语言模型是在我的机器上本地运行的吗?
语言模型的位置不取决于智能体类型。智能体类型决定了智能体宿主(agent harness)运行的位置,即智能体编排逻辑运行的位置。例如,本地智能体在您机器上的 VS Code 中运行,而 Copilot 云智能体在远程服务器上运行。
语言模型的位置取决于您为请求选择的模型提供商。例如,如果您选择 GitHub Copilot 提供的模型,它将在远程基础设施上运行。如果您选择连接到运行在您机器或私有基础设施上的模型的 BYOK 模型,则模型将在那里运行。