日本時間2025年5月17日、OpenAIはクラウドベースのAIソフトウェアエンジニアリングエージェント「Codex」を発表しました。

この新ツールは、新開発のAIモデル「codex-1」を搭載し、ソフトウェア開発における機能開発やバグ修正といったタスクを自律的に、かつ複数並行して処理する能力を備えています。

CodexのインターフェースはChatGPTと異なり、「チャット型」ではなく「タスク依頼型」で明確に設計されており、具体的なコーディングタスクを依頼し、完成した成果物を受け取るというワークフローに最適化されています。

Codex | クラウドベースの非同期マルチAIコーディングエージェント

Codexは、ユーザーに代わってコーディングタスクを実行するAIエージェントです。各タスクは独立したクラウド上のサンドボックス環境で実行され、リポジトリへのアクセス、ファイルの読み書き、テストやリンターの実行など、開発に必要な一連の操作を自律的に行います。

Codexの初期画面

OpenAIは、経験豊富なシニアソフトウェアエンジニアの知見をCodexに組み込むことを目指しており、大規模なコードベースの扱いに慣れ、クリーンなコードとコミットメッセージを生成するように設計されています。

複数のエージェントを並行して管理し、コードに直接触れることなく開発を進めることを想定しています。

主な特徴:

① 新モデル「codex-1」搭載:OpenAI o3をソフトウェアエンジニアリングに特化して最適化。人間のコーディングスタイルやPRの慣習を模倣。

② 非同期・並列タスク処理:複数のコーディングタスクを同時にバックグラウンドで実行可能。タスクキューで進捗を管理。

③ 独立したサンドボックス環境:各タスクは分離されたクラウド環境で実行され、互いに影響を与えない。

④ 自律的な開発オペレーション:ファイル読み書き、テスト実行、リンター適用などを自律的に判断・実行。

⑤ タスク依頼型のインターフェース:ChatGPTのような継続的なチャットではなく、明確なタスク指示に特化。

⑥ AGENTS.mdによるカスタマイズ:リポジトリごとにAGENTS.mdファイルを用意することで、エージェントの動作を詳細に制御。

⑦ シームレスなGitHub連携:タスク完了後、生成されたコード差分を元にGitHubプルリクエストを容易に作成。


実践:Codexの基本的な使い方とタスク実行

ここからは実際に Codex を試していきます。

まず、ChatGPTのサイドバーからCodexにアクセスし、開発用の環境を作成します。

以下のような画面になるので、作業対象となるGitHubリポジトリを選択します。

最初にいくつかのタスクを提案してくれますが、今回は空のレポジトリから始めるのでスキップします。

今回は、以下のようなタスクを依頼してみました。

リポジトリの状況:

  • README.md:基本的なマークダウンファイル

  • tasks.json:[{"id": 1, "title": "Buy milk"}] というシンプルなJSONデータ

依頼したプロンプト:

tasks.json を読み取り、Markdown テーブルに変換して tasks.md に保存してください。
テスト用に vitest を開発依存に追加し、以下を満たす tests/convert.test.ts を実装:
- pnpm generate で tasks.md が生成される
- Markdown 内に Buy milk が含まれる
scripts セクションも更新し、pnpm test が緑になることを確認してください。

「Code」ボタンを押すと、タスクはバックグラウンドのキューに追加され、Codexは即座に処理を開始します。

タスク実行画面に遷移するのではなく、元の画面に留まり立て続けに複数のタスクを依頼しやすくなっています。

実行中のタスクをクリックすると、Codexがどのような思考プロセスで作業を進めているかの詳細なログを確認できます。


実際にCodexが処理していたログの一部をみていきます。

まず、リポジトリルートや.githubディレクトリ内にあるAGENTS.mdファイルの存在を確認します。今回は作成してないので見つかりませんでした。

次に、tasks.jsonやREADME.mdなど、リポジトリ内の主要なファイルをリストアップし、内容を確認していきます。


