核心概念

工具

了解 Bob 如何使用专门的工具来读取文件、编辑代码、运行命令、生成子代理、使用 MCP 集成以及切换模式来简化您的编码工作流程。

工具工作流程

当您使用 Bob 时,它会确定适当的操作。对于每个步骤,Bob 将:

  1. 根据您的请求选择适当的工具
  2. 呈现工具及其参数供您审查
  3. 运行已批准的工具并向您显示结果
  4. 继续此过程,直到您的任务完成

工具类别

Bob 的工具按其主要功能分组。 了解这些类别可帮助您了解 Bob 如何执行不同的任务。

读取工具

读取工具让 Bob 访问文件内容并理解代码结构而不进行更改。

工具目的示例用途
read_file读取文件内容,可选行范围查看配置文件、检查源代码
glob按名称模式查找文件(例如 **/*.ts定位测试文件、查找所有组件
grep使用正则表达式模式搜索文件内容查找函数定义、定位 TODO
list_files列出文件和目录浏览单个目录的结构
GetSymbolsOverview获取文件中的顶级符号深入了解之前理解文件结构
FindSymbol按名称路径查找符号,可选深度导航到类、方法或函数
FindReferencingSymbols查找符号的所有引用了解函数或类型的使用位置

当您的请求涉及审查代码、搜索模式或检查项目结构时,Bob 使用读取工具。

写入工具

写入工具让 Bob 创建新文件或修改现有代码。

工具目的示例用途
write_file创建新文件或完全重写现有文件生成新组件、创建配置文件
apply_diff对文件的特定部分应用精确、有针对性的更改更新函数逻辑、修复错误、重构代码
insert_content在文件中的特定位置插入新行添加导入、插入新函数
search_and_replace在文件中查找和替换文本或正则表达式模式重命名变量、更新重复模式

当您的请求涉及创建文件、实现功能、修复错误或重构代码时,Bob 使用写入工具。

命令工具

命令工具让 Bob 运行命令并执行系统操作。

工具目的示例用途
execute_command在工作区中运行 CLI 命令安装依赖项、运行测试、构建项目

当您的请求涉及运行命令、安装包、运行脚本或执行系统操作时,Bob 使用命令工具。

子代理工具

子代理工具让 Bob 生成一个独立的代理来处理在其自己的隔离上下文中的集中、自包含的工作。

工具目的示例用途
spawn_subagent创建具有自己上下文窗口的独立代理研究代码库部分、收集信息而不污染主上下文

子代理如何工作

子代理独立于主对话运行。它有自己的上下文窗口,执行分配的任务,并将结果摘要返回给 Bob。这使得子代理对于会向主对话添加大量无关内容的工作很有用。

Bob 谨慎使用子代理。默认情况下始终直接完成工作。只有在满足以下所有条件时才会考虑子代理:

  • 任务明确是自包含的,只需要返回摘要
  • 它会向主上下文添加大量无关内容
  • 无法通过一两次直接工具调用完成

有两种子代理类型:

类型描述
explore只读代码库探索,在较轻的模型上运行
general完全工具访问,在默认模型上运行

默认情况下,子代理看不到父对话历史记录。设置 fork_context: true 会在子代理需要了解先前的决策、约束或用户偏好时将对话历史记录传递给子代理。

Bob 将子代理用于简单的文件读取、快速搜索、单工具操作或已有相关上下文的任务。

子任务工具

子任务工具让 Bob 创建一个新的命名任务实例,该实例在 UI 中作为自己的专用对话运行。

工具目的示例用途
start_subtask创建具有标题、说明和可选待办事项列表的新任务将大型请求分解为具有自己对话线程的跟踪子任务

子任务如何工作

子任务是一个完全独立的任务,在 UI 中显示有自己的面包屑和对话历史记录。与在后台静默运行并仅返回摘要的子代理不同,子任务是可见且可交互的。您可以跟踪其进度、查看其输出并在其中继续对话。

当请求足够复杂以从专用跟踪和单独的对话线程中受益时,Bob 使用子任务。子任务可以获得:

  • 在 UI 面包屑中显示的标题
  • 包含详细说明的消息
  • 用于跟踪步骤的初始待办事项列表
  • 用于启动它的可选模式(例如,用于设计工作的计划模式)

MCP 工具

MCP 工具让 Bob 通过连接的模型上下文协议(MCP)服务器扩展其功能。

工具目的示例用途
MCP 服务器工具访问连接的 MCP 服务器提供的工具查询数据库、与 API 交互、访问外部服务

当您的请求涉及配置的 MCP 服务器提供的功能(如 monday.com、产品知识库或自定义集成)时,Bob 使用 MCP 工具。

模式工具

模式工具让 Bob 在不同模式之间切换以执行专门任务。

工具目的示例用途
switch_mode更改为不同的模式(代理、计划、询问等)切换到计划模式进行架构设计、代理模式进行实施

当您的请求更适合由不同模式及其专门功能处理时,Bob 使用模式工具。

技能工具

技能工具让 Bob 激活特定领域和任务的专门指令集。

工具目的示例用途
use_skill将命名技能的详细说明加载到当前上下文中激活 Carbon builder 技能、加载 Jira 工作流程指导

技能通过精选的特定领域指令扩展 Bob 的内置知识。当请求与技能匹配时(例如使用 Carbon Design System 组件、编写 DITA 文档或管理 Jira sprint),Bob 会在每次对话中激活一次相关技能,以在继续之前加载其完整指导。

工作流程工具

工作流程工具让 Bob 启动为特定重复任务设计的预定义多步骤流程。

工具目的示例用途
start_workflow启动具有自己结构化步骤的命名工作流程创建拉取请求、运行代码审查

工作流程是针对常见任务的精选分步流程。当请求明确符合工作流程的目的时,Bob 使用它们——例如,从 git diff 生成 PR 描述或针对基础分支审查代码更改。

待办事项工具

待办事项工具让 Bob 使用可见的检查清单跟踪多步骤任务的进度。

工具目的示例用途
update_todo_list创建或更新任务步骤的 markdown 检查清单跟踪实施步骤、标记已完成项目、添加新发现的任务

Bob 对具有多个步骤的复杂任务使用待办事项跟踪。随着工作的进展,列表会更新——将项目标记为已完成、添加新发现的步骤,并一次保持一个项目正在进行中。这为您提供了已完成和剩余工作的清晰视图。

问题工具

问题工具让 Bob 收集完成任务所需的其他信息。

工具目的示例用途
ask_followup_question请求澄清或其他详细信息询问首选实施方法、请求缺失信息

当您的请求需要更多信息或澄清才能继续时,Bob 使用问题工具。

这个主题怎么样?