工具

工具是让模型能够对你的开发环境执行操作的机制。没有工具,语言模型只能生成文本。有了工具,智能体 (agent) 就可以读取文件、编写代码、运行终端命令、搜索代码库以及连接到外部服务。

智能体循环期间,模型会根据任务决定调用哪些工具。每个工具调用产生的输出都会成为下一次迭代上下文的一部分。

本文介绍了可用的工具类型、智能体如何选择和使用它们,以及你如何控制启用哪些工具。

工具类型

VS Code 支持三种类型的工具

  • 内置工具:随 VS Code 一起提供,用于执行常见的开发任务,例如读取和写入文件、运行终端命令、搜索代码库以及导航编辑器。无需任何设置即可直接使用。
  • MCP 工具:由 模型上下文协议 (Model Context Protocol, MCP) 服务器提供的工具。这是一个将 AI 模型连接到外部工具和数据源的开放标准。MCP 服务器可以在你的本地机器上运行,也可以托管在远程。使用 MCP 工具连接数据库、API 和其他外部服务。
  • 扩展工具:由 VS Code 扩展通过语言模型工具 API (Language Model Tools API) 贡献的工具。扩展工具与编辑器深度集成,安装扩展后即可使用。

工具的工作原理

当智能体处理任务时,模型会检查可用工具并决定调用哪一个。这一过程是自主进行的:你只需给智能体一个高层次的任务,它就会确定每一步所需的正确工具。

你也可以通过输入 # 后跟工具名称,在提示词中显式引用工具。当你想要确保使用特定工具时,此方法非常有用。

控制可用工具

使用聊天输入框中的“配置工具”按钮,可以为当前请求启用或禁用特定工具。这让你能够直接控制智能体可以使用哪些工具。

限制可用工具有以下几个方面的帮助

  • 节省上下文:每个工具调用都会产生输出,从而占用上下文窗口空间。工具越少,智能体进行不必要调用并填满上下文的可能性就越小。
  • 获取更相关的结果:当可用工具较少时,智能体会专注于最合适的工具,而不是从大量工具中进行选择。
  • 提高性能:较小的工具集减少了模型的决策空间,这可以加快响应速度。

你还可以通过提示词文件自定义智能体来控制工具的可用性,这让你能够为特定任务或工作流定义固定的工具集。

了解更多关于在聊天中启用工具的信息。

工具批准与信任

工具可以执行修改文件、环境或访问外部服务的操作。VS Code 包含安全控制功能,确保操作权掌握在你手中

  • 批准提示:具有副作用的工具在运行前会显示确认对话框。你可以选择批准单次使用、当前会话使用或对未来所有调用进行批准。
  • URL 批准:当工具访问 URL 时,会通过两步流程验证请求和响应内容。
  • 权限级别:权限选择器控制智能体的自主程度,从要求手动批准到完全自主操作不等。

了解更多关于信任与安全的信息。

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