package.jsonが存在しないことを確認し、npm init -y(pnpm initは-yオプション非対応のため)で初期化、Node.js (v22.15.1) と pnpm (10.11.0) のバージョンを確認し、プロジェクトを進めてくれています。

deep research や o1 Proの思考過程でもそうでしたが、「確認するべきかな。」などと言ってタスクを進めてる様子がまるで人間です..

変換スクリプトとテストの実装:

scripts/convert.jsを作成し、tasks.jsonを読み込んでMarkdown形式のtasks.mdを生成するロジックを記述します。

tests/convert.test.tsを作成し、pnpm generateでtasks.mdが正しく生成され、指定した文字列が含まれるかを検証するテストケースを記述します。


pnpm add -D vitestを実行しようとしますが、サンドボックス環境のネットワーク制限により、npmレジストリへの接続に失敗します (EHOSTUNREACH)。

Codexはこの問題に気づき、vitestを直接インストールするのではなく、ローカルで最小限のテストランナー (scripts/test-runner.js) やvitestのスタブ (node_modules/vitest/index.js と package.json) を自前で実装するという対応を見せます。

試行錯誤の末、自作のテストランナーとvitestスタブで見事pnpm testを成功させます。

git status --shortで変更されたファイルを確認し、git addでステージング、git commit -m "feat: generate markdown and add tests"でコミットを実行します。

最終出力:

タスクが完了すると、Codexは実行内容のサマリーと、具体的なコードの変更箇所(diff)を表示できます。

また、ワンクリックでGitHubにプルリクエストを送信する機能も備わっています。

作成されたプルリクエスト:

Codexで複数のタスクを作成していくと以下のように表示されていきます。


codex-1モデル

Codexの中核をなすのは、OpenAI o3をソフトウェアエンジニアリングに特化して最適化した新モデル「codex-1」です。

このモデルは、実際のコーディングタスクと多様な開発環境における強化学習を通じて訓練されており、人間が書いたような自然なコードスタイルやプルリクエストの慣習を再現し、指示を正確に遵守する能力を持ちます。

また、テストが成功するまで繰り返し試行する能力も特徴です。OpenAIは、クリーンなコードベースだけでなく、複雑で整理されていない大規模なコードベースも学習させることで、codex-1がより現実世界の開発経験と「センス」を持つことを目指したと発表しています。

その結果、Codexは冗長性を排した最小限のコードと、要点を的確に捉えたサマリーを生成する傾向があります。

上のグラフは、OpenAI社内の実際のソフトウェアエンジニアリング(SWE)タスクを基にしたベンチマークにおける各モデルの正解率(Accuracy)を示しています。o3-highを上回る結果を出していることが分かります。

上記は、公開されているソフトウェアエンジニアリングベンチマーク「SWE-Bench Verified」における、タスク解決までの試行回数(Number of attempts)と正解率(Accuracy (pass@k))の関係を示しています。

白い線がcodex-1、青い線がo3-highです。codex-1は、少ない試行回数からo3-highをわずかに上回る正解率を示しています。

主な特徴:

  • 人間らしいコード生成:コメントの付け方、コードの構成など、人間がレビューしやすいスタイルを重視。プルリクエストのタイトルや説明文も適切に生成。

  • 指示への高い忠実度:与えられた指示内容を正確に理解し、タスクを実行。

  • 反復的なテスト実行:テストハーネスを実行し、合格するまでコードを修正。エラー発生時には自身で原因を特定しようと試みる。

  • 検証可能なアクション:実行したコマンドのログやテスト出力への参照を通じて、モデルの動作をユーザーが検証可能。

  • 大規模・複雑なコードベースへの対応力:多様なコードベースでの学習により、現実世界のプロジェクト特有の課題に対応する能力を向上。


AGENTS.mdによる動作カスタマイズ

リポジトリのルートディレクトリにAGENTS.mdというMarkdownファイルを配置することで、Codexの動作をプロジェクトごとにカスタマイズできます。このファイルには、コードベースの歩き方、テスト実行コマンド、プロジェクト固有の標準プラクティスなどを記述し、Codexエージェントの振る舞いをより細かく制御できます。

