Codexのプランモードとはどのような機能なのか?AIドリフトを劇的に抑止する工程分離の技術仕様を徹底解説します!

ソフトウェア開発における人工知能(AI)エージェントの適用において、既存のシステム構造を無視した実装の自動生成や、文脈の乖離に伴うトークン消費の爆発、いわゆる「AIドリフト」の制御は極めて重要な技術的課題ですね。この課題をプロセス設計によって解決するために導入された機能が、Codexの「プランモード(Plan Mode)」になります。AIの暴走を未然に防ぎ、開発者が意図した通りのアーキテクチャを維持するためには、このモードの挙動を深く理解することが不可欠かなと思います。

目次

Codexプランモードの基本定義と設計思想

プランモードの本質と工程分離

プランモードの本質は、AIエージェントに「手を動かさせる前に、まず頭を使わせる」ための設計・調査専用フェーズの構築にあります。従来のAIコーディングツールでは、プロンプトが送信された瞬間にエージェントがファイル編集を伴う直接的な実装を開始するため、複雑なアーキテクチャや長時間のタスクにおいて要件のズレが生じやすかったんですよね。せっかく生成されたコードが、既存のモジュールと全く噛み合わずに手戻りになってしまった、なんて経験を持つ方も多いのではないでしょうか。

プランモードは、この課題に対して「計画中はファイルを一切編集しない」という読み取り専用の安全機構を強制することで介入します。具体的には、エージェントはコードを書き始める前に、既存コードベースを徹底的に読み込んでコンテキストを構築し、タスクのゴールおよび非ゴール(取り扱わない範囲)、制約条件を整理した上で、マイルストーン単位の実装ステップを分解していく流れになります。これによって、AIが勝手な解釈で不要なライブラリを追加したり、リファクタリングを始めてしまったりするリスクを根絶できるのが強みですね。

さらに、各ステップの完了基準(Doneの定義)を人間が検証可能な形式で明文化し、開発者に対して計画案を提示して合意形成を求めます。このプロセスにより、実装フェーズに入る前の段階で要件の不一致を検知し、軌道修正を行うことが可能となるわけです。まさに「急がば回れ」をシステム的に体現した機能と言えるかも知れません。

【重要】プランモードにおける安全性の担保

プランモードが有効な間、AIエージェントの書き込み権限(Write Permission)はカーネルレベル、またはアプリケーションの実行サンドボックスによって完全に剥奪されます。これにより、どれだけ大規模なコード修正案を思いついたとしても、人間の承認(GOサイン)が出るまではリポジトリのコードは1文字も書き換えられません。ソースコードの整合性を守るための、非常に強力な防壁として機能してくれます。

コラボレーションモードの歴史的背景と位置づけ

プランモードは、Codex CLIのバージョン v0.88.0 (2026年1月23日リリース)において、実験的な新機能「コラボレーションモード(Collaboration mode)」の一部としてクローズドベータの形態で実装されました。この開発初期段階におけるUI設計や、ユーザーへの選択肢提示型質問機能などの実装は、Claude Codeで使用されていた AskUserQuestion ツールなどの挙動から強い影響を受けていると言われています。他社の優れたエンジニアリングの仕組みをベンチマークしながら、より開発者に寄り添う形で洗練されていった歴史があるのは興味深いところですよね。

その後、開発コミュニティにおける実用性の検証や熱いフィードバックを経て、バージョン v0.94.0 (2026年2月3日リリース)にてデフォルトで有効化される安定機能へと昇格を果たしました。このコラボレーション機能群においては、開発者の作業形態や自律性のレベルに合わせて切り替え可能な3つの動作モードが定義されており、状況に応じて使い分けるのがモダンな開発スタイルかなと思います。

  • Plan(プランモード): 要件を整理し、設計書レベルの詳細な計画や方針を提案することに特化する。ファイル書き込みなどの危険な編集操作やコマンド実行は物理的に制限される。
  • Pair Programming(ペアプログラミングモード / デフォルト): 開発者と対話しながら小さなステップで作業を進め、判断理由や変更意図をリアルタイムに共有しつつ並走する。
  • Execute(実行モード): エージェントが自律的にタスクを完遂する。詳細な確認を挟まず、合理的な仮定に基づいてコマンドの実行やコードの記述を自動で繰り返す。

