ツール
Bob Shell がコマンドラインからファイルの読み取り、コードの編集、コマンドの実行、開発環境との対話に特化したツールをどのように使用するかを学びます。
ツールのワークフロー
自然言語で実行したいことを説明すると、Bob Shell は:
- リクエストに基づいて適切なツールを選択します。
- ツールとそのパラメーターを確認のために提示します。
- 承認されたツールを実行して結果を表示します。
- タスクが完了するまでこのプロセスを繰り返します。
ツールのカテゴリ
Bob Shell のツールは主な機能に基づいてカテゴリに整理されています。これらのカテゴリを理解することで、Bob Shell ができることとその方法がわかります。
読み取りツール
変更を加えずにファイルのコンテンツにアクセスし、コード構造を理解します。
| ツール | 目的 | 使用例 |
|---|---|---|
read_file | 1 つまたは複数のファイルの内容を読み取る | 設定ファイルの確認、ソースコードの調査 |
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 | シェルコマンド実行ツール | ✓ | — | — |
mcp | MCP サーバーツール | ✓ | ✓ | ✓ |
skill | スキル関連ツール | ✓ | ✓ | ✓ |
todo | To-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"