本文へ移動
BenriWorks Lab

連載

Codex 集中講座

4回 / 全17

4/17

ガイド公開日

モデルと思考の深さを、依頼の性質で選び分ける

設定画面を開いたノートパソコンの前で、考える表情でこちらを向いている女性

Codex 集中講座の第4回。同じ依頼でも結果を変える2つの設定、どのモデルで動かすかと、どれだけ考えさせるかを整理します。深くすれば良くなるとは限らない場面と、切り替えの実際の手順を扱います

同じ依頼を、同じリポジトリで、同じ言葉で出しても、返ってくるものは毎回同じにはなりません。揺れの幅を決めている設定のうち、一番効くのが2つあります。どのモデルで動かすかと、どれだけ考えさせるかです。

この2つは並んだつまみに見えますが、性質が違います。モデルは能力の上限を決め、思考の深さはその能力をどれだけ使うかを決めます。上限の低いモデルを深く考えさせても上限は超えませんし、上限の高いモデルを浅く使えば上限は使い切れません。

思考の深さには段階がある

思考の深さは、公式の言葉では reasoning effort と呼ばれます。OpenAI の API ドキュメントによれば、これは「その作業にどれだけ考えるか」をモデルに指示する値で、低いほど速く使用トークンが減り、高いほど時間をかけて完成度の高い応答を返します。

段階はモデルによって違います。GPT-6 Astra では low、medium、high、xhigh、max の5つです。モデルによっては none や minimal が使えるものもあります。

段階が5つもあることに意味があるのは、作業の性質が一様ではないからです。

深くしても変わらない作業がある

ここを誤解したまま使うと、待ち時間だけが増えます。

答えが1つに決まっている作業では、深さを上げても結果は変わりません。ファイル名の一括置換、関数の移動、設定値の書き換え。こうした作業で xhigh を選んでも、出てくる差分は low のときと同じで、返ってくるまでの時間が伸びるだけです。

深さが効くのは、選択肢が複数あって、その比較に手間がかかる作業です。既存の設計に新しい要件をどう収めるか。テストが落ちている原因が3つの可能性のどれか。移行の手順をどの順に並べるか。どれも、いくつかの案を立てて捨てる過程そのものが作業の中身になっています。

思考の深さと作業の性質の関係を示した図。答えが決まっている作業では深さを上げても結果が変わらず時間だけ伸びること、選択肢の比較が要る作業では深さに応じて結果が変わることを2本の線で対比している
深さが結果を変えるのは、比較が要る作業のとき

判断の順番としては、深さを上げる前に「この依頼に、捨てるべき案はあるか」を自分に聞くのが速いはずです。なければ深さは上げません。

使い分けの目安

BenriWorks で使っている目安を表にします。公式が定めたものではなく、手元の作業から決めた運用です。

依頼の性質深さの目安
答えが1つに決まるlow文言の置換、書式の統一、ファイルの移動
手順は決まっているが分量が多いmedium同じ形の関数を10個追加、テストの一括追加
選択肢を比べる必要があるhigh設計の変更、落ちるテストの原因調査
前提から疑う必要があるxhigh 以上移行計画の立案、再現しない不具合の調査

表の下2行に共通するのは、人が読んで判断する時間のほうが長くなる作業だということです。深く考えさせた結果は、そのぶん読むのにも時間がかかります。深さを上げるときは、読む側の時間も一緒に確保してください。

切り替える方法は3つある

対話の途中で変えたいときは、スラッシュコマンドの /model を使います。公式ドキュメントによれば、これでモデルの切り替えと思考の深さの調整の両方ができます。作業の途中で「これは思ったより難しい」と分かったときに、その場で上げられます。

起動時に決めたいときは、コマンドライン版の引数です。

codex -m gpt-6-astra

設定として固定したいときは、設定の上書きかプロファイルを使います。コマンドライン版の -c~/.codex/config.toml の値を1回だけ上書きする指定で、ヘルプには次の例が載っています。

