メシのタネ

メシのタネになる、Laravelや設計思想の技術配信サイト


OpenAI Codex徹底レビュー:GitHub連携AIエージェントの導入・使い方と主要UI解説【2025年最新版】


  1. AI
  2. OpenAI Codex徹底レビュー:GitHub連携AIエージェントの導入・使い方と主要UI解説【2025年最新版】

OpenAIからCodexというエージェントが追加されました。

このエージェントは、Githubと連携して、Repositoryを理解し、自然言語をタスク分解し、タスクを実行し、実行したタスクをPRをとして投げることができます。Clineとかはローカルにファイル生成してくれますが(CodexAPI使えばできるみたい?)、それとはまた違った便利さがあるのでぜひ体験してほしいです。

体験したいと思った人がすぐに実践できるよう、詳しめにまとめましたのでぜひお付き合いください!

利用前提(5/18)

  • OpenAIユーザーであること
  • ProかteamかEnterpriseに加入済みであること(Pro以外にもちょっと待てば実装されますので焦らなくても) 6/4にPlusプランにも解禁になりました。
  • 利用できるGithubアカウントがあること
  • GithubにRepositoryがあること

利用方法

  • 左サイドバーのChatGpt以下にCodexという項目が生えてます
  • この後、Githubの情報をいくつかCodexに渡して利用開始できるようになります(キャプチャ取得し忘れました)
  • 初期設定で許可Repositoryの設定を限定的にした場合でもあとからGithub上で変更できます。
    • github → settings → personal profile → applicationsにChatGPT Connectorから変更できますので安心してください。

環境設定

  • 「環境を作成する」ボタンから、作業させたいRepositoryを選択することができます。
  • 公開/非公開関係なく作業させたいRepositoryは選択できます。
  • 名前と簡単なDescriptionが設定できます。
  • 「環境を作成する」を押した後の画面ここで、好きなRepositoryを選べば利用開始できます!

コードの実行ブロック(2025/5/26更新)

すみません🙇
2025/05/25に修正した時に、下記の画面GithubのCodespacesのコンテナ作るところだと思ってましたが、Codexが利用するためのDockerを作成するための設定でした。

以下に再度詳しくまとめます。

1️⃣コンテナ設定2025年5月26日現在ここはUniversalしか選択できません。(python,node,ruby,swift,rustなどのパッケージが入ってます。)
2️⃣環境変数環境変数が設定できます。(CodexのDockerコンテナ起動中は有効)※2
3️⃣シークレットシークレット情報が設定できます。(環境変数との違いは、セットアップスクリプト実行中で利用されるだけ。終わったら削除される。)※2
4️⃣セットアップスクリプトタスクが開始される前に実行されるbashスクリプト。lintやtestを入れておいて、agents.mdにそれを使うようにしておくのが良い使い方と公式が言ってます

※1 Environment variables can be specified and are set for the full duration of the task.
※2 Secrets can also be specified and are similar to environment variables, except:
  * They are only available to setup scripts. For security reasons, secrets are removed from the environment when the agent is running.
  * They are stored with an additional layer of encryption and are only decrypted for task execution.
引用: https://platform.openai.com/docs/codex#environment-variables-and-secrets

  1. Codexの画面(chatgpt.com/codex)でタスクを入力
  2. Codexが新規Dockerコンテナを立ち上げる(下記スクショ画面の設定と関連)
    • ベースとなるイメージを元に仮想マシンを作成
    • 指定されたリポジトリとブランチ(またはコミット)をクローン
    • セットアップスクリプトがあれば、ワーキングディレクトリで実行
  3. セットアップ後、ネットワークを遮断
    • この時点で、外部からのパッケージインストールやAPIアクセスは不可(この時点でSecretの情報はエージェントの実行中削除される)
  4. AIがコンテナ内でターミナルコマンドを繰り返し実行(環境変数の参照は可能)
    • コードを書き換える、テストを回す、結果を検証する
    • AGENTS.mdで指定したLintやテストコマンドがあれば、それも実行
    • 使えるのは「ユーザーが提供するターミナル、CLIツールだけ」
  5. 作業完了後、diffや追加タスク案を提示
    • PR(プルリクエスト)を作成することもできる
    • さらに追加のコメントや作業依頼も、そのままやりとりできる

