跳到主要内容

工作原理

代理提供与聊天相同的功能,同时还在发送给模型的请求中包含工具,并提供用于处理工具调用和响应的界面。

工具握手

工具提供了一种灵活且强大的方式,让模型能够与外部世界交互。它们作为带有名称和参数 schema 的 JSON 对象提供给模型。例如,一个带有 filepath 参数的 read_file 工具将使模型能够请求特定文件的内容。

以下握手过程描述了代理如何使用工具

  1. 在代理模式下,可用的工具会随着 user 聊天请求一起发送
  2. 模型可以选择在其响应中包含工具调用
  3. 用户授予权限。如果该工具的策略设置为 Automatic,则跳过此步骤
  4. Continue 使用内置功能或提供该特定工具的 MCP 服务器调用该工具
  5. Continue 将结果发送回模型
  6. 模型做出响应,可能带有另一个工具调用,然后步骤 2 再次开始
信息

聊天模式下,工具包含在发送给模型的请求中。

内置工具

Continue 包含几个内置工具,这些工具为模型提供了访问 IDE 功能的权限

  • 读取文件 (builtin_read_file):读取项目内文件的内容
  • 读取当前打开的文件 (builtin_read_currently_open_file):读取当前打开的文件的内容
  • 创建新文件 (builtin_create_new_file):在项目内创建新文件,路径和内容由模型指定
  • 精确搜索 (builtin_exact_search):在项目内执行 ripgrep 搜索
  • 运行终端命令 (builtin_run_terminal_command):从工作区根目录运行终端命令
  • 搜索网页 (builtin_search_web):执行网页搜索以获取热门结果
  • 查看差异 (builtin_view_diff):查看当前工作 git 差异
  • 查看仓库映射 (builtin_view_repo_map):请求仓库映射的副本——与仓库映射上下文提供程序相同
  • 查看子目录 (builtin_view_subdirectory):请求项目内特定目录的仓库映射副本
  • 创建规则块 (builtin_create_rule_block):根据对话内容在 .continue/rules 中创建一个新的规则块