思考はどこから来るか
各 runtime が AI 社員の思考を思考の表示にどう伝えるかの説明です。どの報告も、誰かの目に触れる前に同じターン単位のゲート(伏せ字化、切り詰め、CONTRACT と出力ガードのチェック)を通ります。ここにある仕組みはモデルの思考量もターンの費用も変えません。費用を決めるのは [model] effort だけです。
runtime がリクエストを変えるのは、そのターンを読む人が思考テキストを見られる場合(ログイン済みの WebChat ユーザーで、表示が summary)だけです。cron、タスクのディスパッチ、ハートビート、タイマーしか見られない読者のターンでは、コマンドラインもリクエスト本文も以前とまったく同じです。
| Runtime | 表示されるもの | リクエストが変わる条件 |
|---|---|---|
| Claude CLI | リアルタイムの思考テキスト(CLI が返す場合)、随時更新されるトークン推定、暗号化されたブロック、ターン全体の思考トークン数 | テキストを読める読者のときだけ --include-partial-messages を追加 |
| Codex CLI | 推論の要約(reasoning アイテム)と推論トークン(実行後) |
テキストを読める読者のときだけ -c model_reasoning_summary=auto を追加 |
| OpenAI 互換 API(DeepSeek、Qwen、vLLM、OpenRouter など) | モデル自身の推論(reasoning_content、reasoning、または回答冒頭の <think>…</think>)。匿名化が有効なときだけテキストを表示 |
テキストの読者がいなければ変更なし。いる場合はツールループがストリーミングに切り替わり、推論が書かれるそばから表示される |
| Anthropic Direct API | 思考の要約、要約なし・暗号化されたブロック(呼び出し後) | テキストを読める読者がいて、かつ毎回思考するモデル(Opus 5/5.5、Sonnet 5/5.5、Haiku 5.5、Fable、Mythos)のときだけ要約表示を要求。費用は変わらない |
Antigravity(agy) |
まだなし(タイマーのみ) | 変更なし |
| Grok CLI | なし(タイマーのみ) | 変更なし |
- Claude CLI。 新しいモデルは
-pモードで中身が空の思考ブロックを返すことが多く、その場合は「このモデルは思考の要約を提供していません」と表示されます。新しめの CLI はsystem/thinking_tokensフレームを送るので、テキストがなくてもトークン推定は出ます。部分メッセージの行は思考パーサーが処理し、タスクツリー、予兆検知、オペレーター結果の取得、回答テキストには渡しません。回答が二重に数えられることはありません。署名と暗号化された思考データは CLI パーサーの外に出ません。DUDUCLAW_STREAM_DEBUG=1のとき、claude_stream.logには各thinking_delta行の代わりに{"type":"stream_event","elided":"thinking_delta"}が記録されます。部分メッセージの行は失敗時の診断情報にも入りません。 - Codex CLI。 推論アイテムは実行が終わってから読みます(CLI 出力の行単位ストリーミングは未対応)。要約は回答と同時に表示されます。
- OpenAI 互換 API。 オープンモデルは自分の推論の原文を返すため、匿名化が有効なときだけテキストを表示し、無効なら秒数・トークンとヒントだけを表示します。
<think>は回答の先頭(空白を除いた位置)にある場合だけ認識し、閉じタグがなければ最後まで推論として扱います。社員が送る回答は変わりません(先頭の<think>ブロックは従来どおり取り除かれます)。ツールループのメッセージ(推論部分を含む)はプロバイダーが返したとおりにモデルへ戻します。ストリーミングを受け付けないプロバイダーには通常の呼び出しに切り替えるので、ターンはそのまま完了します。使用量が付いていないストリーミング回答はトークン推定で記録し、cost_telemetry.dbにusage_estimated = 1を付けます。 - Anthropic Direct API とオペレーターのツールループ。 呼び出しごとに要約を報告します。署名と
redacted_thinkingデータはそのままモデルへ戻し、表示はしません。 - Antigravity。
tool以外のステップ種別は名前だけをデバッグログに記録し、語彙がわかった時点で対応付けます。
実際のクォータではまだ検証していません:現行モデルで claude -p が空でない思考テキストを返すか、実アカウントで codex exec がいつ推論アイテムを出すか、agy のステップ語彙。パーサーは固定データとスタブ CLI でテストしています。