出典: https://platform.openai.com/docs/codex#how-it-works

(6/5更新)セットアップスクリプト外もCodexのコンテナがインターネット接続が可能になりました。

Codexの操作画面の基本説明

この章では、画面の主要パーツと操作方法について簡単に解説します。

1️⃣プロンプト入力欄コーディングタスクや指示を入力するテキストボックス。
2️⃣リポジトリ選択ドロップダウン作業対象となるリポジトリ(プロジェクト)を選択するプルダウンメニュー。
3️⃣ブランチ選択ドロップダウン対象リポジトリ内の作業ブランチ(例:main、developなど)を選択するメニュー。
4️⃣確認を求めるボタン(Askモード)Repositoryの説明や修正タスクの提案などをお願いするボタン。(この後すぐ深堀り)
リポジトリを読み取り専用でクローンし、素早く立ち上がる。設計相談やレビュー、質問など直接変更しない作業向けの機能。
5️⃣コード生成ボタン(Codeモード)修正の適用を指示する場合に利用する。実行すると最終的にPRを作成。(後で深堀り)
完全な開発環境を立ち上げて、コードの実行・テスト・修正ができる。実際にファイルをいじる作業はこちら。

UIパーツの名前がDocから見つけられませんでした。
こちらにAskモード、Codeモード載ってます。(https://platform.openai.com/docs/codex

たねまる

わかりやすくUIに仮の名前つけておくのって変数の命名みたいだね〜

Codexで確認を求めるボタンを押すとどうなるか?

この章では「確認を求める」ボタンを押した際の挙動について検証します。

今回の対象リポジトリはここhttps://github.com/wasipo/syugyou

プロンプト入力欄にお願い(Unit以下のテストの改善点を教えて)を入力してます。

  • タスクのリストに1行追加されました。作業中だと分かるようなギミックが表示されます。
  • Unitテストの改善点を調べる項目をクリックすると上記画面が表示されます。
番号仮コンポーネント名簡単説明
1️⃣作業結果作業時間を表示し、クリックすることで作業内容の詳細を表示できる。
2️⃣コード生成ボタンクリックするとタスクとして実行します。
3️⃣コード部分フォーカスクリックすると提案内容に関連する修正該当コードを表示。
4️⃣タスク編集項目にマウスカーソルを当てると、鉛筆マークが表示されます。赤線枠部分の何処かをクリックすると実施タスクを調整できる。

1️⃣の作業結果はこのように表示されます

たねまる

なんか職人さんみたいだね〜

実施されたタスクの扱い

この章では、タスクを実施するとどのようになるかを検証します

  • 先ほどの章の2️⃣をクリックしたときの画面。Remove dump() statements from testsが追加されています。
  • 追加された項目をクリックしてみましょう。以下の画面になります。
番号仮コンポーネント名簡単説明
1️⃣作業指示先ほどの章の4️⃣で確定した内容がここに表示される。
2️⃣作業結果先程の章と同様、クリックするとログが表示される。
3️⃣ログクリックするとログが表示される。先程よりログの参照がしやすくなってる印象
4️⃣罠ボタン
(UI的にはPush通知ボタン💀)

プルリクエスト作成するボタン
プッシュ通知と書いてありますが、実際はタスクについての処遇を決定する超重要ボタンです。
現在はプルリクエストを作成するボタンに変わっています。
5️⃣コメント入力コードに対して限定的に指示を書き込む事ができます。ここで書いたコメントは、コメントとして記憶され、実行時にまとめて指示ができる。(ややこしいので後述)

コメント入力機能の深堀り

注:先程のタスクの詳細画面のキャプチャからもう少し下にスクロールしていくと、プロンプト入力欄が出現します。変更が短ければ最初から見えてると思います。

  • プロンプトを入力するか、1️⃣をクリックすることで、3️⃣が表示されます。
  • 2️⃣のコメント内容、他にもう1件ありますが、コメントの数分1️⃣のコメントが増えます。

Codexの仕込んだ罠ボタンについて解説

  • プッシュ通知と言っているがクリックしてもプッシュ通知が来るわけじゃない 💀
  • クリックするまで挙動がわからないから不安であんまりクリックしたくない 🧟
たねまる

みんなの代わりに、僕がクリックしてみるからね〜✨️

はい。プッシュ通知をクリックしない限り、このコミットは適用できません。プロンプトになんか入力しても適用することができません。
というわけで問題がなければ、PRを作成するか、ドラフトでPR作成するか、パッチなどを作ってコミットしてPushすることもできます。

PR作成後の挙動

PR作成をクリックするとどのようなPRが作成されるのか気になりませんか?

  • さっきのPush通知ボタンがプルリクエストを表示するに変更されます。
  • 実際にGithubを見に行きます。
  • 親の顔より見たPRの一覧にcodexからのcodexラベルのついたプルリクが載ります。なぜかタスクとは別名でPRが投稿されます。
  • ちゃんとコメントも書いてくれます。
  • コード書いてくれる以外にも、PRのDescription考えてくれるのと、branch名考える手間が無くなるなと思いました。
たねまる

この間、この最後に貼ったGithubの画面の名称なんて名前なのかPRで話し合ってたよー。pr issue? pr description?なんだろ〜

5/25追記:ボタン変更されました。プッシュ通知ではなく、プルリクエストを作成すると表示されます!

本記事の要点

  • Codexは、自然言語からGitHubタスクを自動化・実行し、PR提出まで一気通貫でサポート
  • 利用にはOpenAI Pro/Team/Enterprise/plusプランと、GitHubアカウントが必要
  • UIパーツの名称は公式に明記されていないが、実際の操作感は直感的
  • 「罠ボタン」など、独特なUI挙動にも注意
  • これからAIコーディングの主流になり得る革新的なツール

他のAI関連記事

AI
JetBrains AI Assistantが基本無料!IDEでAIコーディングを始めよう!
AI
Codexにネット接続が来た!——安全に使い倒すためのチェックリスト
AI
OpenAI CodexでWordPress開発環境を作る:完全放置の試み

感想

  • NoCodeってこういう事なんかな?完全に自然言語だけで開発できるかも知れないという新時代を感じた。
  • Codexのモデルの意味理解がちょっと弱い気がする。プロンプトは一回他の構文理解ではなく意味理解できるGPT(Mondayや4.1)と揉んでからプロンプト投げるのが良いのではないか。
  • GUI上からやると、ローカルへの適用がちょっと面倒。仕方がないけど。

本記事が、OpenAI Codex導入の参考になれば幸いです。

CodexはChatGPT Plus(Pro)や無料ユーザーでも使えますか?

現時点(2025年5月)では、Codexは主にChatGPT Pro、Team、Enterpriseプランのユーザー向け機能です。今後Plusや無料ユーザーにも段階的に開放される予定ですが、公式アナウンスを確認してください。 6/4にplusプラン解禁になりました。

Codexはローカル環境にファイルを作ったりもできますか?

Codexは主にGitHubリポジトリとのクラウド連携が基本です。ローカルへのファイル生成は直接は行いませんが、ClineなどのツールやCodex APIを活用すれば、ローカルファイル生成も技術的には可能です。

Codexが生成・修正したコードは必ずPR(プルリクエスト)で提案されますか?

いいえ、Codexは修正内容をPull Request(PR)として提出するだけでなく、「Apply」「ドラフトPRの作成」「パッチのダウンロード」など、複数の反映方法が選べます。用途やワークフローに合わせて柔軟に選択可能です。

Codexの操作画面やボタン名称が公式ドキュメントと一致しないことがあるのはなぜ?

公式にはUIの各部名称が明文化されておらず、仕様変更やβリリースによるUI調整も頻繁です。本記事では便宜的に呼称を決めて説明しています。

Codexの操作画面やボタン名称が公式ドキュメントと一致しないことがあるのはなぜ?

Codexは非常に強力ですが、すべての修正や自動生成を鵜呑みにせず、必ず内容をレビューし、テストを行ってから本番環境に適用してください。また、GitHubリポジトリのアクセス権や機密情報の取り扱いにも注意しましょう。


コメントを残す

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.