Codex の推論(reasoning)の表示を消す・詳しくする設定:hide_agent_reasoning と要約の粒度
Codex CLI の推論の要約を非表示にする hide_agent_reasoning、生の推論を表示する show_raw_agent_reasoning、要約の粒度を決める model_reasoning_summary の違いと、非対話モードでの扱いを解説します。
Codex は応答の途中で「何を考えているか」の要約を表示します。作業の追跡には便利ですが、ログを流し読みしたいときや、codex exec の出力をスクリプトで扱いたいときには邪魔になります。逆に、なぜその判断をしたのかをもっと詳しく見たい場面もあります。
結論として、表示は hide_agent_reasoning(消す)と show_raw_agent_reasoning(生の推論を出す)、要約の粒度は model_reasoning_summary で制御します。推論の 深さ を決める model_reasoning_effort とは別の設定です。
KEY POINT
この記事で分かること
- 表示に関する 3 つのキーの役割と既定
- 「表示」の設定と「深さ」の設定(
model_reasoning_effort)の違い - モデルやプロバイダによって効かないケース
3 つのキー
hide_agent_reasoning = true # 推論イベントを出力しない
show_raw_agent_reasoning = false # 生の推論を出す(モデルが返す場合)
model_reasoning_summary = "concise" # auto | concise | detailed | none
| キー | 型 | 既定 | 意味 |
|---|---|---|---|
hide_agent_reasoning | 真偽値 | false | true で推論イベントを出力から抑える |
show_raw_agent_reasoning | 真偽値 | 未設定 | モデルが生の推論を返すとき、それを表示する |
model_reasoning_summary | 文字列 | 未設定 | 要約の粒度。auto / concise / detailed / none |
hide_agent_reasoning = true にすると、モデルの推論に関するイベントが出力から消え、ツールの実行と最終的な応答だけが残ります。model_reasoning_summary = "none" は要約の生成自体を止める設定で、表示だけを抑える hide_agent_reasoning とは層が違います。
用語解説
推論の要約(reasoning summary): モデルが内部で行った推論を、表示用に短くまとめたものです。生の推論(raw reasoning)そのものを返すかどうかはモデルとプロバイダに依存し、返さない場合は show_raw_agent_reasoning を true にしても何も表示されません。
「表示」と「深さ」は別
推論を どれだけ深く行うか は model_reasoning_effort で決めます。値は minimal / low / medium / high / xhigh です。表示を消しても推論は行われ、トークンも消費されます。
| 目的 | 設定 |
|---|---|
| 推論の表示だけ消したい | hide_agent_reasoning = true |
| 推論を浅くして速くしたい | model_reasoning_effort = "low" |
| 判断の根拠を詳しく見たい | model_reasoning_summary = "detailed" |
| 生の推論を見たい(対応モデルのみ) | show_raw_agent_reasoning = true |
model_reasoning_effort の使い分けは親記事の config.toml でモデル・推論の深さ・プロファイルを切り替える で扱っています。
非対話モードでの使い方
codex exec でスクリプトから使う場合、推論の要約が標準出力に混ざると後処理がしにくくなります。CI 用のプロファイルで hide_agent_reasoning = true にしておくと出力が安定します。プロファイルは $CODEX_HOME/ci.config.toml のような別ファイルに書き、codex --profile ci で選びます。
# ~/.codex/ci.config.toml
hide_agent_reasoning = true
model_reasoning_summary = "none"
approval_policy = "never"
モデルとプロバイダで挙動が変わる
公式ドキュメントは、生の推論を出力しないモデルやプロバイダでは show_raw_agent_reasoning が効かないと明記しています。model_supports_reasoning_summaries で推論メタデータの送信を強制することもできますが、モデルが対応していなければ表示は変わりません。設定を変えても何も起きないときは、まずモデル側の対応を疑ってください。
出力を読みやすくする他の設定として、ファイル参照をエディタで開く file_opener があります。ターン完了の通知は notify の設定 を参照してください。
まとめ
- 表示を消すのは
hide_agent_reasoning = true、生の推論を出すのはshow_raw_agent_reasoning = true - 要約の粒度は
model_reasoning_summary(auto/concise/detailed/none) - 推論の深さは別のキー
model_reasoning_effort。表示を消しても推論とトークン消費は続く codex exec用のプロファイルで非表示にすると出力が安定する- 生の推論はモデル・プロバイダが対応していないと表示されない
よくある質問
- 推論の表示を消すと、推論そのものが行われなくなりますか?
- いいえ。hide_agent_reasoning は表示を抑えるだけです。推論の深さは model_reasoning_effort で別に決まります。
- show_raw_agent_reasoning を true にしても何も変わりません。
- 生の推論を出力しないモデルやプロバイダでは効果がありません。公式ドキュメントもその旨を明記しています。
- 要約だけ短くしたいです。
- model_reasoning_summary = "concise" にします。none にすると要約自体を無効にします。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。