OpenAIがAIコーディングエージェントの内部動作を詳細公開、プロンプト処理の仕組みを解説

OpenAIが2026年1月、AIコーディングエージェント「Codex CLI」の内部動作を詳細に公開。プロンプト構築からツール呼び出しまでの仕組みを解説。開発者向けAIツールの実装方法が明らかに。

OpenAIがAIコーディングエージェントの内部動作を詳細公開、プロンプト処理の仕組みを解説

2026年1月24日、OpenAIのエンジニアであるマイケル・ボーリン氏が、同社のAIコーディングエージェント「Codex CLI」の内部動作に関する詳細な技術解説を公開しました。この解説では、AIがどのようにコードを書き、テストを実行し、バグを修正するのか、その仕組みが明らかにされています。Codex CLIとは、人間の監督のもとでプログラミング作業を支援するAIツールのことです。具体的には、開発者が指示を出すと、AIがコードを生成したり、エラーを修正したりします。

この公開は、AIコーディングエージェントが実用的なツールとして急速に普及している時期と重なります。AnthropicのClaude CodeやOpenAIのCodexは、プロトタイプの作成やインターフェース設計、定型コードの生成において新たなレベルの有用性に達しています。OpenAIがこのような詳細な技術情報を公開するのは珍しく、ChatGPTなど他の製品については同様の解説を行っていません。しかし、プログラミングタスクは大規模言語モデルに特に適しているため、Codexについては異なる扱いをしているようです。

ボーリン氏の解説は、技術的な課題についても率直に触れています。プロンプトが会話の進行とともに二次関数的に増大する非効率性や、キャッシュミスによるパフォーマンス問題、チームが発見したバグなどが詳しく説明されています。この情報は、AIコーディングツールを使用する開発者や、同様のツールを開発しようとする技術者にとって貴重な知見となります。

エージェントループの仕組み

ボーリン氏の解説の中心は「エージェントループ」と呼ばれる仕組みです。エージェントループとは、ユーザー、AIモデル、そしてモデルが呼び出すソフトウェアツールの間の相互作用を調整する中核的なロジックのことです。

すべてのAIエージェントの中心には、繰り返しサイクルがあります。まず、エージェントがユーザーからの入力を受け取り、モデル用のテキストプロンプトを準備します。次に、モデルが応答を生成し、ユーザーへの最終的な答えを出すか、ツール呼び出し(シェルコマンドの実行やファイルの読み取りなど)を要求します。モデルがツール呼び出しを要求した場合、エージェントはそれを実行し、出力を元のプロンプトに追加して、再度モデルに問い合わせます。このプロセスは、モデルがツールの要求を停止し、代わりにユーザーへのアシスタントメッセージを生成するまで繰り返されます。

プロンプトの構築方法

ボーリン氏の解説では、Codexが最初のプロンプトをどのように構築するかが明らかにされています。プロンプトは複数のコンポーネントから構築され、それぞれに優先順位を決定する役割(システム、開発者、ユーザー、アシスタント)が割り当てられます。

指示フィールドは、ユーザーが指定した設定ファイルまたはCLIにバンドルされた基本指示から取得されます。ツールフィールドは、モデルが呼び出せる機能を定義します。これには、シェルコマンド、計画ツール、ウェブ検索機能、そしてモデルコンテキストプロトコル(MCP)サーバーを通じて提供されるカスタムツールが含まれます。入力フィールドには、サンドボックス権限、オプションの開発者指示、現在の作業ディレクトリなどの環境コンテキスト、そして最後にユーザーの実際のメッセージを記述する一連の項目が含まれます。

会話が続くにつれて、各新しいターンには以前のメッセージとツール呼び出しの完全な履歴が含まれます。これは、プロンプトがすべてのやり取りで成長することを意味し、パフォーマンスに影響を与えます。

ステートレス設計とキャッシュの課題

ボーリン氏によると、Codexは保存された会話状態を参照できるオプションのパラメータを使用していません。つまり、すべてのリクエストは完全にステートレスです。ステートレスとは、サーバーがメモリから会話履歴を取得するのではなく、各API呼び出しで会話履歴全体を送信することを意味します。この設計選択により、APIプロバイダーにとって処理が簡素化され、OpenAIがユーザーデータを保存しない「ゼロデータ保持」を選択した顧客をサポートしやすくなります。

会話が進むにつれてプロンプトが二次関数的に増大するのは非効率ですが、プロンプトキャッシングがこの問題をある程度緩和します。キャッシュヒットは、プロンプト内の正確なプレフィックス一致に対してのみ機能します。つまり、Codexはキャッシュミスを引き起こす可能性のある操作を慎重に避ける必要があります。利用可能なツールの変更、モデルの切り替え、または会話中のサンドボックス設定の変更は、すべてキャッシュを無効にし、パフォーマンスを低下させる可能性があります。

コンテキストウィンドウと会話の圧縮

常に増大するプロンプトの長さは、コンテキストウィンドウに直接関連しています。コンテキストウィンドウとは、AIモデルが単一の推論呼び出しで処理できるテキストの量の上限のことです。ボーリン氏は、Codexがトークン数がしきい値を超えると自動的に会話を圧縮すると説明しています。これはClaude Codeも同様に行っています。

Codexの初期バージョンでは、スラッシュコマンドによる手動圧縮が必要でしたが、現在のシステムは特殊なAPIエンドポイントを使用してコンテキストを圧縮します。この圧縮では、暗号化されたコンテンツアイテムを通じて、何が起こったかについてのモデルの「理解」の要約部分を保持しながら圧縮が行われます。

できること・できないこと

Codex CLIのようなAIコーディングエージェントにより、プロトタイプの迅速な作成、ユーザーインターフェースの設計、定型コードの生成が可能になります。例えば、開発者が「ユーザー登録フォームを作成して」と指示すると、AIが必要なHTMLとJavaScriptコードを数秒で生成します。また、既存のコードにバグがある場合、AIがそれを検出して修正案を提示することもできます。

一方で、これらのツールには限界もあります。OpenAIは自社でCodexを使ってCodex自体を開発していますが、実際の使用経験から、これらのツールは単純なタスクでは驚くほど高速ですが、トレーニングデータの範囲を超えると脆弱になることがわかっています。プロジェクトの大まかな枠組みは迅速に作成でき魔法のように感じられますが、詳細を埋めるには、エージェントが単独では克服できない制限に対する面倒なデバッグと回避策が必要です。本番環境での作業には人間の監督が不可欠です。

私たちへの影響

このニュースは、ソフトウェア開発者やAI技術に興味を持つ技術者に重要な影響を与えます。OpenAIが内部動作の詳細を公開したことで、開発者は同様のツールを構築する際の参考にできます。また、既存のAIコーディングツールを使用する際に、その仕組みを理解することで、より効果的に活用できるようになります。

短期的な影響については、AIコーディングエージェントの実装方法が明確になったことで、より多くの企業や開発者が独自のツールを開発しやすくなります。中長期的な影響としては、AIがプログラミング作業をさらに支援し、開発者の生産性が向上することが予測されます。ただし、これらのツールは完璧ではなく、一部のソフトウェア開発者の間では依然として議論の的となっています。

ボーリン氏は、今後の投稿でCLIのアーキテクチャ、ツール実装の詳細、Codexのサンドボックスモデルについて取り上げる予定だと述べています。これらの情報は、AIコーディングツールの理解をさらに深めるのに役立つでしょう。

出典:OpenAI spills technical details about how its AI coding agent works(arstechnica.com)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です