OpenAI公式が紹介している記述例:

# コントリビューター向けガイド

## 開発環境のヒント

- 特定のパッケージに移動する際、`ls`で探すのではなく、`pnpm dlx turbo run where <project_name>`を使って直接ジャンプしましょう。
- ワークスペース内でVite、ESLint、TypeScriptが認識できるようにするため、`pnpm install --filter <project_name>`を実行して対象パッケージを追加してください。
- 新規にReact + ViteのパッケージをTypeScript設定済みの状態で作成する場合は、`pnpm create vite@latest <project_name> -- --template react-ts` を使用します。
- 各パッケージ内の`package.json`の`name`フィールドを確認し、正しい名前であることを必ずチェックしましょう(トップレベルのものは対象外です)。

## テスト手順

- CIプランは`.github/workflows`フォルダ内にあります。
- 特定のパッケージで定義されたすべてのチェックを実行するには、`pnpm turbo run test --filter <project_name>`を実行します。
- パッケージのルートディレクトリから単純に`pnpm test`を呼び出すことも可能です。コミットをマージする前に、すべてのテストがパスする必要があります。
- 特定のテストに絞って実行する場合は、Vitestのパターンを追加します:`pnpm vitest run -t "<test name>"`。
- テストや型チェックでエラーが出た場合、すべてのテストが成功するまで修正してください。
- ファイルを移動したりインポートを変更した後は、`pnpm lint --filter <project_name>`を実行して、ESLintおよびTypeScriptのルールを満たしていることを確認してください。
- コードを変更した場合、依頼されていなくても該当箇所のテストを追加または更新してください。

## PR作成時の指示

PRタイトルのフォーマット: `[<project_name>] <タイトル>`


Codex CLIのアップデート

Codexの発表と同時に、ターミナルで動作するコーディングエージェントCodex CLIもアップデートされました。

主なアップデート内容:

  • codex-mini-latestモデルの導入:Codex CLI専用に設計されたo4-miniベースの小型モデル。低遅延でのコード関連Q&Aや編集作業に最適化。

  • ChatGPTアカウント連携の簡素化:APIトークンの手動生成・設定が不要になり、ChatGPTアカウントでサインインするだけで利用可能に。

  • 無料APIクレジット提供:PlusおよびProユーザーがCodex CLIにChatGPTアカウントでサインインすると、それぞれ期間限定で無料APIクレジット(Plus: $5、Pro: $50)が利用可能。

※ 無料APIクレジット提供に関して、発表直後の段階では、クレジットが付与されないケースもあったので、クレジットの付与には別途手続きが必要なのか、あるいは時間差で反映されるのかなど、詳細は今後のOpenAIからの情報を確認する必要がありそうです。


安全性と信頼性への取り組み

OpenAIは、Codexを研究プレビューとしてリリースするにあたり、セキュリティと透明性を最優先事項として設計しています。ユーザーは、Codexの作業内容を引用、ターミナルログ、テスト結果を通じて検証できます。

主な安全対策:

  • 不正利用防止:マルウェア開発など悪意のある用途での使用要求を識別し拒否するよう訓練。

  • セキュアな実行環境:各エージェントは完全に分離されたクラウド上のコンテナで動作し、タスク実行中はインターネットアクセスが無効化される。

  • ファイルシステムサンドボックス:アクセス可能なファイルは、ユーザーが接続したGitHubリポジトリ内のファイルと、ユーザーが設定した依存関係に限定。

  • 有害タスク使用リスク:安全性トレーニング、ネットワークサンドボックス、モニタリング。

  • コーディングミスリスク:ネットワークサンドボックス、ファイルシステムサンドボックス、ユーザー透明性と差分レビュー。

  • タスク未完了の虚偽報告リスク:モデルトレーニング、ユーザー透明性と差分レビュー。

  • プロンプトインジェクションリスク:ネットワークサンドボックス、ファイルシステムサンドボックス、安全性トレーニング、ユーザー透明性と差分レビュー。

