インタラクティブセッションの開始

インタラクティブセッションは、ターミナル上でBobと直接会話できるインターフェースを提供し、開発作業をリアルタイムでサポートします。

Bob Shell インタラクティブセッション

インタラクティブセッションを使うべき場面

インタラクティブセッションが最も適しているのは、次のような場合です:

  • 探索的なコーディングセッション。
  • デバッグとトラブルシューティング。
  • 新しい概念や技術の学習。
  • 複数回のやり取りが必要なタスク。
  • 変更を適用する前に確認が必要なプロジェクト。

インタラクティブセッションの開始

ターミナルでインタラクティブセッションを開始するには、bob chat サブコマンドを使用します。

構文

bob chat [options]

セッションの開始

新しいターミナルウィンドウを開きます。

注意

Bob Shell を初めて起動する場合は、IBMid でログインし、ライセンス条件に同意する必要があります。

プロジェクトのメインディレクトリに移動します。

次のコマンドを実行してインタラクティブセッションを開始します:

bob chat

効果的な使用のヒント

  • より的確な応答を得るために、リクエストは具体的に記述します。
  • 必要に応じて @ 参照を使ってコードのコンテキストを提供します。
  • 複雑なタスクは小さなステップに分解します。
  • スラッシュコマンドを使って一般的な機能にすばやくアクセスします。
  • 大規模なコードベースで作業する場合は、最も関連性の高いファイルに Bob Shell を向けます。

基本的な使い方

Bob Shell との対話

  • ターミナルに指示や質問を直接入力します。
  • Enter キーを押してメッセージを Bob に送信します。
  • Bob Shell が分析結果と提案を返します。
  • ツールの使用時(ファイルの読み書きなど)は、各アクションを承認または拒否するよう求められます。

ツール承認

Bob Shell がツールの使用をリクエストすると、承認ダイアログが表示されます。ダイアログには次のオプションがあります:

オプション説明
Approve Onceこの特定のツール呼び出しを許可します。今後の呼び出しでは再度確認されます。
Approve <group> tools for taskタスクの残りの時間、同じツールグループのすべてのツールを許可します。MCP ツールには表示されません。
Always Allow Command for taskタスクの残りの時間、特定のシェルコマンドを許可します。
Rejectツール呼び出しを拒否します。Bob Shell はアクションを実行しません。

承認または拒否の際に、オプションのメモを追加することもできます。メモは追加コンテキストとしてモデルに転送されます。

承認ダイアログを開かずに自動承認を切り替えるには、macOS では Ctrl+F、Windows・Linux・WSL では Alt+F を押してください。

レスポンスのストリーミング中に Bob を中断するには Escape を押します。

マルチターン会話

Bob Shell は会話全体でコンテキストを保持するため、次のことができます:

  • フォローアップ質問をする。
  • 前のリクエストを改善する。
  • 以前の応答を基に会話を続ける。

ファイルとリソースの参照

@ 記号を使ってプロジェクト内のファイルを参照します:

Explain the functionality in @src/main.js

これにより、Bob Shell は指定したファイルを読み込んで分析してから応答します。

  • ファイルは 1 ファイルあたり最大 100 KB までインラインに展開されます。
  • すべての @ メンションのインライン展開合計は 500 KB に制限されます。
  • ディレクトリには最大 50 件のエントリが表示されます。

接続済みサーバーが公開している Model Context Protocol (MCP) リソースは、server:resource-name の形式で参照できます:

@my-server:schema.json

スキルの参照

$ に続けてスキル名を入力すると、スキルピッカーが開き、プロンプトにスキル参照を挿入できます。

ファイル変更の確認

Bob Shell がファイルを変更する必要がある場合、提案された変更がターミナルの CLI diff ビューで表示されます。

スラッシュコマンドの使用

/ を入力すると、利用可能なコマンドのメニューが表示されます:

  • /help などのヘルプ用組み込みコマンド
  • /mode ask などのモード切り替えコマンド
  • 自分で作成したカスタムコマンド

利用可能なコマンドの完全なリストについては、Bob Shell のスラッシュコマンドを参照してください。

メッセージキュー

Bob がレスポンスをストリーミング中でも、追加のメッセージを待機させずにキューに追加できます。Tab を押すと現在の入力をキューに追加できます。キューに追加されたメッセージは、各ターンが完了した後に順番に自動送信されます。

キー操作
Tab現在の入力をキューに追加(アイドル時はすぐに送信)
フォーカスをキューリストに移動
Enter選択したキュー済みアイテムを編集
Tab(キュー内)選択したアイテムをすぐに送信
Delete / Backspace選択したアイテムをキューから削除
Shift+K / Shift+J選択したアイテムを上/下に並べ替え

ステータスフッター

入力フィールドの下にあるフッターには、セッションのライブ情報が表示されます:

フィールド説明
Modeアクティブなモード名(例:Agent Mode)— 自動承認が有効の場合、赤い (auto-approve) サフィックスが表示されます
Context使用済みトークン数とコンテキストウィンドウサイズ(パーセンテージ付き)
Cost現在のタスクの累積コスト(Bobcoins 🅞)

セッション管理

前のセッションの再開

bob chat の起動時に前のセッションを再開できます:

bob chat --resume <task-id>
bob chat --resume latest

前のセッションのタスク ID を確認するには、bob --list-tasks を使用します:

bob --list-tasks

名前付きインスタンスへのアタッチ

新しいインスタンスを開始する代わりに、特定の名前付きインスタンスにアタッチするには --instance-id を使用します:

bob chat --instance-id my-project

汎用ユーティリティフラグ

一部のフラグは bob chatbob run ではなく、bob で直接呼び出します。次のフラグが利用可能です:

フラグ説明
--list-tasks [n|all]現在のワークスペースの保存済みタスクを一覧表示して終了します。デフォルトは 20 です。数値または all を渡して表示数を制御します。
--limit <n>--list-tasks で表示するタスクの最大数。
--show-licenseIBM ライセンス契約を表示して終了します。

機械可読出力

stdout が TTY でない場合(出力をパイプまたはリダイレクトする場合など)、--list-tasks は人間が読める表形式から NDJSON に切り替わり、1 行に 1 つの JSON オブジェクトが出力されます。

各行は次の形式です:

{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}
フィールド説明
idstring (UUID)一意のタスク識別子。--resume で使用可能
titlestringタスクタイトル。最初のメッセージ、次に id にフォールバック
statusstringタスクステータス(activecompletedpaused
workspacestring (file URI)file: URI としてのワークスペースの絶対パス
updatedAtnumberUnix ミリ秒単位の最終更新タイムスタンプ

# jq にパイプ
bob --list-tasks all | jq '.id'

# ファイルに保存してから処理
bob --list-tasks 100 > tasks.ndjson

# ライセンス契約を表示
bob --show-license

オプション

オプション説明
--instance-id <id>新しいセッションを開始する代わりに、指定した名前のインスタンスにアタッチします
--resume <task-id>タスク ID を指定して以前のタスクを再開します
--resume latest最新のタスクを再開します
--mode <mode>開始モードを指定します(例:agentplanask
--log-level <level>ログの詳細度を指定します:errorwarninfodebug、または trace
--auto-approveセッション中のツール承認プロンプトを抑制します。信頼されていないフォルダでは効果がありません。
--trust現在のフォルダを信頼済みとして永続化し、初回アクセス時の信頼ダイアログをスキップします。手動で「フォルダを信頼」を選択するのと同等です。信頼されたフォルダを参照してください。
--team-id <id>特定のチーム ID で実行します(general タイプの API キーを使用する場合に必要)
このトピックはいかがですか?