コアコンセプト

ツール

Bob Shell がコマンドラインからファイルの読み取り、コードの編集、コマンドの実行、開発環境との対話に特化したツールをどのように使用するかを学びます。

ツールのワークフロー

自然言語で実行したいことを説明すると、Bob Shell は:

  1. リクエストに基づいて適切なツールを選択します。
  2. ツールとそのパラメーターを確認のために提示します。
  3. 承認されたツールを実行して結果を表示します。
  4. タスクが完了するまでこのプロセスを繰り返します。

ツールのカテゴリ

Bob Shell のツールは主な機能に基づいてカテゴリに整理されています。これらのカテゴリを理解することで、Bob Shell ができることとその方法がわかります。

読み取りツール

変更を加えずにファイルのコンテンツにアクセスし、コード構造を理解します。

ツール目的使用例
read_file1 つまたは複数のファイルの内容を読み取る設定ファイルの確認、ソースコードの調査
search_files正規表現を使って複数のファイルにわたってパターンを検索するTODO コメントをすべて見つける、関数定義を探す
list_files指定したパスのファイルとディレクトリを一覧表示するプロジェクト構造の確認、特定のファイルタイプを探す
list_code_definition_namesソースファイルからクラス、関数、メソッド名を抽出するコード構成の概要を把握する

Bob Shell が読み取りツールを使う場面: コードのレビュー、特定のパターンの検索、プロジェクト構造の把握を依頼したとき。

書き込みツール

新しいファイルを作成したり、既存のコードを正確に変更したりします。

ツール目的使用例
write_to_file新しいファイルを作成するか、既存のファイルを完全に書き直す新しいコンポーネントの生成、設定ファイルの作成
apply_diffファイルの特定のセクションに的を絞った変更を加える関数ロジックの更新、バグの修正、コードのリファクタリング
insert_contentファイルの特定の場所に新しい行を追加するインポートの追加、新しい関数の挿入

Bob Shell が書き込みツールを使う場面: ファイルの作成、機能の実装、バグの修正、コードのリファクタリングを依頼したとき。

コマンドツール

ターミナルでコマンドを実行し、システム操作を行います。

ツール目的使用例
execute_commandワークスペースで CLI コマンドを実行する依存関係のインストール、テストの実行、プロジェクトのビルド

Bob Shell がコマンドツールを使う場面: コマンドの実行、パッケージのインストール、スクリプトの実行、システム操作の完了を依頼したとき。

MCP ツール

Model Context Protocol サーバーを通じて Bob Shell の機能を拡張します。

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

モードツール

特化したタスクのために異なる Bob Shell モードに切り替えます。

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

Bob Shell がモードツールを使う場面: 現在のタスクが別のモードの特化した機能から恩恵を受けると判断したとき。

質問ツール

タスクを完了するために必要な追加情報を収集します。

ツール目的使用例
ask_followup_question確認や追加の詳細をリクエストする優先する実装方法を確認する、不足している情報をリクエストする

ツールグループ

ツールグループは、まとめて有効化または無効化できる関連ツールの名前付きコレクションです。ツールグループを使用して、特定のセッションで Bob Shell ができることを制限できます。たとえば、読み取り専用の監査でファイル書き込みを防いだり、管理された環境でコマンド実行を無効にしたりできます。

利用可能なツールグループ

グループ含まれるツールAgent でのデフォルトPlan でのデフォルトAsk でのデフォルト
readファイル読み取り、検索、一覧表示ツール
editファイル書き込みと diff ツール
executeシェルコマンド実行ツール
mcpMCP サーバーツール
skillスキル関連ツール
todoTo-do リスト管理ツール
subagentサブエージェント生成ツール
modeモード切り替えツール

ツールグループの無効化

bob run または bob chat--disable-tool-groups を渡し、グループ名をカンマ区切りで指定します:

# コマンド実行と MCP ツールを無効にする
bob run --disable-tool-groups execute,mcp "Review @src/"

# 読み取り専用モードで実行する
bob run --disable-tool-groups edit,execute,mcp "Summarize the codebase"

専用フラグを使ってすべての MCP サーバーを一括で無効にすることもできます:

bob run --disable-mcp "Explain @app.js"
このトピックはいかがですか?