以下の評価結果も公開されています。Codex(codex-1モデル)がマルウェア開発に関連する指示をどの程度拒否したかを示しています。「refusal_rate」は拒否率を表し、数値が高いほどその能力が高いことを意味します。

  • Malware Refusals (Synthetic): 0.97:多様なマルウェア関連のシナリオを模倣して合成的に生成された広範なデータセットに対する拒否率

  • Malware Refusals (Golden Set): 0.98:OpenAIの社内ポリシー専門家によって慎重に選定・作成された、より質の高いテストケース群(ゴールデンセット)に対する拒否率

Addendum to o3 and o4-mini system card: Codex


アーリーテスター/OpenAIスタッフの投稿

Codexの発表に際し、OpenAIのスタッフやアーリーテスターから、その使用感や期待に関する声が上がっているので一部をまとめます。

Alexander Embiricos氏(CEO @every):

Codexの対象ユーザーと動作:
「Codexはシニアエンジニアによる使用を想定して設計されており、機能追加やバグ修正といったコーディングタスクを自律的に実行します。一度に多くのセッションを開始でき、複数のエージェントを並行して動作させることが可能です。」

Codexの「テイスト」:
「OpenAIは、Codexがシニアソフトウェアエンジニアのテイストを持つように訓練しました。大規模なコードベースがどのように機能するかを理解し、質の高いPRを作成し、クリーンで最小限のコードを使用します。」

エージェントとの最適な関わり方「アバンダンス・マインドセット」:
「Codexは、ユーザーが詳細に囚われることなく多くのタスクを一度に委任できるように設計されています。これにより、困難なバグのような特定のタスクに対して多数のエージェントを投入することが可能になり、そのうちの1つでも成功すれば価値があります。」

OpenAIのエージェント構想:
「Codexは、OpenAIが最終的に構築したい統一されたスーパーアシスタントの一部です。このスーパーアシスタントは、ユーザーが舞台裏で適切なツールを選択することで、物事を簡単に達成できるようにするエージェントです。」

プログラミングの未来に関するOpenAIのビジョン:
「将来的には、開発者は定型的なコードを書く時間を減らし、エージェントを指導し、その作業をレビューし、戦略的な決定を下すことにより多くの時間を費やすことになるでしょう。プログラミングはよりソーシャルになり、チームは複数のタスクを一度に簡単に委任できるようになり、人々は定型的なコーディングではなくアイデアやコラボレーションに集中できるようになります。」

https://twitter.com/danshipper/status/1923393530459832342

Pietro Schirano氏(co-founder EverArt.AI):

「Codexをかなり集中的にテストしています。

うまく機能する時は、本当に魔法のような体験です。モデルがコードから持つ理解のレベルに驚いています。

まるでコードが何をしているかを『シミュレート』するのが得意なかのようです。」

https://twitter.com/skirano/status/1923397651225071831

Greg Brockman氏(OpenAI共同創業者)

「多くのタスクを並行して処理できるソフトウェアエンジニアリングエージェント、Codexをリリースしました。

これは独自のクラウドベースのコンピュートインフラストラクチャで動作し、バグ修正、コードに関する質問への回答、テスト実行などが可能です。

ソフトウェアエンジニアリングの未来への一歩のように感じます。」

https://twitter.com/gdb/status/1923401740986052770

Dominik Kundel氏(OpenAIスタッフ)

「Codexをしばらく使ってみると、Codexが自分の開発フローの一部ではない世界を考えるのが難しくなります。出勤前や昼食前に一連のタスクを開始し、戻ってきたら一連のPRドラフトができているというのは信じられないほどです。」

https://twitter.com/DKundel/status/1923404736654459340


現時点で分かっているCodexの得意なこと・不得意なこと

実際に触ってみた結果、OpenAIスタッフやアーリーテスターの声をまとめると、現時点でCodexには以下のような得意な点と、今後の改善が期待される点が見えてきます。

