核心概念

工具

了解 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 麵包屑中顯示的標題
  • 包含詳細說明的訊息
  • 用於追蹤步驟的初始待辦事項清單
  • 用於啟動它的可選模式(例如,用於設計工作的 Plan 模式)

MCP 工具

MCP 工具讓 Bob 透過連接的模型上下文協定(MCP)伺服器擴展其功能。

工具用途使用範例
MCP 伺服器工具存取已連接 MCP 伺服器提供的工具查詢資料庫、與 API 互動、存取外部服務

當您的請求涉及已配置 MCP 伺服器提供的功能(如 monday.com、產品知識庫或自訂整合)時,Bob 會使用 MCP 工具。

模式工具

模式工具讓 Bob 在不同模式之間切換以執行專業任務。

工具用途使用範例
switch_mode切換到不同的模式(Agent、Plan、Ask 等)切換到 Plan 模式進行架構設計、Agent 模式進行實作

當您的請求更適合由不同模式及其專業功能處理時,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 會使用問題工具。

這個主題如何?