コンテンツにスキップ

OpenClawの思考レベル設定ガイド:推論精度を最適化する

AIとのやり取りの中で、「ここはもっと深く考えてほしい」と思うこともあれば、「とにかく早く結果がほしい」という時もありますよね。モデルの推論能力を最大限に引き出したり、逆にスピードを優先したりといった調整を、メッセージごとに細かく制御できれば開発の効率はぐっと上がります。

OpenClawでは、/think や /fast といったシンプルなディレクティブを使うことで、AIの「思考レベル」や「応答速度」を自由自在にコントロールできます。今回は、これらのディレクティブの使い方と、それぞれの設定がどのように動作に影響するのかを詳しく解説します。

メッセージの本文内にインラインディレクティブを含めることで、思考レベルを指定できます。形式は /t <level>、/think:<level>、または /thinking <level> のいずれかを使用します。

指定可能なレベル(およびエイリアス)は以下の通りです:

  • off | minimal | low | medium | high | xhigh | adaptive
    • minimal → “think”
    • low → “think hard”
    • medium → “think harder”
    • high → “ultrathink” (最大予算)
    • xhigh → “ultrathink+” (GPT-5.2 + Codex モデルのみ)
    • adaptive → プロバイダーが管理する適応型推論予算 (Anthropic Claude 4.6 モデルファミリーでサポート)
    • x-high, x_high, extra-high, extra high, extra_high は xhigh にマッピングされます。
    • highest, max は high にマッピングされます。