Codexは、特に既存のコードベースに対して明確に定義された小規模なタスクを処理するのに長けているようです。プルリクエストの単位で完結するような、レビューしやすい変更を生み出すことを得意としています。これにより、プロのソフトウェアエンジニアが本番環境にデプロイするコードを管理しやすくなります。

一方で、以下のような点は現時点での課題と言えます。

  • チャットベースの柔軟な対話は非得意: タスク完了後のフォローアップリクエストや、曖昧な指示に対する対応は不安定な場合があります。設計意図を明確に伝える必要があります。

    • アーリーテスターからは、「直前のコンテキストを完全に無視するバグっぽい挙動」や「せっかく成功した編集が、追加のリクエストによって無かったことになる」といった報告が上がっています。これはコミット漏れのような内部的な問題の可能性も示唆されています。

  • タスク実行中のインタラクション不可: 現状では、一度開始したタスクを途中で停止したり、実行中に新たな指示を加えたりすることはできないようです。

  • プルリクエスト(PR)ワークフローの制約:

    • PRの作成自体は手動で行う必要があります。

    • 作成したPRに対してフィードバックがありコードを修正した場合、それを既存のPRに反映させるのではなく、再度新しいPRとして作成し直す必要があるという点が指摘されています。

  • 外部情報へのアクセス制限: 現状では、ウェブ検索を実行したり、GitHub Issuesを読み込んで内容を理解したりする機能は搭載されていません。

  • 入力モダリティの制限: 現時点では、画像を入力として扱うことはできないようです。

  • 新規プロジェクトのゼロからの構築: 既存のコードベースへの機能追加やバグ修正と比較すると、全く新しいアイデアをゼロから具現化する「vibe coding」のような用途には現時点では最適化されていないようです。

  • 外部ツールとの完全な連携は発展途上: GitHubへのプルリクエスト投稿は可能ですが、プルリクエスト上のコメントに対応してコードを修正するといった、より高度な連携は今後の課題です。

プランと利用可能性・料金

Codex(ChatGPT内)の提供状況:

  • ChatGPT Pro, Team, Enterpriseユーザーに順次グローバル展開開始。

  • Plus, Eduユーザーには今後提供予定。

  • 提供開始から数週間は追加費用なしで利用可能。その後、レート制限とオンデマンドでの追加利用が可能な料金オプションを導入予定。

codex-mini-latest(API経由):

  • Responses APIにて利用可能。

  • 料金:入力$1.50/1Mトークン、出力$6.00/1Mトークン。

  • 75%のプロンプトキャッシュ割引あり。

Codex CLI(codex-mini-latest利用時):

  • Plusユーザー:30日間有効な$5の無料APIクレジット。

  • Proユーザー:30日間有効な$50の無料APIクレジット。


まとめ

今回OpenAIから発表されたCodexは、新モデル「codex-1」と非同期マルチエージェント実行基盤により、ソフトウェア開発のあり方を大きく変える可能性を秘めた、重要な一歩と言えるでしょう。単なるコード補完を超え、自律的にタスクをこなし、人間と協調する「AIコーディングパートナー」としての役割が期待されます。

現時点では、最近注目される「バイブコーディング」のような、非エンジニアがコードに触れずに開発するスタイルには、まだ最適化されていないかもしれません。エンジニアリングの知識がある程度求められる場面も感じられましたが、開発者にとっては非常に大きなインパクトを持つアップデートであることは間違いありません。OpenAIのスタッフが語るように、これからの開発の形が大きく変わっていくことが予想されます。

もちろん、研究プレビュー段階であり、チャットベースの対話の柔軟性や外部ツール連携など、今後の進化が待たれる部分もあります。しかし、今後の機能拡張やIDE等との連携深化によって、開発者の生産性やワークフローが大きく変革されることは十分に期待できます。OpenAIは先日、Windsurfの買収に合意したという報道もありました。引き続き目が話せません。

参考: