コアコンセプト

ツール

Bobがファイルの読み取り、コードの編集、コマンドの実行、サブエージェントの生成、MCP統合の使用、モードの切り替えに特殊なツールをどのように使用してコーディング・ワークフローを効率化するかを学びます。

ツール・ワークフロー

Bobと作業する際、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はサブエージェントを控えめに使用します。デフォルトは常に作業を直接実行することです。サブエージェントは、次のすべてが当てはまる場合にのみ検討されます:

  • タスクが明確に自己完結しており、要約のみが必要
  • メイン・コンテキストに大量の無関係なコンテンツを追加する
  • 1つまたは2つの直接ツール呼び出しでは達成できない

サブエージェントには2つのタイプがあります:

タイプ説明
explore読み取り専用のコードベース探索、より軽量なモデルで実行
general完全なツール・アクセス、デフォルト・モデルで実行

デフォルトでは、サブエージェントは親の会話履歴を参照しません。fork_context: trueを設定すると、以前の決定、制約、またはユーザー設定を理解する必要がある場合に、会話履歴がサブエージェントに渡されます。

Bobは、単純なファイル読み取り、クイック検索、単一ツール操作、または関連するコンテキストがすでにあるタスクにはサブエージェントを使用しません

サブタスク・ツール

サブタスク・ツールにより、Bobは新しい名前付きタスク・インスタンスを作成でき、UIで独自の専用会話として実行されます。

ツール目的使用例
start_subtaskタイトル、指示、オプションのTodoリストを持つ新しいタスクを作成します大きなリクエストを独自の会話スレッドを持つ追跡されたサブタスクに分割

サブタスクの仕組み

サブタスクは完全に独立したタスクで、UIに独自のブレッドクラムと会話履歴で表示されます。サブエージェント(バックグラウンドで静かに実行され、要約のみを返す)とは異なり、サブタスクは可視的でインタラクティブです。進行状況を追跡し、出力を確認し、その中で会話を続けることができます。

Bobは、リクエストが専用の追跡と別の会話スレッドから恩恵を受けるほど複雑な場合にサブタスクを使用します。サブタスクには次のものを指定できます:

  • UIブレッドクラムに表示されるタイトル
  • 詳細な指示を含むメッセージ
  • ステップを追跡するための初期Todoリスト
  • 開始するオプションのモード(例:設計作業用のPlanモード)

MCPツール

MCPツールにより、Bobは接続されたModel Context Protocol(モデル・コンテキスト・プロトコル、MCP)サーバーを通じて機能を拡張できます。

ツール目的使用例
MCPサーバー・ツール接続されたMCPサーバーが提供するツールにアクセスしますデータベースのクエリー、APIとの対話、外部サービスへのアクセス

Bobは、リクエストが設定されたMCPサーバーによって提供される機能(monday.com、製品ナレッジ・ベース、カスタム統合など)を含む場合にMCPツールを使用します。

モード・ツール

モード・ツールにより、Bobは特殊なタスクのために異なるモード間を切り替えることができます。

ツール目的使用例
switch_mode別のモード(Agent、Plan、Askなど)に切り替えますアーキテクチャー設計のためにPlanモードに切り替え、実装のためにAgentモード

Bobは、リクエストが別のモードとその特殊な機能によってより適切に処理される場合にモード・ツールを使用します。

スキル・ツール

スキル・ツールにより、Bobは特定のドメインとタスクのための特殊な指示セットをアクティブ化できます。

ツール目的使用例
use_skill名前付きスキルの詳細な指示を現在のコンテキストにロードしますCarbon builderスキルをアクティブ化、Jiraワークフロー・ガイダンスをロード

スキルは、キュレートされたドメイン固有の指示でBobの組み込み知識を拡張します。リクエストがスキル(Carbon Design Systemコンポーネントの操作、DITAドキュメントの作成、Jiraスプリントの管理など)に一致する場合、Bobは会話ごとに1回、関連するスキルをアクティブ化して、続行する前に完全なガイダンスをロードします。

ワークフロー・ツール

ワークフロー・ツールにより、Bobは特定の繰り返しタスク用に設計された事前定義されたマルチステップ・プロセスを起動できます。

ツール目的使用例
start_workflow独自の構造化されたステップを持つ名前付きワークフローを起動しますPull Requestの作成、コード・レビューの実行

ワークフローは、一般的なタスクのためのキュレートされたステップバイステップ・プロセスです。Bobは、リクエストがワークフローの目的と明確に一致する場合(例:git diffからPR説明を生成する、ベース・ブランチに対してコード変更をレビューする)にそれらを使用します。

Todoツール

Todoツールにより、Bobは可視的なチェックリストを使用してマルチステップ・タスクの進行状況を追跡できます。

ツール目的使用例
update_todo_listタスク・ステップのMarkdownチェックリストを作成または更新します実装ステップの追跡、完了項目のマーク、新しく発見されたタスクの追加

Bobは、複数のステップを持つ複雑なタスクにTodo追跡を使用します。リストは作業の進行に応じて更新されます。項目を完了としてマークし、新しく発見されたステップを追加し、一度に1つの項目を進行中に保ちます。これにより、何が完了し、何が残っているかを明確に把握できます。

質問ツール

質問ツールにより、Bobはタスクを完了するために必要な追加情報を収集できます。

ツール目的使用例
ask_followup_question明確化または追加の詳細を要求します優先実装アプローチの質問、不足情報の要求

Bobは、リクエストがBobが続行する前により多くの情報や明確化を必要とする場合に質問ツールを使用します。

このトピックはいかがですか?