– 代理会话日,2月19日

调试聊天交互

Visual Studio Code 提供了工具来帮助你理解当你向 AI 发送提示时发生的事情。使用这些工具来检查代理如何发现提示文件、调用工具、发出语言模型请求以及生成响应。

VS Code 提供两种互补的调试工具

  • 代理日志(预览版)显示聊天会话期间发生的所有事件的按时间顺序排列的事件日志,包括工具调用、LLM 请求、提示文件发现和错误。
  • 聊天调试视图显示每个 LLM 请求和响应的原始详细信息,包括完整的系统提示、用户提示、上下文和工具调用负载。

代理调试面板

注意

代理调试面板目前处于预览版。

代理调试面板是理解当你发送提示时发生的事情的主要工具。它显示了聊天会话期间代理交互的按时间顺序排列的事件日志,使其在调试 自定义代理和编排的子代理工作流时特别有用。

打开代理调试面板

要打开代理调试面板,请选择“聊天”视图中的齿轮图标,然后选择“显示代理日志”。

代理调试面板会以会话摘要开始,显示聚合统计信息,例如总工具调用次数、令牌使用量、错误计数和总持续时间。

在摘要下方,你可以切换两种视图

  • 查看日志:会话期间事件的按时间顺序排列的列表。你可以在扁平列表和按子代理分组的树形视图之间切换。使用类别过滤器来关注特定事件类型

    Screenshot of the list of events in Agent Logs.

    类别 显示内容
    聊天自定义 提示文件和指令文件的发现,包括加载、跳过或验证失败的文件。
    工具调用 每次工具调用,包括工具名称、参数、持续时间、结果摘要以及如果调用失败的错误详细信息。
    LLM 模型轮次 语言模型请求,包括令牌使用量(总数和缓存)和请求持续时间。
    子代理调用 代理循环生命周期事件,例如代理何时启动、完成或移交给子代理。
  • 代理流程图:流程图,可视化会话期间代理和子代理之间的交互。

    Screenshot of the flow chart in Agent Logs, showing the interactions between agents and sub-agents.

    你可以平移和缩放流程图,并选择流程图中的任何节点以查看该事件的详细信息。

注意

代理调试面板目前仅适用于本地聊天会话。日志数据不会持久保存,因此你只能查看当前 VS Code 会话的聊天会话日志。

聊天调试视图

聊天调试视图显示每个 AI 请求和响应的原始详细信息。当你需要检查确切的系统提示、用户提示、上下文或发送到语言模型并从语言模型接收的工具响应负载时,请使用它。

打开聊天调试视图

要打开聊天调试视图

  • 选择“聊天”视图中的溢出菜单,然后选择“显示聊天调试视图”。
  • 从命令面板运行“开发者:显示聊天调试视图”命令。

Screenshot of the Chat Debug view, showing the details of a chat request and response.

阅读调试输出

聊天调试视图中的每个交互都包含可展开的部分

部分 显示内容 需要查找的内容
系统提示 定义 AI 行为、功能和约束的指令。 验证自定义指令或代理描述是否正确显示。
用户提示 发送到模型的你的提示的确切文本。 确认你的提示已按预期发送,包括任何已解析为实际内容的 #-提及。
上下文 附加到请求的文件、符号和其他上下文项目。 检查预期的文件和上下文是否出现。如果缺少文件,则可能未对其进行索引或上下文窗口可能已满。
响应 模型的响应的完整文本,包括推理。 查看原始响应以了解模型如何解释你的请求。
工具响应 请求期间调用工具的输入和输出。 验证工具是否接收到正确的输入并返回预期的输出。对于调试 MCP 服务器很有用。

你可以展开每个部分以查看完整详细信息。这在使用 代理时特别有用,因为多个工具可能会作为单个请求的一部分被调用。

常见故障排除场景

AI 忽略你的工作区文件

如果 AI 使用通用信息而不是引用你的代码库进行响应

  1. 打开代理日志并检查“发现”事件,以验证是否已索引工作区文件。
  2. 打开聊天调试视图并检查“上下文”部分,以验证工作区文件是否出现在上下文中。如果它们没有出现,请检查 工作区索引是否处于活动状态。
  3. 尝试添加显式 #-提及(例如 #file#codebase)以确保包含正确的文件。了解更多关于 管理上下文的信息。

未调用 MCP 工具

如果 AI 未调用预期的工具

  1. 打开代理日志并检查“工具调用”过滤器,以查看是否调用或跳过该工具。
  2. 打开聊天调试视图并检查“系统提示”部分,以验证该工具是否列在可用工具中。
  3. 如果缺少该工具,请验证 MCP 服务器是否正在运行并已正确配置。
  4. 尝试在你的提示中显式提及该工具,使用 #tool-name

AI 响应不完整或被截断

如果响应看起来被截断

  1. 检查代理日志中的“LLM 请求”事件以查看令牌使用量。
  2. 完整的上下文窗口可能会导致模型截断其响应。启动一个 新的聊天会话以重置上下文。

未应用提示文件

如果自定义指令或提示文件似乎没有生效

  1. 打开代理日志并检查“发现”事件,以查看该文件是否已加载、跳过或验证失败。
  2. 验证文件位置和 applyTo 模式是否与当前上下文匹配。
  3. 检查 聊天自定义诊断以获取错误详细信息。
© . This site is unofficial and not affiliated with Microsoft.