---
read_when:
    - 現在のセッションについて簡単な補足質問をしたい
    - クライアント間の BTW の動作を実装またはデバッグしている
summary: /btw で行う一時的な補足質問
title: ちなみに補足の質問
x-i18n:
    generated_at: "2026-05-11T20:38:00Z"
    model: gpt-5.5
    provider: openai
    source_hash: fba82915b0a8f59d20073dac5c159c4aff4e81ccb1be5979be521212e22c493a
    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 権限とネイティブツール面を保持し、継承された親スレッドの作業をアクティブな指示として扱わないようモデルに伝えるガードレールを備えます。Codex 以外のランタイムは、従来の直接ワンショットパスを維持します。

## 何をしないか

`/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>