このように、最初から最後までAIに丸投げするのではなく、フェーズごとにエージェントの「主導権」をコントロールするというアプローチこそが、現在のAIエンジニアリングにおける最も現実的かつ強力な最適解になっているのかなと感じます。


システム構成と構成ファイルによる詳細設計

Codexプランモードを実務に組み込むにあたっては、構成ファイルの優先順位やパラメータ、および利用可能なスラッシュコマンドの体系を正しく把握し、制御ポリシーを設計する必要があります。このあたりの仕様がブラックボックスのままだと、チーム開発で設定がバッティングしたときに「なぜかプランモードが動かない!」といったトラブルに繋がりかねないので、しっかり整理しておきましょう。

構成ファイルの優先順位(Precedence)

Codex CLIは、グローバル設定からプロジェクト固有の設定、一時的なランタイムのオーバーライドにいたるまで、多層的な構成ファイルを読み込んで動作します。設定値の競合が発生した場合は、以下の優先順位に従って最終的な値が決定される仕組みになっています。基本的には、より実行環境に近い(ローカルな)設定が優先されると覚えておけば間違いありません。

優先順位設定レベル物理パス / 指定方法セキュリティ特性
1(最優先)CLIフラグ・コマンドライン引数--config--enable による直接指定一時的なランタイムの上書きに使用され、セッション終了後に破棄されるため安全。
2プロジェクトレベル構成ファイル.codex/config.toml (カレントディレクトリ以下)プロジェクトが「信頼(Trusted)」されている場合のみ読み込みを許可。未信頼時はスキップ。
3プロファイル別構成ファイル~/.codex/[profile-name].config.tomlコマンド実行時に --profile 引数を用いて呼び出す。環境の切り替えに便利。
4ユーザーレベル(グローバル)構成ファイル~/.codex/config.toml個人のデフォルト動作環境を定義するファイル。すべてのプロジェクトに共通で適用。
5システムレベル構成ファイル/etc/codex/config.toml (Unix系のみ)組織内の共有端末などで標準セキュリティポリシーを強制するために配置。
6ビルトイン・デフォルト値Codex本体にハードコードされた規定値構成ファイル内に明示的な宣言がない場合に適用される、システムの最小構成設定。

特にプロジェクトレベルの config.toml は、共有リポジトリにコミットすることでチーム全員の挙動を統一できるため重宝しますが、セキュリティ上の理由からリポジトリが「Trusted」に設定されていないと無視される点だけは注意が必要かなと思います。

config.tomlにおける設定パラメータと機能フラグ

プランモードを含む各種コラボレーション機能、セキュリティ設定、動作モデルは、主に config.toml 内の構造化データとして定義されます。以下は、プランモードの運用において重要となる代表的なパラメータの一覧になります。これらのフラグを適切にチューニングすることで、エージェントの暴走を抑えつつ、最大の推論パフォーマンスを引き出すことができるようになります。

パラメータ名データ型設定値の例機能概要
collaboration_modes[features]Booleantrueプラン/ペアプロ/実行モードのトグル切り替え機能を有効化。
modelString"gpt-5.5"Codexセッションおよび自動化タスクで使用する標準モデルの定義。
approval_policyString"on-request"コマンド実行等の処理前に人間の承認を求めるポリシー(untrusted / on-request / never)。
sandbox_modeString"workspace-write"ファイルシステムやネットワークへのアクセス制限レベルの定義。
sandbox[windows]String"elevated"Windows環境下におけるネイティブサンドボックスの権限設定(elevated / unelevated)。
web_searchString"cached"プロンプトインジェクション防止用の検索キャッシュポリシー(cached / live / disabled)。
model_reasoning_effortString"high"推論対応モデルの思考深度の制御レベル。プランニング時はhighを推奨。
personalityString"friendly"アシスタントのコミュニケーション態度(friendly / pragmatic / none)。
open_transcript[tui.keymap.global]String"ctrl-t"キーボードによるグローバルショートカットのマッピング。
include_only[shell_environment_policy]List["PATH", "HOME"]サブプロセス(コマンド実行)に引き渡す環境変数のホワイトリスト。
log_dirString"/var/log/codex"ローカルのログファイル書き込み先パスの上書き指定。監査ログの保存に利用。

