メインコンテンツへスキップ

BTW 脇道の質問

/btw を使うと、現在のセッションについての手短な脇道の質問を、 その質問を通常の会話履歴に含めることなく行えます。 これは Claude Code の /btw の動作を手本にしていますが、OpenClaw の Gateway とマルチチャネルアーキテクチャ向けに調整されています。

何をするか

次のように送信するとします。
/btw what changed?
OpenClaw は次のように動作します。
  1. 現在のセッションコンテキストをスナップショットする。
  2. 別個のツールなしモデル呼び出しを実行する。
  3. 脇道の質問にだけ答える。
  4. メインの実行には手を加えない。
  5. BTW の質問や回答をセッション履歴に書き込まない
  6. 回答を通常のアシスタントメッセージではなく、ライブのサイド結果として送出する。
重要な考え方は次のとおりです。
  • 同じセッションコンテキスト
  • 別個のワンショットの脇道クエリ
  • ツール呼び出しなし
  • 将来のコンテキストを汚染しない
  • トランスクリプトに永続化しない

しないこと

/btw は次のことをしません
  • 新しい永続セッションを作成する
  • 未完了のメインタスクを続行する
  • ツールやエージェントのツールループを実行する
  • BTW の質問/回答データをトランスクリプト履歴に書き込む
  • chat.history に現れる
  • リロード後も残る
これは意図的に一時的です。

コンテキストの仕組み

BTW は、現在のセッションを背景コンテキストのみとして使用します。 メインの実行が現在進行中である場合、OpenClaw は現在のメッセージ状態を スナップショットし、進行中のメインプロンプトを背景コンテキストとして含めつつ、 モデルに対して明示的に次のように伝えます。
  • 脇道の質問にだけ答えること
  • 未完了のメインタスクを再開または完了しないこと
  • ツール呼び出しや疑似ツール呼び出しを出力しないこと
これにより、BTW はメインの実行から切り離されたまま、 そのセッションが何についてのものかを把握できます。

配信モデル

BTW は通常のアシスタントトランスクリプトメッセージとしては配信されません Gateway プロトコルレベルでは:
  • 通常のアシスタントチャットは chat イベントを使用
  • BTW は chat.side_result イベントを使用
この分離は意図的です。BTW が通常の chat イベント経路を再利用すると、 クライアントはそれを通常の会話履歴として扱ってしまいます。 BTW は別個のライブイベントを使用し、chat.history から再生されないため、 リロード後には消えます。

サーフェスごとの動作

TUI

TUI では、BTW は現在のセッションビュー内にインライン表示されますが、 一時的なままです。
  • 通常のアシスタント返信とは見た目で明確に区別される
  • Enter または Esc で閉じられる
  • リロード時には再表示されない

外部チャネル

Telegram、WhatsApp、Discord のようなチャネルでは、BTW は 明確にラベル付けされた単発の返信として配信されます。これらのサーフェスには ローカルの一時的オーバーレイという概念がないためです。 それでも回答は通常のセッション履歴ではなく、サイド結果として扱われます。

Control UI / web

Gateway は BTW を chat.side_result として正しく送出し、BTW は chat.history に含まれないため、永続化に関する契約は web 向けにも すでに正しくなっています。 現在の Control UI では、ブラウザー内で BTW をライブ表示するための専用 chat.side_result コンシューマーがまだ必要です。そのクライアント側サポートが 入るまでは、BTW は Gateway レベルの機能として TUI と外部チャネルでは 完全に動作しますが、ブラウザー UX はまだ完全ではありません。

BTW を使うべきとき

次のような場合には /btw を使ってください。
  • 現在の作業についての手短な確認が欲しい
  • 長い実行がまだ進行中の間に、事実ベースの脇道の回答が欲しい
  • 今後のセッションコンテキストの一部にすべきでない一時的な回答が欲しい
例:
/btw what file are we editing?
/btw what does this error mean?
/btw summarize the current task in one sentence
/btw what is 17 * 19?

BTW を使うべきでないとき

回答をセッションの今後の作業コンテキストの一部にしたい場合は、 /btw を使わないでください。 その場合は BTW を使う代わりに、メインセッションで通常どおり質問してください。

関連