プロバイダーに関する注意点:

  • Anthropic Claude 4.6 モデルは、思考レベルが明示的に設定されていない場合、デフォルトで adaptive になります。
  • Z.AI (zai/*) は、バイナリ形式の思考設定(on/off)のみをサポートしています。off 以外のレベルはすべて on として扱われ、low にマッピングされます。
  • Moonshot (moonshot/*) は、/think off を thinking: { type: "disabled" } に、それ以外のレベルを thinking: { type: "enabled" } にマッピングします。思考が有効な場合、Moonshot は tool_choice として auto|none のみを受け付けます。OpenClaw は互換性のない値を auto に正規化します。

思考レベルは以下の順序で解決されます:

  1. メッセージ内のインラインディレクティブ(そのメッセージのみに適用)
  2. セッションの上書き設定(ディレクティブのみのメッセージを送信して設定)
  3. エージェントごとのデフォルト設定(設定ファイルの agents.list[].thinkingDefault)
  4. グローバルデフォルト設定(設定ファイルの agents.defaults.thinkingDefault)
  5. フォールバック:Anthropic Claude 4.6 モデルの場合は adaptive、その他の推論能力を持つモデルの場合は low、それ以外は off
  • ディレクティブのみのメッセージ(前後の空白は許容)を送信すると、セッションのデフォルトを設定できます。例:/think:medium や /t high。
  • この設定は現在のセッション(デフォルトでは送信者ごと)で維持されます。/think:off を送信するか、セッションのアイドルリセットによってクリアされます。
  • 設定時には確認の返信が届きます(Thinking level set to high. / Thinking disabled.)。無効なレベル(例:/thinking big)が指定された場合は、ヒントと共に拒否され、セッションの状態は変更されません。
  • 引数なしで /think(または /think:)を送信すると、現在の思考レベルを確認できます。
  • Embedded Pi: 解決されたレベルは、プロセス内で実行されている Pi エージェントのランタイムに渡されます。
  • レベル:on|off
  • ディレクティブのみのメッセージを送信すると、セッションのファストモード設定が切り替わり、Fast mode enabled. または Fast mode disabled. と返信されます。
  • モードを指定せずに /fast(または /fast status)を送信すると、現在の有効なファストモードの状態を確認できます。
  • OpenClaw は以下の順序でファストモードを解決します:
    1. インラインまたはディレクティブのみの /fast on|off
    2. セッションの上書き設定
    3. エージェントごとのデフォルト設定 (agents.list[].fastModeDefault)
    4. モデルごとの設定: agents.defaults.models["<provider>/<model>"].params.fastMode
    5. フォールバック: off
  • openai/* の場合、ファストモードは、サポートされている Responses リクエストに service_tier=priority を送信することで、OpenAI の優先処理にマッピングされます。
  • openai-codex/* の場合、ファストモードは Codex Responses に対して同じ service_tier=priority フラグを送信します。OpenClaw は両方の認証パスで一つの共有 /fast トグルを維持します。
  • api.anthropic.com に送信される OAuth 認証済みトラフィックを含む、直接的なパブリック anthropic/* リクエストの場合、ファストモードは Anthropic のサービスティアにマッピングされます。/fast on は service_tier=auto を設定し、/fast off は service_tier=standard_only を設定します。
  • 明示的な Anthropic の serviceTier / service_tier モデルパラメータが設定されている場合、両方が設定されていてもファストモードのデフォルトより優先されます。ただし、OpenClaw は Anthropic 以外のプロキシベース URL に対しては、Anthropic のサービスティアの注入をスキップします。

詳細出力ディレクティブ (/verbose または /v)

Section titled “詳細出力ディレクティブ (/verbose または /v)”
  • レベル:on (minimal) | full | off (デフォルト)
  • ディレクティブのみのメッセージを送信すると、セッションの詳細出力設定が切り替わり、Verbose logging enabled. または Verbose logging disabled. と返信されます。無効なレベルの場合は、状態を変更せずにヒントを返します。
  • /verbose off は明示的なセッション上書きとして保存されます。これをクリアするには、Sessions UI で inherit を選択してください。
  • インラインディレクティブはそのメッセージのみに影響し、それ以外の場合はセッションまたはグローバルのデフォルトが適用されます。
  • 引数なしで /verbose(または /verbose:)を送信すると、現在の詳細出力レベルを確認できます。
  • 詳細出力が on の場合、構造化されたツール実行結果を出力するエージェント(Pi やその他の JSON エージェント)は、各ツール呼び出しをメタデータのみのメッセージとして個別に返します。利用可能な場合は <emoji> <tool-name>: <arg> (path/command) がプレフィックスとして付きます。これらのツールサマリーは、各ツールが開始されるとすぐに(個別のバブルとして)送信され、ストリーミングの差分としては送信されません。
  • ツールの失敗サマリーは通常モードでも表示されますが、詳細出力が on または full でない限り、生のエラー詳細は非表示になります。
  • 詳細出力が full の場合、ツールの出力も完了後に転送されます(個別のバブルとして送信され、安全な長さに切り詰められます)。実行中に /verbose on|full|off を切り替えた場合、それ以降のツールバブルには新しい設定が適用されます。
  • レベル:on|off|stream
  • ディレクティブのみのメッセージを送信することで、返信内に思考ブロックを表示するかどうかを切り替えます。
  • 有効な場合、推論プロセスは Reasoning: というプレフィックスが付いた別のメッセージとして送信されます。
  • stream (Telegram のみ): 返信の生成中に Telegram のドラフトバブル内に推論プロセスをストリーミングし、最終的な回答を推論プロセスなしで送信します。
  • エイリアス: /reason
  • 引数なしで /reasoning(または /reasoning:)を送信すると、現在の推論表示レベルを確認できます。
  • 優先順位:インラインディレクティブ、セッションの上書き設定、エージェントごとのデフォルト設定 (agents.list[].reasoningDefault)、フォールバック (off)。
  • Elevated mode に関するドキュメントは Elevated mode を参照してください。
  • ハートビートプロンプトの本文は、設定されたハートビートプロンプトになります(デフォルト: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.)。ハートビートメッセージ内のインラインディレクティブは通常通り適用されます(ただし、ハートビートからセッションのデフォルトを変更することは避けてください)。
  • ハートビートの配信は、デフォルトで最終的なペイロードのみとなります。個別の Reasoning: メッセージも送信したい場合は(利用可能な場合)、agents.defaults.heartbeat.includeReasoning: true またはエージェントごとの agents.list[].heartbeat.includeReasoning: true を設定してください。
  • Web チャットの思考レベルセレクターは、ページ読み込み時にセッションストアまたは設定から取得されたレベルを反映します。
  • セレクターで別のレベルを選択した場合、それは次のメッセージ(thinkingOnce)にのみ適用されます。送信後、セレクターは保存されているセッションレベルに戻ります。
  • セッションのデフォルトを変更するには、前述の通り /think:<level> ディレクティブを送信してください。次回のページリロード後にセレクターに反映されます。

困ったときは、いつでも AI Setup Assistant に相談してくださいね。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。