プランモードをフル活用する場合は、model_reasoning_effort"high" に設定しておくのがコツかも知れません。計画段階での思考が深くなり、より精度の高いマイルストーンを生成してくれるようになりますよ。

セッション操作用スラッシュコマンド

対話型セッションの実行中、開発者はコマンドラインから直接 / で始まるスラッシュコマンドを実行することで、セッションの状態やモードをリアルタイムに切り替えることができます。ツールを使いこなす上でも、これらのコマンドは指に馴染ませておきたいところですね。

  • /plan [タスク詳細] 実装を即座に開始せず、要件定義・ステップ分解を行う計画モードに入ります。アーキテクチャの変更や、複数ファイルにまたがる複雑な修正時の事前レビューに最適なユースケースです。
  • /permissions エージェントの書き込み・実行権限を動的に変更します。プランモードと Read-only(読み取り専用)ポリシーを厳格に併用したい場合の安全策として使われます。
  • /status 現在使用しているモデル、サンドボックス制限、コラボレーション状態などを一覧表示します。意図しないファイル書き込みが発生していないか、設定の適用状況を確認したいときに便利です。
  • /compact 肥大化したセッションの過去のコンテキスト履歴を要約して圧縮します。会話が長引き、トークン消費効率やモデルの応答速度が低下してきたなと感じたときに叩くと効果的です。
  • /side 現在の文脈(会話スレッド)から一時的に分岐して別相談を開始します。実装手順の計画中に、局所的な技術調査や別ライブラリの仕様をちょっと調べたいときに重宝します。
  • /fork チャットを別の独立したGitワークツリーや新規スレッドとして分岐させます。複数の設計プラン(例えばアプローチAとアプローチB)を別々に並行して検証したいときによく使われます。
  • /memory プロジェクト情報や対話中に得られたルール情報をメモリとして保存・管理します。プロジェクト固有の命名規則や、開発における絶対的な制約事項を一時的に学習させるときに役立ちます。
  • /model カレントセッションで使用しているLLMモデルを確認または変更します。計画立案時は推論力の高い高級モデルへ切り替え、実際の実装時は軽量な高速モデルに移行するといったコスト最適化が可能です。
  • /feedback 開発元へ機能改善のための利用状況やフィードバックを直接送信します。ツールの奇妙なエラーや予期しない挙動に遭遇した際、開発チームへレポートを送るために用意されています。

プランモードの実践的運用フローと技術的役割

開発プロセスにおけるプランモードの運用は、単純なツールの切り替えを超えて、ソフトウェアエンジニアリングにおける「堅牢な合意形成プロセスの自動化」を意味しています。どのようにしてAIと人間が不協和音を起こさずに並走できるのか、その具体的なメカニズムとドキュメンテーションのルールを見ていきましょう。

起動とTUIトグル切り替えのメカニズム

プランモードへの移行経路は、主に明示的なコマンド送信と、キーボードショートカットを用いたTUI(Text User Interface)レベルでの状態操作の2通りが存在します。特にコーディング中に画面を切り替えることなく、手癖のようにモードを行き来できるTUIのトグル操作は、開発効率を爆発的に高めてくれる要素かなと思います。

TUIにおいて、開発者は Shift + Tab (BackTab)を打鍵することで、モードを循環式にトグル切り替えできます。1回押すと「Auto-Accept Mode」(生成された編集コードを自動適用するモード)、もう1回押すと「PLAN MODE」(⏸ plan mode on となりファイル書き込みが不可能な読み取り専用状態)となり、さらに打鍵することで通常の実装モードに戻るという挙動を示します。この手軽さがいいですよね。

この切り替えプロセスは、以下のようなセッション操作のフローとして視覚化されます。頭の中でこのサイクルをイメージしながら叩くと、迷わずに操作できるはずです。

[通常の実装モード]
       │
       ▼ (Shift + Tab 打鍵)
[Auto-Accept Mode(自動適用)]
       │
       ▼ (Shift + Tab 打鍵)
 ───> (タスク送信 ➔ 計画ドキュメント生成 ➔ Ctrl+Gで手動編集)
       │
       ▼ (Shift + Tab 打鍵)
[通常の実装モードに戻る(合意した計画に沿って実装)]

