---
read_when:
    - 現在のセッションについて簡単な横道の質問をしたい
    - クライアント間の BTW 動作を実装またはデバッグしている
summary: /btw による一時的な補足質問
title: ところで補足の質問
x-i18n:
    generated_at: "2026-06-27T13:09:26Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: cf97c17fb02c2464b1d1b31cfec652d52c60be6ce0cad25eaf32a9c080843ef2
    source_path: tools/btw.md
    workflow: 16
---

`/btw` を使うと、**現在のセッション**についての短い横道の質問を、その質問を通常の会話履歴に入れずに尋ねられます。`/side` はエイリアスです。

これは Claude Code の `/btw` 動作をモデルにしていますが、OpenClaw の Gateway とマルチチャネルアーキテクチャに合わせて調整されています。

## 何をするか

次のように送信すると:

```text
/btw what changed?
```

OpenClaw は次を行います。

1. 現在のセッションコンテキストのスナップショットを取得する
2. 別の一時的な横道クエリを実行する
3. 横道の質問だけに回答する
4. メインの実行には手を加えない
5. BTW の質問や回答をセッション履歴に書き込まない
6. 通常のアシスタントメッセージではなく、**ライブの横道結果**として回答を発行する

重要なメンタルモデルは次のとおりです。

- 同じセッションコンテキスト
- 別の一回限りの横道クエリ
- セッションがネイティブハーネスを使う場合は同じネイティブハーネストランスポート
- 将来のコンテキスト汚染なし
- トランスクリプト永続化なし

Codex ハーネスセッションでは、BTW はアクティブな app-server スレッドを一時的な横道スレッドとしてフォークすることで、Codex の内部に留まります。これにより、Codex OAuth とネイティブスレッドの動作を保ったまま、横道の回答を親トランスクリプトから分離できます。Codex `/side` と同様に、横道スレッドは現在の Codex 権限とネイティブツールサーフェスを維持し、継承した親スレッドの作業をアクティブな指示として扱わないようモデルに伝えるガードレールを備えています。

CLI ランタイムエイリアスでは、BTW は直接のプロバイダー呼び出しにフォールバックするのではなく、所有する CLI バックエンドを横道質問モードで使用します。OpenClaw はサニタイズ済みの会話コンテキストを新しい一回限りの CLI 呼び出しにシードし、その呼び出しでは OpenClaw MCP ツールのバンドルと再利用可能な CLI セッション状態を無効にし、バックエンドが対応している CLI ネイティブの no-resume または no-tools フラグを追加できるようにします。直接の非 CLI ランタイムは、直接の一回限りのパスを維持します。

## 何をしないか

`/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 は完全な TUI と外部チャネルの動作を備えた Gateway レベルの機能ですが、完全なブラウザー UX にはまだなっていません。

## BTW を使う場面

次のような場合は `/btw` を使用します。

- 現在の作業について短い確認をしたい
- 長い実行がまだ進行中の間に、事実に基づく横道の回答がほしい
- 将来のセッションコンテキストの一部にしたくない一時的な回答がほしい

例:

```text
/btw what file are we editing?
/side what changed while the main run continued?
/btw what does this error mean?
/btw summarize the current task in one sentence
/btw what is 17 * 19?
```

## BTW を使わない場面

回答をセッションの将来の作業コンテキストの一部にしたい場合は、`/btw` を使わないでください。

その場合は、BTW を使う代わりにメインセッションで通常どおり質問してください。

## 関連

<CardGroup cols={2}>
  <Card title="Slash commands" href="/ja-JP/tools/slash-commands" icon="terminal">
    ネイティブコマンドカタログとチャットディレクティブ。
  </Card>
  <Card title="Thinking levels" href="/ja-JP/tools/thinking" icon="brain">
    横道質問のモデル呼び出し向けの推論努力レベル。
  </Card>
  <Card title="Session" href="/ja-JP/concepts/session" icon="comments">
    セッションキー、履歴、永続化セマンティクス。
  </Card>
  <Card title="Steer command" href="/ja-JP/tools/steer" icon="arrow-right">
    アクティブな実行を終了せずに、誘導メッセージを挿入します。
  </Card>
</CardGroup>
