– 代理会话日,2月19日

聊天概述

在 Visual Studio Code 中聊天使你能够使用自然语言进行 AI 驱动的编码辅助。 提问关于你的代码的问题,获得理解复杂逻辑的帮助,生成新功能,修复错误等等,所有这些都通过对话界面实现。 本文概述了聊天界面、如何配置聊天会话、添加上下文、编写有效的提示以及审查 AI 生成的更改。

先决条件

在 VS Code 中访问聊天

VS Code 提供了多种启动 AI 聊天对话的方式,每种方式都针对不同的工作流程进行了优化。 使用 VS Code 标题栏中的 聊天 菜单或相应的键盘快捷键。

Screenshot of the Copilot Chat menu in the VS Code Command Center.

界面 快捷键 最适合 了解更多
聊天视图 ⌃⌘I(Windows、Linux Ctrl+Alt+I 多轮对话、代理式工作流程、多文件编辑。 也可以作为 编辑器选项卡或单独窗口 使用。 聊天会话
内联聊天 ⌘I(Windows、Linux Ctrl+I 原地代码编辑和终端命令建议。 内联聊天
快速聊天 ⇧⌥⌘L(Windows、Linux Ctrl+Shift+Alt+L 无需离开当前视图即可进行快速提问。 在编辑器顶部打开一个轻量级的聊天面板。 快速聊天
命令行 code chat 从 VS Code 外部启动聊天。 CLI 文档

提交你的第一个提示

要了解聊天的运作方式,请尝试创建一个基本的应用程序

  1. 通过按 ⌃⌘I (Windows, Linux Ctrl+Alt+I) 或从 VS Code 标题栏中选择 聊天 来打开聊天视图。

  2. 从代理选择器中选择一个代理。 例如,选择 代理 让聊天自主确定需要做什么并更改你的工作区。 了解更多关于 内置代理 的信息。

  3. 在聊天输入字段中键入以下提示并按 Enter 提交

    Create a basic calculator app with HTML, CSS, and JavaScript
    

    代理会将更改直接应用于你的工作区,并且可能还会运行终端命令,例如安装依赖项或运行构建脚本。

  4. 在编辑器中,审查建议的更改 并选择保留或放弃它们。

提示

有关完整的实践演练,请遵循 代理教程

在请求运行时发送消息

注意

消息引导和排队是实验性功能。

你无需等待响应完成即可发送下一条消息。 在请求进行中时,使用 发送 按钮上的下拉菜单选择如何处理新消息

  • 添加到队列:消息将等待并在当前响应完成后自动发送。
  • 使用消息引导:当前请求让步,你的新消息立即处理。
  • 停止并发送:取消当前请求并立即发送你的新消息。

Screenshot of the Chat view with the Send button dropdown expanded, showing options to add to queue, steer with message, or stop and send.

当你有多个待处理的消息时,拖放它们以重新排序。 了解更多关于 在请求运行时发送消息 的信息。

配置你的聊天会话

当你启动或调整聊天会话时,三个选择决定了 AI 如何响应:使用哪个代理、会话在何处运行以及哪个语言模型为其提供支持。

选择运行位置

代理会话可以在不同的环境中运行,以匹配你的工作流程。 从聊天视图中的会话类型下拉菜单中选择会话类型。

Screenshot showing session type dropdown in the Chat view.

会话类型 描述
本地 在你的机器上的 VS Code 中交互式运行。 最适合需要立即反馈的探索性任务。
后台 通过 CLI 在你的机器上自主运行。 最适合你想要在后台运行的明确定义的任务。
在远程基础设施上运行并打开一个拉取请求。 最适合团队协作和明确定义的任务。
第三方 使用来自外部提供商(如 Anthropic 或 OpenAI)的代理。

你可以在会话过程中从一种类型切换到另一种类型,并且完整的对话历史记录会保留下来。 了解更多关于 代理类型会话切换 的信息。

选择一个代理

代理让聊天承担不同的角色或针对特定任务进行优化的角色。 从聊天视图中的代理下拉菜单中选择一个代理。 你可以在会话期间随时在代理之间切换。

Screenshot showing the Chat view with the agent picker expanded, displaying different agent options.

VS Code 提供了三个内置代理

  • 代理:自主规划和实施跨文件的更改,运行终端命令并调用工具。
  • 计划:在编写任何代码之前创建一个结构化的、分步的实施计划。 当看起来正确时,将计划交给实施代理。
  • 提问:回答有关编码概念、你的代码库或 VS Code 本身的问题,而无需更改文件。

对于更专业化的工作流程,创建你自己的 自定义代理,定义特定的角色、可用工具和语言模型。

了解更多关于 内置代理及其功能 的信息。

选择一个语言模型

VS Code 提供了不同的语言模型,每个模型都针对不同的任务进行了优化。 一些模型专为快速编码任务而设计,而另一些模型则擅长复杂的推理和规划。 使用聊天输入字段中的模型下拉菜单选择最适合你需求的模型。

Screenshot of the language model dropdown in the Chat view, showing a dropdown list of available models.

你还可以添加来自其他提供商的模型并在聊天中使用它们。 了解更多关于 VS Code 中的语言模型 的信息。

注意

可用模型的列表可能会因你的 Copilot 订阅而异,并且可能会随着时间的推移而变化。 有关 可用语言模型 的更多信息,请参阅 GitHub Copilot 文档。

为你的提示添加上下文

提供正确的上下文有助于 AI 生成更相关和准确的响应。

  • 隐式上下文:VS Code 会自动将活动文件、当前选择和文件名作为上下文包含在内。 当你使用代理时,代理会自主决定是否需要其他上下文。

  • #-提及:在聊天输入中键入 # 以显式引用文件 (#file)、文件夹、符号、你的代码库 (#codebase)、终端输出 (#terminalSelection) 或工具,如 #fetch#githubRepo

  • @-提及:键入 @ 以调用专门的聊天参与者,如 @vscode@terminal@workspace,每个参与者都针对各自的领域进行了优化。

  • 视觉效果:将图像(例如屏幕截图或 UI 原型)作为提示的上下文附加。

  • 浏览器元素(实验性):选择来自 集成浏览器 的元素,将 HTML、CSS 和屏幕截图上下文添加到你的提示中。

了解更多关于 管理 AI 的上下文 的信息。

审查和管理更改

在 AI 修改你的文件后,审查并接受或放弃它们。

  • 审查内联差异:打开已更改的文件以查看应用的更改的内联差异。 使用编辑器叠加控件在编辑之间导航,并 保留撤消 个人更改。 有关更多信息,请参阅 审查 AI 生成的代码编辑

  • 使用检查点:VS Code 可以在聊天交互的关键点自动创建文件的快照,使你能够回滚到以前的状态。 有关更多信息,请参阅 检查点和编辑请求

  • 暂存以接受:在源代码管理视图中暂存你的更改会自动接受任何待处理的编辑。 放弃更改也会放弃待处理的编辑。

Screenshot showing the Editor with proposed changes, highlighting the review controls in the editor overlay controls.

获得更好的响应

聊天提供了几种提高 AI 响应质量和相关性的方法

  • 编写有效的提示:明确你想要什么,引用相关的文件和符号,并使用 / 命令执行常见任务。 从 提示示例 中获得灵感,或查看完整的 提示工程指南

  • 自定义 AI:通过添加 自定义指令、创建可重用的 提示文件 或构建 自定义代理 来定制 AI 的行为以适应你的项目。 例如,创建一个“代码审查员”代理,该代理提供有关代码质量和遵守团队编码标准的反馈。

  • 使用工具扩展:连接 MCP 服务器 或安装扩展,这些扩展贡献工具以使代理能够访问外部服务、数据库或 API。

有关更多信息,请参阅 自定义 VS Code 中的 AI

排查聊天交互问题

使用 代理日志和聊天调试视图 来检查你在发送提示时发生的情况。 代理日志显示工具调用、LLM 请求和提示文件发现的按时间顺序排列的事件日志。 聊天调试视图显示每个交互的原始系统提示、用户提示、上下文和工具有效负载。 这些工具对于理解 AI 为什么以某种方式响应或排查意外结果很有用。

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