プランモードがONの状態でタスクを投げると、エージェントは即座に計画の策定に入り、ドキュメントを生成します。開発者はその内容をレビューし、必要であれば Ctrl + G などのショートカットで手動編集を加え、完全に納得がいった段階でモードを戻して実装へ移る、という綺麗なステップを踏むことができます。

plans.md (ExecPlan) 運用と設計4原則

中〜長期の大規模な開発タスクや、複数のエージェントが自律的に連携する並列開発を行う場合、成果物としての計画書を plans.md (または PLANS.md )としてコードリポジトリに永続化させる運用が強く推奨されます。この際、AIエージェントを「作業ツリーとこの計画書ファイルのみを持つ、前提知識ゼロの純粋な初心者」として位置づけ、以下の4つのコア原則に従ってドキュメントを更新していくのが、運用を成功させる最大のコツになります。

  • 原則1:自己完結型(Self-contained)
    エージェントに自律的な実装を任せる際、事前の前提知識や外部コンテキストの記憶に依存させず、この計画書を読めば実装に必要なすべての事実、仕様、エンドポイントの定義が理解できる「自己完結状態」を維持します。
  • 原則2:自己充足型(Self-sufficient)
    開発の進捗に応じて、計画の内容は常に最新の状態へ書き換えていきます。ただし、更新の際にも「原則1(自己完結)」が損なわれないよう、古い情報との整合性を常に担保し、ドキュメント単体で完結している状態を保ちます。
  • 原則3:初心者誘導型(Beginner-guided)
    エージェントへの指示を曖昧な「お任せ」にするのではなく、初心者のエンジニアに手取り足取り教えるように、編集すべきモジュール、実行すべきコマンド、および確認すべき結果のレールを厳格に敷いてあげます。
  • 原則4:成果重視型(Outcome-focused)
    内部コードの審美性や抽象度よりも、まず目に見えるテスト結果や実行結果、動作の成否(Doneの条件)を基準にして最終成果物を評価します。「動くコードこそが正義」というスタンスですね。

この「ExecPlan(計画書)」は、以下に示す具体的な構造レイアウトでリポジトリ内に構成されます。マークダウン形式で極めて可読性が高く、人間が見ても進捗が一目でわかるのが素晴らしい点です。

# ExecPlan: [システム名・タスク名]

## 1. 目的と全体像(Goal & Overview)
ユーザー視点から、この改修がなぜ重要か、何ができるようになるかを数文で説明。

## 2. 現在の進捗(Progress)
実装ステップごとの完了([x])・未完了([ ])ステータスの一覧。

## 3. 決定ログ(Decision Log)
設計判断に至った経緯、採用した技術スタックの選定理由の記録。

## 4. 驚きと発見(Surprises & Discoveries)
調査段階やテスト中に判明した、コードベースの予期せぬ制約や副作用のまとめ。

## 5. 文脈とオリエンテーション(Context & Orientation)
関連する既存モジュール、依存関係、実行に必要な環境変数情報。

## 6. 具体的な実装ステップ(Work Plan & Steps)
編集箇所、実行コマンド、各ステップで観察すべき実行結果の正確な手順。

## 7. 検証と受け入れ基準(Validation & Acceptance)
実装されたコードが期待通り機能しているかを検証するための、人間が実行可能なテスト手順。

Skill Creatorを用いた拡張メカニズム

開発プロセスで、より高度なレビューポリシーを適用する場合、既存のMCP(Model Context Protocol)サーバーによる外部ツール拡張ではなく、Codex/Claude Codeに最適化された「スキル(Skills)」としてカスタム機能をカプセル化する手法が注目されています。これはリポジトリ内の .agents/skills ディレクトリに、Bashコマンドやスクリプトをベースにした実行ファイルを配置することで実現します。

特に、プランモードで生成された実装計画に対して「第三者のAIエージェントによる客観的な検証」を行いたい場合、MCPよりもスキル(Skill Creator)の活用が圧倒的に優位とされています。その技術的な違いと評価指標をテーブルで比較してみましょう。