-c, --config <key=value>
        Override a configuration value that would otherwise be loaded from `~/.codex/config.toml`.
        Examples: - `-c model="o3"` ...

毎回同じ組み合わせで起動したいなら、プロファイルにまとめます。-p, --profile <NAME> を渡すと $CODEX_HOME/<name>.config.toml が基本の設定に重ねられます。「調査用は深め、日常の修正は浅め」のような使い分けを、名前をつけて持てるということです。

長い作業で効くのは、深さではなく文脈の持ち方

数時間続く作業では、別の要因が効いてきます。会話が長くなったときに、何を覚えていられるかです。

GPT-6 Astra のコンテキストウィンドウは105万トークン、最大出力は12万8千トークンだと API のモデルページに書かれています。長くはありますが、無限ではありません。従来は、いっぱいになると古いやり取りを要約して圧縮していました。このとき「なぜその修正が失敗したか」のような、次に効く情報が落ちます。

Astra と合わせて公開された Codex 側の更新には、コンテキストウィンドウをまたいでメモを保持する仕組みが挙げられています。公開時点では実験的機能とされています。

手元でできる対策のほうが確実です。話題が変わったところで /compact を通し、区切りのよいところで作業をコミットしておく。そうすれば、文脈が落ちても、コードの側に結果が残ります。覚えておいてもらうより、書き出しておくほうが強いというのは、この講座を通じての方針です。第9回から第11回で扱う AGENTS.md、スキル、MCP は、どれもこの方針の具体化です。

使用量という制約

深さを上げると使用量が増えます。ChatGPT のプランで使っている場合、プランごとに枠があり、枠の中で何をどれだけ使うかは自分で決めることになります。

料金の目安として、API のモデルページによれば GPT-6 Astra は入力100万トークンあたり10ドル、出力は50ドル、キャッシュ済みの入力は1ドルです。27万2千トークンを超える入力には、入力2倍と出力1.5倍の長文脈料金が掛かると書かれています。

数字そのものより、出力のほうが入力より5倍高いという比率を覚えておくと判断が楽になります。長い資料を読ませる依頼は、思ったより安く済みます。長い文章を書かせる依頼は、思ったより高くつきます。「この設計でよいか読んで意見をください」は前者、「設計書を全部書いてください」は後者です。

次の回

結果の質を決める設定を見ました。第5回では、結果の安全を決める設定を扱います。どこまで触らせるかというサンドボックスと、どこで止まって聞くかという承認の方針です。

参照した公式情報

  • OpenAI API「Reasoning models」「GPT-6 Astra」モデルページ、「Pricing」(developers.openai.com、2026年9月時点)
  • OpenAI「Models」(developers.openai.com/codex)
  • OpenAI ヘルプセンター「Managing usage with GPT-6 Astra in Work and Codex」
  • コマンドライン版の引数は codex-cli 0.154.0 を執筆環境へ導入して取得

よくある質問

思考の深さは常に最大にしておけばよいのではないですか
深くするほど時間と使用量を使い、それに見合う改善が出るとは限りません。答えが1つに決まっている作業、たとえば文言の置換や機械的な移動では、深さを上げても結果は同じで待ち時間だけが伸びます。効くのは、選択肢が複数あって比較が要る作業です。
モデルはどれを選べばよいですか
公式ドキュメントは複雑な推論とコーディングの標準として GPT-6 Astra を挙げ、軽い作業や補助的な処理には、より速く安価な小型のモデルを挙げています。まず標準のモデルで始め、待ち時間が気になる軽作業だけ小型に落とす順で問題ありません。
切り替えはどこでしますか
対話中なら `/model` でモデルと思考の深さの両方を変えられます。コマンドライン版の起動時は `-m` でモデルを指定でき、設定ファイルやプロファイルに書いておけば毎回同じ組み合わせで起動します。

こんな記事も読まれています