在 Visual Studio Code 中使用智能体 (Agents)

智能体是一种人工智能助手,可以自主完成编码任务。为它设定一个高层目标,它会将目标拆解为多个步骤,编辑项目中的文件,运行命令,并在出错时进行自我纠正。例如,智能体不会只建议针对失败测试的修复方案,而是会识别跨文件的根本原因、更新代码、重新运行测试并提交更改。

智能体可以端到端地处理任务。您可以使用它们在多个文件中构建功能、调试并修复失败的测试、在框架之间进行重构、使用集成浏览器测试 Web 应用,或提交拉取请求 (PR) 以供团队审查。

本文将介绍您在使用智能体时需要做的各项选择:使用哪种智能体类型、将任务交给哪个智能体、赋予多少自主权,以及在哪里执行工作。

智能体的工作原理

了解智能体循环、智能体如何规划和执行任务,以及内存和子智能体的工作方式。

Screenshot of an agent session in VS Code showing code changes and chat interaction.

提示

在 VS Code 设置中启用智能体 ( chat.agent.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 此设置由组织级别管理。请联系您的管理员进行更改。)。您的组织可能禁用了智能体——请联系管理员以启用此功能。

使用智能体时的关键选择

使用智能体通常涉及几个决策。您可以针对每个任务进行调整,并随时改变主意。

  • 选择工作位置:在编辑器窗口或专门的“智能体”窗口中工作。
  • 选择智能体类型:决定智能体在哪里以及如何运行,例如在本地机器上、后台、云端或通过第三方提供商。
  • 选择智能体:选择符合任务需求的智能体角色(例如构建、规划或问答),并选择合适的语言模型。
  • 选择权限级别:决定智能体运行工具和命令的自主权大小。

您还可以将会话移交给另一个智能体,以利用它们各自的优势。

在哪里使用智能体

VS Code 为您提供了不同的界面来使用智能体,您可以选择最符合工作流程的一个,或在它们之间自由切换。

  • 智能体窗口 (以智能体为中心,预览版):一个专门的窗口,用于在一个地方处理多个项目。聊天和会话列表是主要界面,您可以在此向智能体发出提示词并描述想要完成的功能性任务。当您的主要工作流程是思考提示词并在不同工作空间中协调智能体时,此选项最为合适。

  • 聊天视图 (以代码为中心):聊天窗口位于主 VS Code 窗口的编辑器标签页旁边,可以完整访问调试、笔记本、扩展生态系统和远程开发功能。AI 通过聊天、内联建议和智能体会话来辅助您编码。当您主要在单个工作空间中编写和编辑代码时,此选项最为合适。

这两个界面共享智能体会话以及 VS Code 的配置(如设置和快捷键),从而实现顺畅的过渡。使用标题栏中的“在智能体中打开”按钮可以打开智能体窗口。详细了解智能体窗口

智能体类型

根据您对结果需求的时间以及期望的监管程度,智能体会在不同的环境中运行。详细了解智能体类型及其工作方式

  • 本地:使用 VS Code 智能体循环在编辑器中以交互方式运行智能体,并完全访问您的工作空间、工具和模型。
  • Copilot CLI:使用 Copilot CLI 在您的机器后台运行,可选择使用 Git 工作树进行隔离。
  • 云端:使用 GitHub Copilot 进行远程运行,并与 GitHub 拉取请求集成以进行团队协作。
  • 第三方:使用 Anthropic 和 OpenAI 提供的第三方智能体框架和 SDK,在本地机器或云端运行。

在聊天视图的智能体目标下拉菜单中选择智能体类型。

Screenshot showing agent target dropdown in the Chat view.

您还可以在拥有的远程机器上运行智能体会话,并从任何地方监控它们,无论是通过智能体窗口浏览器,还是您的手机。即使您断开连接,会话也会在远程端继续运行,因此您可以合上笔记本电脑,稍后再回来查看。详细了解远程智能体会话

我应该使用哪种智能体类型?

使用下表查找适合您任务的智能体类型:

我想要... 使用
进行交互式迭代,获取关于代码库的答案,进行规划,或修复需要编辑器上下文(如测试失败和调试输出)的问题 本地智能体
在持续工作的同时,实现一个定义明确的任务或探索概念验证 Copilot CLI云端智能体
创建 PR 以供团队审查,或将 GitHub 问题分配给智能体 云端智能体
使用特定的 AI 提供商,例如 Anthropic 或 OpenAI 第三方智能体

选择智能体

如果说智能体类型决定了智能体在哪里运行,那么智能体本身就决定了它如何根据其角色或性格来执行任务。例如,具有“代码评审员”角色的智能体专注于审查代码更改的质量和风格并提供反馈,而不是直接修改代码。智能体的定义决定了它可以使用哪些工具、如何执行任务以及潜在的移交点。

在聊天视图的智能体下拉菜单中选择一个智能体。您可以在会话期间随时切换智能体。

Screenshot showing the agent picker in the Chat view.

VS Code 内置了三种智能体

  • 智能体 (Agent):自主规划并实现跨文件的更改,运行终端命令并调用工具。
  • 规划 (Plan):在编写任何代码之前创建一个结构化的、循序渐进的实施计划。当计划看起来正确时,将其移交给实施智能体。
  • 询问 (Ask):回答有关编码概念、代码库或 VS Code 本身的问题,而无需进行文件更改。

对于更专业的工作流程,您可以创建自己的自定义智能体,定义特定的角色、可用工具和语言模型。

在会话中,您还可以选择最适合该任务的语言模型。使用快速模型进行简单的编辑和提问,或使用具有更强推理能力的模型进行复杂的多步骤工作。您可以随时通过聊天视图中的模型选择器切换模型。详细了解语言模型

选择权限级别

智能体可以自主执行任务,但您可以控制它们在调用工具和终端命令时的自主程度。赋予智能体更多自主权可以提高效率,但可能会降低监管力度。聊天视图中的权限选择器允许您为每个会话选择权限级别,从批准每一次工具调用到让智能体完全自主工作。

权限级别 描述
默认批准 使用 VS Code 设置中指定的批准规则。默认情况下,只有只读和安全的工具不需要明确批准。
绕过批准 自动批准所有工具调用,无需确认对话框。智能体可能会在工作时提出澄清问题。
自动驾驶 (Autopilot)(预览版) 自动批准所有工具调用,自动回复问题,智能体将自主持续工作直到任务完成。

若要跨会话保留您偏好的权限级别,请配置 chat.permissions.default 在 VS Code 中打开 在 VS Code Insiders 中打开 设置。

详细了解权限级别和自动驾驶模式 (Autopilot)

将任务移交给其他智能体

您可以将现有任务从一个智能体移交给另一个智能体,以利用它们独特的优势。例如,先用本地智能体创建一个计划,移交给 Copilot CLI 进行概念验证,然后继续使用云端智能体提交拉取请求以供团队审查。

若要移交本地智能体会话,请在聊天输入框的会话类型下拉菜单中选择不同的智能体类型。VS Code 将创建一个新会话,并带上完整的对话历史和上下文。原始会话将在移交后归档。

Screenshot showing the session type dropdown for handing off to another agent.

在 Copilot CLI 会话中,通过在聊天输入框中输入 /delegate 命令来委托给云端智能体。您可以在 /delegate 命令后提供额外说明。

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