評価指標MCP(Model Context Protocol)サーバースキル(Skill Creator)方式
セットアップ負荷常駐プロセスのビルド・起動設定、MCP接続設定が必要となり複雑。規定ディレクトリにスクリプト(SKILL.md)を配備するのみで圧倒的にシンプル。
プロセス管理プロセスとしてバックグラウンドで常駐するため、切断やクラッシュリスクを伴う。codex exec などを用いてタスクごとに都度実行されるため、管理コストが不要。
実行制御の柔軟性MCPプロトコルの規格制限に縛られるため、自由な割り込みが難しい。標準的なBashスクリプトで何でも記述可能であり、環境に合わせた制御が容易。
セキュリティ設計サンドボックスを完全に回避するか、厳格に制限するかの二者択一になりやすい。個別のスキル定義内で dangerouslyDisableSandbox などのスコープを明確に限定可能。

わざわざ重厚なサーバーを立てるまでもなく、プロジェクト内にちょっとしたスクリプトを放り込んでおくだけでAIの能力を拡張できる手軽さは、スキル方式ならではの魅力かなと思います。


関連検索キーワードの技術的分析とツールの互換性

「codex プランモード とは」という文脈で検索を行う開発者コミュニティ内では、他ツールとの性能比較や、プラン移行に伴うコスト構造、実質無料で利用可能な選択肢について強い関心が存在するようです。やはり現場に導入するとなると、費用対効果や運用の現実性は一番気になるところですよね。

CursorプランモードとGPT-5.1 Codex Maxの相互作用

検索クエリ「Cursor プランモード codex」において最も注目されているのが、独自エディタである「Cursor」におけるプランモードの進化です。かつてのCursorにおけるプランニングは、AIから提示された計画案に対してユーザーが手動でコード変更を承認していく程度のものでしたが、最新世代の環境(「GPT-5.1 Codex Max」モデル等を使用した場合)においては、高度な意思決定分岐エンジンとして機能するようになっています。

具体的には、開発者が曖昧なタスクを送信すると、エージェントは自発的に「Questions(質問・確認事項)」をスレッド上に生成します。ユーザーはチャットにいちいち長い文字を入力して答える必要はなく、画面上に提示された選択肢ボタン(はい / いいえ / 特定の選択肢)をマウスクリックで選択するだけで、複雑な設計方針を瞬時に固めることができるんですよね。この直感的なユーザーインターフェース(UX)設計は開発負荷を大きく低減させるため、Cursorユーザーにとって定番のベストプラクティスとして定着しつつあります。

料金体系とエージェント型使用量の最適化設計

「codex プランモード 料金」に関連して、OpenAIが発表している新プラン「ChatGPT Pro $100/月」は、競合するAnthropicの「Claude Max $100/月」に対する戦略的な対抗馬となっています。プランモードで稼働するCodexエージェントは、セッション中に大量のコードファイルや抽象構文木(AST)を一時的にメモリに読み込むため、消費トークン数が通常のチャットよりも膨大になりやすい特性があります。そのため、個人でガンガン回すとなると、どのプランを選ぶべきかはシビアな問題ですよね。

Codexでは、これらのエージェントによる処理負荷を「エージェント型使用量(Agentic Usage)」という統一枠で制限・カウントしています。各プランの仕様を以下のテーブルにまとめました。

プラン(ティア)月額料金Codex/エージェント利用枠の仕様推奨される開発タスク規模
Free$0広告あり、非常に厳しい時間枠・回数制限。個人によるプランモードの挙動評価・お試し。
Go$8 / 月軽量なコーディング向け、制限付き。週に数回程度の軽微なバグ修正作業。
Plus$20 / 月個人用のベースライン(1x)。1日あたり10タスク以下の個人開発・学習目的。
Pro $100$100 / 月Plusの5倍(期間限定で10倍に増量されるキャンペーンあり)。1日あたり10〜30タスクを処理する専業開発者。
Pro $200$200 / 月Plusの20倍の最大使用枠を提供。1日30タスク以上の並行エージェント駆動開発。
Business$20〜$25 / 人組織用の共有リソース制限、SAML SSO対応。複数メンバーによるチーム共同開発環境。

タスクの規模が大きくセッションが長期間化すると、エージェントは最新のコンテキスト(例えば、1回あたりコンテキスト窓 400K、出力限界 128Kに及ぶ GPT-5.3-Codex等)を維持し続けるため、1メッセージあたりの枠の消費速度が指数関数的に増大してしまいます。もし使用量の上限に達してしまった場合でも、開発者はOpenAI開発者向けウェブサイトから「クレジット追加購入」を行うことで、即座に使用制限を解除してエージェント運用を維持することが可能なので、その点は安心かなと思います。

