by shigemk2

当面は技術的なことしか書かない

Codex Reasoning パラメータまとめ

3つのパラメータの違い

パラメータ 制御対象 設定値 デフォルト
model_reasoning_effort 思考の深さ(内部処理) none / minimal / low / medium / high / xhigh medium
model_verbosity 出力テキストの長さ low / medium / high medium
model_reasoning_summary 推論過程の要約表示 none / concise / detailed / auto auto

注意: これらのパラメータは Responses API を使用するプロバイダー(OpenAI等)でのみ有効。Chat Completions API(Ollama等)では無視される。

各パラメータの詳細

model_reasoning_effort(思考の深さ)

モデルが回答を出す前に「どれだけ深く考えるか」を制御する。

  • 何が変わるか: 推論トークン(内部で考えるトークン)の生成量
  • コストへの影響: 推論トークンは出力トークンとして課金されるため、設定を上げるとコストが大幅に増加する可能性がある
xhigh: 最も深く考える(数万〜数十万トークン使用の可能性)
high:  深く考える
medium: 標準(推奨)
low:   軽く考える
minimal: 最小限の推論
none:  推論なし(最速・最安)

model_verbosity(出力の長さ)

モデルが最終的に返す回答の詳細さ・長さを制御する。

  • 何が変わるか: ユーザーに見せる最終出力テキストの文字数
  • コストへの影響: 出力トークン数が変わるが、推論トークンほどの差は出ない
high:   詳細な説明、長い回答
medium: 標準的な回答
low:    簡潔な回答

model_reasoning_summary(推論の要約表示)

モデルの内部推論過程をどの程度ユーザーに見せるかを制御する。

  • 何が変わるか: 「Thinking: ○○を分析中...」のような表示の詳細さ
  • コストへの影響: 要約は別モデルが生成するため、推論量自体は変わらない(表示/非表示の違いのみ)
detailed: 詳しい要約を表示
concise:  簡潔な要約を表示
auto:     モデルに任せる(通常はdetailed相当)
none:     要約を非表示

処理フローとパラメータの関係

┌─────────────────────────────────────────────────────────┐
│ ユーザーの質問                                           │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│ 【内部推論】                                             │
│                                                         │
│  → model_reasoning_effort: 推論の深さを制御              │
│  → model_reasoning_summary: 推論の要約表示を制御         │
│    "Thinking: ファイルを分析中..."                       │
└─────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────┐
│ 【最終回答】                                             │
│                                                         │
│  → model_verbosity: 回答の長さを制御                     │
│    "認証機能を実装しました。..."                          │
└─────────────────────────────────────────────────────────┘

ChatGPTモードとの対応

ChatGPT Codex での設定
GPT-5.2 Instant model_reasoning_effort = "none"
GPT-5.2 Thinking model_reasoning_effort = "high"
GPT-5.2 Pro model_reasoning_effort = "xhigh"

設定例

config.toml

# 日常用(バランス型)
model = "gpt-5.2-codex"
model_reasoning_effort = "medium"
model_reasoning_summary = "auto"
model_verbosity = "medium"

# Thinking相当(深い推論)
model = "gpt-5.2"
model_reasoning_effort = "high"
model_reasoning_summary = "detailed"
model_verbosity = "medium"

# コスト重視(速度優先)
model = "gpt-5.2"
model_reasoning_effort = "low"
model_reasoning_summary = "none"
model_verbosity = "low"

# CI環境(静かに実行)
model_reasoning_effort = "medium"
model_reasoning_summary = "none"
model_verbosity = "low"
hide_agent_reasoning = true

プロファイルで切り替え

# デフォルト
model = "gpt-5.2-codex"
model_reasoning_effort = "medium"

[profiles.thinking]
model_reasoning_effort = "high"

[profiles.pro]
model_reasoning_effort = "xhigh"

[profiles.fast]
model_reasoning_effort = "low"
model_verbosity = "low"

使用時:

codex --profile thinking "複雑なタスク"

コストへの影響(公式ドキュメントより)

While reasoning tokens are not visible via the API, they still occupy space in the model's context window and are billed as output tokens.

https://platform.openai.com/docs/guides/reasoning

参考リンク