「無料体験」のサジェスト需要とOSS代替手段

「codex 無料」という関連サジェストが検索エンジンにおいて上位に位置している事実は、多くの開発者が高額な月額課金に移行する前に、プランモードの有用性をまずは無料で試したいと考えている実態を反映していますね。いきなり月100ドルを投じるのはハードルが高いですし、当然の心理かなと思います。現時点で、Codexのプランモードを無料で実質運用・体験するための現実的な選択肢としては、以下のステップが挙げられます。

一つ目は、「Freeティア接続」です。最も基本的な手段として、無料登録したChatGPT FreeプランのアカウントにCodexクライアントを紐づけることで、一定の使用制限の範囲内(回数制限はかなりタイトですが)でプランモード機能(/plan コマンド等)を直接体験することができます。

二つ目は、「OSS代替(OpenCode等)のローカル稼働」です。商用ライセンスや利用枠制限を完全に排除したセキュアな開発環境を構築したい組織や開発者の間では、オープンソースの自律型コーディングエージェントフレームワークである「OpenCode」に、LlamaなどのローカルLLMを統合して、プランモードの工程分離機能を代替する手法が活発に採用されています。マシンスペックさえあれば、完全に無料でプランモードの思想を再現できるため、社内実証実験(PoC)にはもってこいかも知れません。


結論と段階的導入ロードマップ

ソフトウェア開発の自動化において、AIエージェントに自律的なファイル編集をいきなり許可するアプローチは、深刻な「手戻り」とこれに伴う莫大なクラウドトークン費用の無駄を発生させてしまいます。プランモードの設計は、最初に計画(設計)を完全に人間の検証可能な形式で合意・固定させることで、この問題を解決する極めて有用な安全弁です。この機能をチーム開発の標準プロセスとして定着させ、生産性を向上させるために、以下の「30-60-90日ロードマップ」に沿った段階的導入を検討してみてはいかがでしょうか。

【最初の30日間:個人の習慣化フェーズ】

開発チームの各メンバーに対して、カレントセッションで直接実装コマンドを実行することを禁止し、まず /plan スラッシュコマンドを使用するか、TUI上で Shift + Tab を押してプランモードを起動することを社内規定(ルールブック)に定義します。まずは数行で完結する最小構成のプランニングを徹底し、特に「やらないこと(Non-goal)」を先に書く習慣をチーム全体に植え付けることが、最初のステップとしては非常に重要かなと思います。

【60日目まで:ドキュメント共有と1レーン運用の確立】

リポジトリに PLANS.md などの実行計画書ファイルを導入し、AIエージェントと人間が合意した「唯一の決定ログ(共有ステート)」として更新していくフローを標準化します。実装の途中で予期せぬ仕様変更の必要性に気付いた場合は、コードを書く手を一旦止め、必ずもう一度プランモードを切り替えて計画を修正した上で実装に戻る「1レーン運用」を徹底することで、AIドリフトはほぼ完全に抑え込めるようになります。

【90日目:マルチエージェント並列自動化とスケールの実現】

合意された PLANS.md のステップに基づいて、Gitブランチの分離や Git Worktree の自動生成、さらにはサブエージェント(Sub-agents)によるタスクの並列実行を自動トリガーさせ、開発スピードと安全性を極大化します。ここまで来ると、人間がブラウザの前にいない時間(休日や夜間など)に、エージェントが計画通りに自動でテスト生成からコード書き込み、CI/CDによる検証までを自律完遂する、完全自律型のソフトウェア開発インフラが完成することになります。夢が広がりますよね。

AIの進化スピードは凄まじいですが、それを乗りこなすための「プロセス設計」の重要性はいつの時代も変わりません。まずは今日の開発から、/plan と打ち込むところから始めてみませんか。

この記事を書いた人

エンジニア歴 12 年・Web マーケター歴 4 年・ブログライター歴9年。エンジニア兼マーケターの視点から AI ツール活用に取り組んでいます。
AI-Rise では、NotebookLM・Claude Code・Google AI Studio・Gamma などの主要 AI ツールについて、機能・料金・使い方・エラー解決といった実用情報を整理して発信。新しいツールが登場するたびに調べ、初心者がつまずきやすいポイントを噛み砕いて記事にすることを意識しています。

目次