Build Hour: Codex

OpenAI・サムアルトマン
この記事は約35分で読めます。

この動画はOpenAIのBuild Hourシリーズの一環で、同社のソフトウェア開発エージェント「Codex」の最新機能と使用方法について詳しく解説している。PranadeshとDominicの両ホストが、Codexの進化の歴史から始まり、新しいIDE拡張機能、クラウド環境での非同期タスク処理、自動コードレビュー機能まで幅広く紹介している。特にagents SDKを実際に使った実演を通じて、ローカルとクラウドを組み合わせたワークフロー、複数タスクの並列処理、計画立案からコード実装まで一連の開発プロセスでの活用方法を示している。開発者がより効率的にコードを書き、レビューし、管理するための実践的なベストプラクティスが含まれている。

Build Hour: Codex
Codex is now one agent for everywhere you code — connected by your ChatGPT account. This Build Hour is a hands-on walkth...

Codexの紹介と最新機能

皆さん、Build Hourの別のエピソードへようこそです。私はPranadesh Mandeです。

こんにちは、Dominic Kundalです。私たちが今日のホストを務めさせていただき、私たちのソフトウェア開発エージェントであるCodexについて深く掘り下げていきます。

内容に入る前に、Build Hourについて簡単にご紹介させてください。これは開発者や構築者の皆さんがOpenAI API、モデル、プロダクトなど、役立つものを最大限活用していただけるよう支援するライブバーチャルイベントシリーズです。毎月開催しており、社内の専門家だけでなく、時にはユーザーやお客様にもご参加いただき、これらすべてについて議論しています。詳細を知りたい方は下記のリンクをご確認ください。

この1カ月間にOpenAIのコーディング分野で起きていることを追いかけていらっしゃった方は、私たちにとってかなり大きな月だったことにお気づきかもしれません。

わずか1カ月前ということが信じられませんが、私たちの最高スコアモデルであるGPT-5をローンチしました。この期間中、GPT-5のコーディング能力を真に活用するためにCodex CLIの改善も続けてきました。そして最後に、先週Codexにとってかなり大きなリリースがあり、新しいID拡張機能を含む多数の新機能を展開しました。

Codexの進化とデモ

そこで今回は、Codexの新機能すべてでできることについて深く掘り下げるのに最適なタイミングだと考えました。Domが皆さんのために準備してくれたエキサイティングなデモがたくさんあります。最高の結果を得るためのコードベースとワークフローの構造化に関するベストプラクティスについても議論します。また、Q&Aセッションもあります。

このイベント中に、皆さんが現在使用している動画プラットフォームのQ&Aタブを使って質問を提出していただけます。これらの質問は直接私たちに届きます。私たちのチームがチャットで直接回答するか、イベントの最後にライブで回答するための質問をいくつか保存しておきます。

実際のデモの本題に入る前に、Codexを改めて紹介するのも良いタイミングだと思いました。Codexはそれほど長く存在していません。正直なところ、1年も経っていませんし、大きく変わってきています。今日は私たちがどこから始まり、どこまで来たかをご案内したいと思います。これはCodexを最大限活用する方法を理解するための適切な文脈を設定するのに本当に役立つからです。

私たちは4月にCodex CLIでCodexを初めてリリースしました。これは軽量なオープンソースのコーディングエージェントで、今日多くの皆さんが愛用しているものです。当時はChatGPTで使用したり、APIキーで使用したりできました。その後、ChatGPTでのCodexをフォローアップしました。これはGitHubに接続し、皆さんに代わってコードをリモートで実行し、PRを提供する非同期クラウドコーディングエージェントでした。

これら2つの体験は強力でしたが、うまく連携していませんでした。それぞれが独立しており、多くの人々が実際に構築する方法と合致していませんでした。そこで過去数か月間、私たちはこれに対処し、多くの新しい機能を追加しながらこれらの体験をまとめることに取り組んできました。

これが先週私たちが行ったことです。Codexは今、あなたがコードを書くどこにでもいる一つのエージェントのように感じられるはずです。VS Codeで動作し、Cursorで動作し、VS Codeと互換性のあるフォークで動作する新しいIDE拡張機能を発表することでそれを実現しました。これにより、CLIと同じ機能をIDEに本当に持ち込み、コードと並行してCodexとより簡単に作業できるようになりました。

私たちはまた、Codex CLIをほぼ毎日改善しています。オープンソースなので、実際にリポジトリに行って私たちがどれだけリリースしたかを見ることができます。リリースは1つあったと思います。チームは確実にたくさん出荷しています。

はい。彼らは昨夜のリリースのように調理しています。そう、まさに。数日おきに。

そのため、私は本当に改善を望んでおり、UIの改善、ハーネスの改善、より信頼性が高く有能に感じられるようにしています。そして、先週からの新機能であるコードレビューです。これをGitHubで有効にすると、新しいPRに対して自動コードレビューが得られます。

そして最後に、とても新しいので実際に人々がどのように使用するかを見てみたいと思っている、私個人的にとても興奮している機能があります。それは、作業中にタスクをクラウドにハンドオフし、それらをプルダウンしてCodexをあなたがコードを書くどこでも利用可能なエージェントのように感じさせる機能です。

これらすべてはあなたのChatGPTアカウントによって接続されており、サブスクリプションの一部です。そうですね、Plus、Pro、Teamで現在はBusiness、Enterprise、またはEduをお使いの場合、Codexが利用できます。これらのインターフェースのいずれかでChatGPTでサインインするだけで使用を開始できます。

また、Codexの動作方法にも変更があります。そこで、Codexの心的モデルを議論することも、どこで使用し、どのように最大限活用するかを理解するのに役立つと思いました。

Codexの構造と心的モデル

現在構造化されているCodexについて考える最良の方法は、2つの次元に沿って考えることです。一つは、開発者としてあなたがどこでCodexを使用するかです。

私たちはちょうどこれについて説明しましたよね。IDEで作業してコードを見るのが好きなら、そこにID拡張機能があります。ターミナルで作業するのが好きで、コードを常に確認する必要がない人、またはタブの切り替えを気にしない人なら、CLIが行く道です。

コードレビューをしているなら、すべてGitHubにあります。そして、タスクを非同期でスケジュールしたりキックオフしたり、後で確認したりしたい場合は、ウェブで実行でき、ChatGPT iOSアプリでも実行できます。

そして、Codexが実行される場所、つまりCodexがあなたのために行う実際の作業が発生する場所もあります。現在、2つの場所で発生します。ローカルマシンでCodexと作業できます。これはCodexとペアプログラミングしているときのようなもので、コードを実行し、あなたのマシン上の環境を変更しています。

そして、安全なクラウドサンドボックスでリモートで実行されます。これは非同期で動作するものです。独自のマシンで実行され、あなたのコードをダウンロードし、あなたのために多くの作業を行って、マージするか継続して作業できるPRを提供します。

これらを踏まえて、Codexについて考える方法とCodexの命名がよりシンプルになったことも期待しています。Codex CLIとChatGPTのCodexが機能せず、Codex oneとCodex oneモデル、そして2020年のCodexモデルもあるとき、Codexという名前のものがたくさんありますよね。混乱は十分理解できました。

これを簡素化し、命名を簡素化し、開発者がCodexについて考える心的モデルを簡素化することは、私たちにとって大きな焦点でした。そして今、すべてがChatGPTアカウント経由で接続されているので、このミームが消えて、Codexがより重要なことに一つの名前を持つ一つの製品として見られ、感じられるようにしたいと思っています。

GitHubのようなものですよね。CLIでGitHubを使用でき、ウェブで使用でき、モバイルで使用できます。どこで実行されるか、どこで使用するかは本当に重要ではありません。それでもGitHubです。Codexが今、物事をまとめ、この方向に出荷を続けているので、そのように感じ始めることを期待しています。

しかし、それは私にとって十分な独白でした。実際に楽しいことに入りましょう。Dom、デモで私たちを案内してもらえますか?

実際のデモンストレーション

素晴らしい。そうですね、これらすべてが実際にどのようにまとまるかについて、いくつかの方法をお見せします。Pranovが言ったように、Codexには多くの異なる側面とインターフェースがありますが、それらすべてが本当にうまくまとまるはずです。

そして、次の25分間を通してそれを見ていただけることを願っています。私がCodexを使用してTypeScriptのagents SDKを維持する方法のいくつかの例を実際に提供することで。agents SDKはオープンソースなので、このセッションの一部として作成するプルリクエストを含めて、これらのいくつかを実際に見ることができるはずです。

Codexと新しいIDE拡張機能を使用してローカルでペアリングする方法、Pranovが言ったようにクラウドでCodexにタスクを委任する方法、コードレビューがどのように役立つか、そして携帯電話でCodexを使用したいときについてお見せします。

それでは、ここで私のエディタに入りましょう。Codexはすでにインストールされています。VS CodeやCursor、私の場合はWindsurfなどの拡張マーケットプレイスで見つけることができます。右側に配置していて、OpenAI agents.jsリポジトリで質問を開始できます。まずはローカルで作業します。

Codex CLIを以前に使用したことがあるなら似ていますが、チャットモードで使用します。これは、リポジトリのローカルコンテキストを使用して「このリポジトリは何についてですか?」のような質問に答えるだけです。この場合、中程度の推論でGPT-5を使用してコードベースをトラバースします。ここで変更できます。

これは実際のライブコードベースですよね。実際にあなたが取り組んでいるものですね。

まさに。agents SDKです。GitHubにあります。実際にいくつかの情報を得ました。戻って何をしたかを見ることができます。この場合、リポジトリの概要を提供しています。これはPNPMを使用するモノリポジトリです。これらすべては役立ちますが、先週、Codexのリアルタイム APIとGの追加をローンチしました。その一部として、多くの例の更新を含め、agents SDKに多くの変更を行わなければなりませんでした。

では、このリポジトリで最も包括的なリアルタイム APIデモや例は何かを尋ねてみましょう。再び、トラバースしますが、これは個別のファイルを見つけるように頼んだのではなく、実際にエンジニアがするようにファイルを検索しなければならないので、もう少し複雑です。

答えを見つけるために追加のファイルを読み始めます。これは自明ではないタスク、つまり些細なタスクではありません。このプロジェクトには実際にトラバースしなければならない多くの異なるパッケージがあるからです。最も包括的なものについて尋ねているので、実際に実装されている機能のレベルを比較しなければなりません。そこで行っているのを見ることができるからです。例を探索していますよね。それらを比較しています。

はい。そして、実際にかなり異なります。繰り返しますが、これらすべてをチェックアウトできます。GitHubリポジトリに行ってそこでチェックアウトすることで私の話をチェックできます。しかし、私たちがするのと同じ方法で例を調べてトラバースしています。

これは最初のヒントの一つにつながりますが、リポジトリの構造化はタスクを扱う方法にとって非常に役立つということです。この場合、明確に名前が付けられたプロジェクトでモノリポジトリを持つことは、Codexがより良くナビゲートできるようになるだけでなく、物事がどのように連携するかを理解したり、同時に複数のタスクで作業することで完全に分離したりできるため、非常に役立ちます。

それは正しい答えでしょうか?

はい、素晴らしい答えです。そして、実際にここでこれを実行するコマンドを提供してくれます。サーバーを起動します。ここでは非常に基本的なリアルタイム APIの例を見ることができます。接続するなら、ミュートします。もう一度試してみましょう。

さて、ここにスタートカメラボタンがあります。これは最後の瞬間にしなければならず、実際にGPT-5を使用してこれを構築しました。ここに画像入力機能があり、物事を表示して個別の画像をキャプチャできます。しかし、これを毎秒画像をキャプチャするようなものにして、ビデオを渡すかのように質問できるようにしたいと思います。

では、ここに戻って、実際にこれに取り組むためのタスクを与えましょう。これをローカルでエージェントモードで実行します。

モードのクールな点は、チャットモードは読み取り専用のようなもので、変更を行わないことです。エージェントは、自分でどのような変更を行うかを決定し、承認を求め、フルアクセスを可能にするyoloモードのようなものがあります。

フルアクセスは、ここで見ることができるように、ワークスペースの外でも実際に物事を書くことができます。これは時々あなたがそれにして欲しいことであり、時々は望ましくない結果をもたらす可能性があります。本当に何をしているかわからない限り、エージェントに固執することをお勧めします。

しかし、私の場合、実際にこの新しいUIを更新したいと思います。ここでページファイルを更新すると言います。@を使用して物事を参照できます。基本的に変更の種類を正確に説明しますが、方法について詳しく説明しません。

ページを更新して、毎秒1フレームベースでの継続的な画像入力を可能にします。それを設定可能にして、他のアプリでは静的画像入力になるようにします。これは、この場合、コンポーネントが共有されているからです。

そのため、Codexがリアクトコンポーネントの変更方法を理解してもらいたいのです。後でそれを見ますが、クールなことの一つは、これがローカルで実行されている間、待つ必要がないことです。そのため、実際にここで追加のタスクをキックオフできます。この場合、クラウドでこれを実行したいと思います。

ここにいくつかの異なる環境があることがわかります。これらはCodexが実行するコンテナです。エージェントがその作業を検証するのに役立つことを知っているツールがいくつか設定されているので、これを選択します。この場合、ここのメインブランチから作業したいと思います。

MCを更新すると言います。リアルタイム TwilioをリアルタイムNextと同じMCP例にします。

この場合、リアルタイム APIのMCPサポートを導入しましたが、すべてのデモアプリにそれを追加する時間がありませんでした。そこで、ここでこのタスクをキックオフします。実際に4回の試行で実行しています。これを試したことがない場合、非常に役立ちます。

これが実行されている間に、ここでもう一つキックオフしましょう。これもクラウドで実行します。更新すると言います。同じMCP例を使用する他のものがあります。

4回の試行機能は、内部的には「best of n」と呼んでいますよね。この種のタスクにとって実際にクールです。各試行で実際に同時に4つの異なるPRを取得し、最良のものを選択できるからです。

興味深いのは、気に入ったものを見つけて、それでもまだ完璧でない可能性がある場合、その上で別の「best of n」を実行できることです。そのため、時々このようなフォークを下ります。しかし、プロンプトエンジニアリングに時間を無駄にせず、絶対に正しいタスクを得ようとしないことで時間を節約できるため、非常に役立っています。

定義の代わりに、4つを起動して、そのうちの一つが正しいことを期待します。ここで、同時に3つのテストを実行していることがわかりますよね。ローカルのものがあり、ここでチェックインして、何をしているかを見ることができます。モバイルでもチェックインできるクラウドタスクがあります。

ここでこれまでに行ったすべてを見ることができます。これが動作している間に、私が持つ他のヒントの一つは、心的モデルを変更しなければならないということです。

開発の心的モデルの変化

バイブコーディングツールや他の多くのものでは、最終的にはあなたがそれに取り組んでいる人であり、AIにペアプログラミングを手伝ってもらっているだけです。しかし、この場合、個人貢献者の役割ではなく、エンジニアリングマネージャーやアーキテクトの役割に自分を置きたいと思います。タスクをどのように構造化するか、将来どのようなタスクが出てくるかを考えます。今すぐそれらをキックオフできますか?

問題を解決している間にバグに遭遇する可能性がある場合でも、バックログに入れてそこで死なせる代わりに、クラウドタスクをキックオフして側で作業してもらい、後で戻ってきたときにチェックインできます。それをプルダウンできます。少し後で見ますが、既存の環境でテストして、PRをプルして提出します。

より多くのことを成し遂げるのは本当にクールですが、そのような心的変化が少し必要です。そして、私たちがまた言及すべきことの一つは、ローカル環境をクラウド環境と実際に接続するためにどのように設定するかですよね。同じgitリポジトリがローカルとクラウドのコンテナに初期化されている限り、それは非常に簡単で、Codexは自動的に両者を同期します。

ここで、これはDevXチームで、DevXチームの全員がagents SDKの独自のブランチを持っていますよね。たとえば、私の環境では、申し訳ありません。たとえば、私の場合、ここで見ることができます。Python SDKとTypeScriptのエージェントSDK間で多くのパリティ作業をしなければならなかったことがわかります。

修正したのは、実際にPythonのものも私の環境にクローンしていることです。つまり、私の環境は少し遅くなりますが、この他のものについて質問できることも意味します。たとえば、Python コードを参照する機能を実装したい場合、実際にそれを行うことができます。

これは私の環境ですが、たとえば私たちのチームのCassは彼自身の環境を持っており、より汎用的なものもあります。そのため、同じGitHubリポジトリに関連付けられたこれらの異なる環境をすべて持つことができます。

または、かなり標準化された設定がある場合は、それらを共有できます。ローカルタスクが完了したようです。それでは、ここを見てみましょう。できることの一つは、ここでCodexが実際に非常に良い要約を提供してくれることです。

この場合、実際に環境変数を行ったので、物事を変更する頻度を定義できます。そして、ここにはuse effectフックがあります。これについて良い点の一つは、実際にこの解決策があまり好きではないということです。これについてフォローアップを続けることができます。

この場合、実際に変更してもらいたいと言います。これを見ると、カメラキャプチャのようなものがあると思います。FPSと継続モードを可能にするために。

それをキックオフして実行させます。時々、より複雑なもので、長時間作業してもらい、完全に軌道から外れていることに気づくような状況があります。その差分を簡単に元に戻すことができます。まさにそうです。その差分を元に戻すことができます。

しかし、私が以前に行ったことをお見せしたいのは、時々これらのより大きな移行があるということです。GPT-5に素敵なUIを調理してもらいました。これを後で実装してもらいたいのですが、実際にこれは一発で行い、永遠に待つようなものではないと思います。

そこで私がしたことは、Codexに尋ねることです。ここで画像入力を与えることができます。画像を与えて、計画を作成するように頼み、それをキックオフしました。そして、これを実装するために変更する必要があるすべてのことをカバーする、非常に良い包括的な計画を書きました。

良い点は、入って物事を変更できることです。あるいは、これに満足したら、実際にクラウドで実行して、ここで新しいタスクをキックオフすると言うこともできます。計画と呼びますか?そして、これを実装すると言うとき、クラウドを行うとき、実際にそれらのローカル変更を使用すると言うことができます。

GitHubにプッシュする必要もありませんよね。これを実装すると言うだけで、最新のgit状態を自動的に取得し、クラウドにプッシュして、そこから作業を続けます。そして、後で再び適用できるgit diffを提供してくれます。それをキックオフしました。バーチャルなものの一部をチェックインできます。

これは完了したようです。ここで見ることができます。レートメを更新しました。すべてのことを実装しました。ここにすべてのMCPツール呼び出しがあることがわかります。これは素晴らしく見えます。ここでPRを作成します。

先ほど言及した私たちが今できることの一つは、実際にCodexにコードをレビューしてもらうこともできることです。agents SDKに設定があり、開かれるPRに対して自動コードレビューを行うことができます。

この場合、私の同僚のCassがここでPRを開きました。ご覧のように、まだこれをレビューする時間がありませんでした。しかし、Codexはすでに行って実際にレビューし、正直言って私がそれを見ても気づかなかったであろう小さなエッジケース シナリオを見つけました。

自分で修正する代わりに、Cassは単にコメントを修正してCodexをキックオフし、Codex が自分自身で行ったコメントを含むコードレビュー全体のコンテキストを取得し、ここで別のタスクをキックオフしました。Cassはそれを私と共有し、これは正直良く見えます。彼はおそらくそれをPRに追加し、PRをマージすることについてずっと良い気分になるでしょう。

実際にCodex コードレビューのクールな点は、単なる静的解析ではないことです。Codexは独自のコンピューターを持っているので、PRを見て、PRの差分を見ます。あなたのコードベースを見ます。差分がPRの意図と一致するか、変更と一致するかを決定します。それらの変更を検証するためにコード自体を実行する必要があるかどうかを判断し、コードレビューを提供します。

それは本当に良いコラボレーターのようなもので、「良く見えます」と言うだけではなく、実際にコードレビューの時間がある本当に良いチームメイトのようなものです。

私が思っても考えなかったかもしれないこれらの小さなエッジケースや物事をすべてキャッチしているのを見るのは確実に素晴らしく、それはすべてのコンテキストを持ち、あなたの環境で動作しているからです。それは本当にそのために役立っています。

また、ここで私たちのタスクの一部についても簡単に確認しましょう。まず、他のデモの一つがあり、それが完了し、ここで見ることができるのは、これらすべての変更をローカルで実際に適用できることです。これらをテストしたい場合、これはテストしたり、変更を元に戻したりするのに最適な方法です。

ここで少し間違えたかもしれません。いえ、実際にこれは私たちがキックオフした他のタスクです。ここで見ることができるのは、これは最初は本当に威圧的かもしれませんが、同時に5つのことに取り組むことに非常にすぐに慣れるということです。それらをキックオフするだけで、やらなければならないタスクや機能を考えるたびに、私の心の中でスペースを占有しなくなるからです。

私はそれをキックオフして、見えないところ、心の外に置き、後で実際にそれを見る時間があるときに戻ってきます。そうですね、どのコードベースにいるか、どのブランチにいるかを把握するだけで、コードベースに馴染んでいればいるほど、より多くを得ることができますよね。Codexでタスクを調整するだけで物事をズームスルーできるからです。

この場合、すべてを変更したようです。環境フラグを保持していて、これは良いことです。それを設定できるからです。ここでPRを作成します。これをステージングしません。実際に計画をキックオフしましたが、もうこれは本当に必要ありません。だから、それを取り除きます。そして、それをプッシュオフします。

新しいプルリクエストをここで作成できます。それは後でGitHub上で全体のレビューをキックオフするはずです。それがいくつかの異なることです。お見せしたかった他のことの一つの例は、再びインスピレーションが湧いたときに実際にタスクをキックオフしたい場合です。

数ヶ月前の6月に、実際にオープンモデルリリースに取り組んでいました。しなければならなかったことの一つは、harmony parserのためのビルドでした。これはGPTによって生成されたすべてのトークンを処理し、それらを構造化されたメッセージの配列に変換するパーサーです。それにストリーマブルバージョンを追加しなければなりませんでした。

これを最終的に行うことを心に留めてリストに入れていました。しかし、夜の11時30分頃だったと思います。寝ようとしていましたが、この問題が頭に詰まっていました。そして、それを解決する方法についてアイデアがありました。

寝ようとして、明日何をしたかったかを思い出そうとする代わりに、実際に携帯電話を取り出し、iOSのChatGPTアプリを開いて、これが私が書いた正確なことです。問題文が何であったかを大まかに概説しました。

Pythonでどのように見せたかったかを伝えました。この特定の問題プロジェクトについて知っておくべきことの一つは、それが主にRustで書かれており、Pythonラッパーがあることです。私は大きなRust開発者ではありません。だから、Pythonでどのように見せたかったかを与えて、「よし、残りを理解してくれ。Rustでそれを実装する方法を理解してくれ。インターフェースがどのようであるべきかを理解してくれ」と言いました。

また、可能な限り再利用する方法について自分の判断を使い、必要に応じて物事を作成してくれと言いました。そして、このプルリクエストを作成しました。リポジトリに何か変更があったようです。だから、元のプルリクエストをもう表示していません。

しかし、実際にオープンソースでもあるHarmonyリポジトリに入ると、このコードの多くがまだ存在することがわかります。翌朝起きたときに、動作するコードが準備されていて、それでプルリクエストを作成し、それが機能したからです。

これは私が持った魔法的な瞬間の一つで、「おそらく入って、それが壊れていて、修正するためにプロンプトを20分間費やすことになるだろう」と思いましたが、それは単に機能しました。

それは簡単な問題ではありませんでした。実際にここでログを調べて、かなりの間ナビゲートしなければならなかったのを見ることができます。これを解決するのに7分かかりました。そして今、あなたは決してRustを学ぶ必要がありません。

まさに。少なくともほとんど。今はRustをレビューできますが、それをレビューすることでCodexを送ることができますよね。

はい、そのため私が持つであろう別のヒントは、問題に取り組んでいるとき、コンピューターに戻るまで待ったり、他のことをしたりしようとしないことです。実際にCodexで環境を設定している場合、インスピレーションが湧いたときにタスクをキックオフできます。

時々、仕事に向かう途中でこれを行います。オフィスに着く頃には、すでに動作するバージョンまたは少なくともIDEにプルして追加のターンを取るか、変更を求めて別のタスクをキックオフすることで作業できるドラフトがあります。

環境設定とベストプラクティス

環境について話すと、マークダウンファイルの使用についても議論すべきことの一つがありますよね。agents.mdから始めて。コードベースの構造化について議論していたとき、クールなことは、OpenAIモデルがあなたのリポジトリ内のファイルとしてagents.mdを取得することにますます優れていることです。

このリポジトリについて教えてくれとか、ここで何が起こっているかのような質問をすると、このファイルを探すことを知っています。ここで、コードベースに関するすべての慣例を文書化します。

そうですね。agents.mdファイルのためにCodexがほぼ瞬間的にではないにしても、非常に迅速に理解できるようになります。正直なところ、agents.mdファイルは、非常に標準化されたリポジトリでは比較的短いものから、より効率的になるよう本当に導きたい場合のより長いものまで様々です。

私が言いたい非常に重要なことの一つは、エージェントが自分自身の作業をチェックする方法を本当に確実に持つことです。人々は必ずしもテストを書くことのファンではありませんが、モデルがテストを使用できる能力を持つことは非常に役立ちます。

そのため、Codexがよく自動的に独自のテストを書くのを見ることができます。agents SDKの実際のSDK部分での変更を求めている場合、すでに既存のテストがあり、それらを実行する方法を知っているので、あなたに頼まれることなく自動的にテストの作成を開始します。

例えば、例については、テストはありませんが、TypeScriptを使用しています。そのため、実際に入ってそれらをコンパイルし、少なくともすべてのタイプが正しいことを確認できます。そのすべてが、問題に遭遇した場合にそれらの修正を開始するため、実際に成功する可能性を高めます。

私は確実にバイブコーダーの端にいます。サイドプロジェクトで作業するときに好むのは、agents.mdに、実質的に新しい機能を実装するたびにCodexがテストを書く必要があるという指示を含めることです。それをかなり忠実に行い、それはクールです。

何か新しいものが準備されるたびにテストが実行されるのを見ることができ、そうすることでコードを見る必要すらありません。昨日実際に行ったことの一つは、テストが必要で、これはRustに戻ります。

Codex CLIはRustで書かれており、そこで機能を貢献していました。テストカバレッジを追加する必要がありました。このためのテストを作成してくれと言うだけでなく、実際にCodexに計画ステップを実行してもらい、テストする予定のことを概説するplan.mdファイルを作成してもらいました。

そして、そのファイルを参照してテストを構築する新しいタスクをキックオフしました。こうすることで、最初にそのテスト戦略とどのようなテストを作成するつもりかをレビューし、それをキックオフして、マージできる高品質で価値のあるテストを実際に作成したことを確認できました。

素晴らしいです。そして、agents.mdはネストできますよね。そうです、本当に複雑なコードベースがある場合、Codexのために各レベルで異なる指示を持てます。私たちのメインモノリポジトリには80個ほどのagents.mdファイルがあると思います。

コードベース内に異なるスタックがある場合などに特に役立ちます。私たちの場合、すべてを置いただけです。素晴らしい。それでは、戻って、私たちがカバーしたベストプラクティスについて少し話しましょう。

ベストプラクティスのまとめ

はい、やりましょう。このプロジェクトを通じていくつかの異なることをカバーしました。

一つは、コラボレーションを可能にするようにコードとプロジェクトを本当に構造化することが非常に役立つということです。他の人間がコラボレーションするのに役立つようにリポジトリを構造化するのと同じ方法で考えてください。

並行して作業できる個別の部分を持つように構造化している場合、巨大なマージコンフリクトに遭遇することなく、Codexが同時に複数のタスクで作業することも助けます。たとえば、TypeScriptでは、すべてTypeScriptで書かれた小さなプロジェクトを持つことで、自分自身をチェックできるため、非常に役立つことができます。

実際にその点について、複数のエージェントがあなたのコードベースで混乱を起こすことなく作業できるようにする方法についての質問が来ました。それがまさにその答えです。

まさに。だから、agents SDKを構築したときに最初にこのモノリポジトリ全体を始めたのは、エンドユーザーのためにさまざまなパッケージをバンドルする便利さのためでした。しかし、作業の影響を制限するのに非常に役立ちました。

SDKのリアルタイム部分のすべてを変更したり、コアのすべてを変更したりして、その作業を分割し、お互いに干渉しないようにできる場所です。

同様に、個別のファイルに分割することで物事が簡単になります。同じファイルで作業している多くのエージェントがある場合、悪い時間を過ごすことになります。ただし、良い点は、Codexがソフトウェアエンジニアのようにはるかに多く動作するため、実際にコンポーネント化のようなことをはるかに定期的に行う傾向があることです。

時々、物事に干渉する可能性があることを知っている場所では、最初に私が告げた一つのファイルのみに触れようと重力的に向かいました。明示的に他のファイルについて伝えない限り、他のファイルを乱すことはありません。

他の部分は、そして私はこれが慣れるのに時間がかかることだと思いますが、あなたは本当に、すぐには取り掛かれないタスクの委任により焦点を当てた建築家やEMのマインドセットに入りたいと思い、事前に考えます。今やらなければならないタスクについてのみ考えている場合、Codexから最大限を得るのがより困難になります。

確実に。三つ目は、Codexが自分自身の作業をチェックする方法としてテストを持つことです。リンターやフォーマッター、テストなど、何を持っているかに関係なく、Codexがあなたに返すものが高い確率でマージされることを確実にできるからです。

また、フルアクセスモードでは、より活発なテストを行うことができますよね。データベーステストやAPIテストのように、Codexは実際にコマンドを実行してデータベースにpingし、APIにpingし、コードが動作していることを確認できます。

新しい機能を出荷するたびに、静的コードをテストするだけでなく、より包括的であることがわかる状況に入ることができます。そのため、自分でそれ以下を行うか、テスト結果をレビューするだけで済みます。

Codex CLIとCodex IDEをMCPサーバーに接続することもできます。物事を検証するのにCodexを助けるMCPサーバーがある場合、それらも接続できます。

四つ目は、複雑なタスクのためにマークダウンファイルで計画を概説するためにCodexを使用することです。これは非常に役立っています。なぜなら、それは別のエンジニアと行うブループリントレビューのようなもので、文書を持ち、それを調べて、「これは理にかなっているか?」と理解し、数回反復することができるからです。

チャットでそれを行う必要はなく、実際にアーティファクトを持つことで、同じファイルのわずかなバリエーションで潜在的に複数のタスクをキックオフできるのです。物事をコピーペーストする必要がないのです。

また、ここで追加すべきことの一つは、CLIにagents.mdのヘルパーコマンドがあることです。agents.mdが欲しいディレクトリで、どのディレクトリでも/initするだけで、agents.mdを自動生成してくれます。

それは私たちのagents.mdが最初にどのように生まれたかの種類だと思います。そして、何が機能し、何が機能しないかを見て、エージェントに望まないことをする場所を見ることができます。

まさに。あなたがそれがうまくいくかどうかを見る種類です。他のことは、GitHubでCodexレビューを使用することです。正直なところ、Codexの他の部分を使用していなくても、これだけでも本当に役立つことです。

作成される新しいプルリクエストすべてに自動的にコードレビューが添付され、あなた自身のコードレビューを始めるのに役立ちます。つまり、内部的にOpenAIでCodexは、100%とは言いませんが、私たちのコードの大部分をレビューしています。それはここでチームが出荷する方法に不可欠になってきています。確実にチェックしてください。

絶対に。最後のものは、インスピレーションが湧いたときにタスクをトリガーすることです。モバイルアプリやCodex web、またはIDE拡張機能で。正直なところ、物事を見ているとき、それらを覚えようとしたり、バックログに入れようとしたりしないでください。

Codexでタスクを撃ち、正直なところ、あなたのto-doリストのようにそれを扱うことができます。物事を通して作業していると、時々私は物事をキックオフし、マージされることさえありません。それらは私にとってのインスピレーションを作っているだけで、それから入ってgit applyコードをコピーしたり、IDE拡張機能で今それをプルダウンして開始バージョンを持ったりします。

実際にCodex mobileを使って、例えばCodex CLIリポジトリでのものがどのように機能するかを学ぶのが好きです。askモードで「この物事がどのように機能するかを教えて」と言うだけで、あなたやエンジニアリングチームに迷惑をかける必要がありません。

それは確実に役立つ機能でした。馴染みのないコードベースで何度かこれを行ったことがあります。特定の機能がどのように機能するかや、プロダクトチームに迷惑をかけることなく、この物事が可能かについて質問するだけです。

クールです。はい、それらは私たちがカバーした6つのヒントで、取り入れる価値があると思います。明らかにもっとたくさんあります。OpenAIがCodexを使用する方法についてのガイドがスタートアップページにあります。チェックしたい場合は、追加の本当に役立つポインターがあります。

Codexに関するより多くのリソースでフォローアップしますが、それがデモとウォークスルーでした。今度はQ&Aに移ります。

Q&Aセッション

最新の質問がここに表示されるように、スライドを更新すべきだと思います、Dom。最初のものです。

カメラが少し遮っていますが、CodexとCursorの使用とCursorとGPT-5の使用の主な違いについて詳しく説明していただけますか?それを取りますか?

最終的には2つの異なるハーネスだと思います。時々両方を切り替えて使用している自分がいます。しかし、CursorでのCodexはGPT-5を使用しますが、実際にCodexエコシステムの残りの部分に統合されます。変更をプルダウンしたり、タスクをキックオフしたり、そのローカルとクラウド環境の間で絶えず切り替えたりできることが、おそらく最大の側面です。

はい、確実に。つまり、確実に両方を使用し、あなたにとって最適なものを選んでください。明らかに両方のアプローチに多くの力があります。しかし、明らかに私たちは長期的にCodexを多く使用しています。

少しカバーしましたが、もう少し詳細に入ることができるかもしれません。異なるエージェントが同じファイルで並行して作業できるように構造化する方法について議論しました。

git work treesを使用して同時に複数のことに取り組むオプションがあります。ローカルで複数のテストを実行している場合、確実にその道に入る可能性があります。しかし、だからこそ私は通常、一つのタスクをローカルで実行し、クラウドで多くのタスクをキックオフするのが好きです。

良い点は、見たかもしれませんが、実際にプロジェクトのローカル状態を使用できることです。まだコミットしたくないが、同時に3つのことをキックオフしたい状態に到達した場合、それでもクラウドでそれらのタスクをキックオフし、そこで実行させることができます。しかし、完了したら、git applyコードをエディタにコピーバックするか、IDEで適用ボタンを押すだけで、マージしたり、その方法で反復したりできます。

それが私が最も簡単だと思うものです。しかし、git work treesを使用して作業を制限することができます。また、GPT-5全体的には指示フォローが非常に優れています。そのため、触れるべきでないものに触れる可能性は低いはずです。

あなたの例のように、そこではページファイルのみに触れました。はい。はい。

CodexをローカルMCPサーバーに接続できますか?Codex CLIとIDEは同じ設定を共有しているので、Codex CLIで設定している場合、IDE拡張機能でも自動的に利用できます。両方を切り替えたい場合は切り替えることができます。

非常にクール。これはあらゆる種類のことを開きますよね。複数が並行して実行されているときにCodexがタスクの優先順位付けを可能にしますか?

そうは思いません。並行してローカルで複数のタスクを実行することは、git work treesのようなものを使用していない限り、もう少し困難です。クラウドでの優先順位付けに関しては、すべてが独自の環境で実行されているため、実際には重要ではありません。

各タスクは基本的に、あなたの環境をダウンロードして実行を続ける新しいコンテナのようなものです。そのため、お互いに全く干渉しません。

これらのリソースでフォローアップしますが、Q&Aを簡単に読み通してもし他に質問があれば。

モデルを03に変更する方法についての質問があると思います。IDE拡張機能でそれを試したことはありません。CLIでは、変更したい場合は単にMフラグを渡すことができます。ただし、GPT-5で最高に機能することをお勧めします。特に、ツール使用の品質を本当に改善するいくつかの機能があるからです。

IDE拡張機能で変更できると思いますが、試したことはありません。この時点でGPT-5に夢中になりすぎて、他のモデルについて考えることさえしていません。

しかし、CLIでは、ChatGPTを使用する代わりに、望む場合はAPIキーを使用することもできます。そして、それは実際にOSSモデルを使用することを可能にします。ローカルで実行するか、03や40など、他のモデルを使用したい場合は、それらのモデルも使用できます。

Codexがコードのセキュリティ脆弱性に対するコードレビューで出てくるかどうかという質問があると思います。コードレビュー機能はかなり包括的です。特定のタイプのレビューに範囲を限定することはありません。実際にセキュリティレビューを行うように頼むことができます。

実際、自動コードレビュー機能は、あなたがレビューしたいものを推測するように機能しますが、PRでタグ付けすることで、@CodexでこのPRをセキュリティ問題についてレビューしてくれと言うだけで、他の何よりもそれに焦点を当てます。その方法でかなり柔軟です。試してみて、どう思うか教えてください。

もう少しあります。こちらを見てみましょう。ソフトウェア開発ライフサイクルがどのように変わったかについてこれは興味深いと思います。ローンチに向けてCodexチームと一緒に見るのが個人的に魅力的だったことの一つは、誰もがプルリクエストと変更を貢献していたことでした。

主要なエンジニアリングチームに限定されず、PM、デザイナー、誰もがCodexに貢献し、改善していました。それは本当に魅力的で、誰もが群がって物事を非常に迅速に反復するのを見ることができました。

時々見るのが大好きなことの一つは、Slackチャンネルでのフィードバックのようなタスクがポップアップし、Codexがこれを行えたらクールだというもので、その回答は実行中のCodexタスクへのリンクにすぎません。

私もCodexやagents SDK、その他でこれと同様のことを行ったことがあります。フィードバックを得ていて、Codexタスクをキックオフして、最初のステップを踏むことができるかどうかを見ているだけです。

そのため、Codexにキックオフできるタスクの量によって、バックログが大幅に縮小します。gitによってサポートされる公開ドキュメントの更新のように、今では実際にgitなどを気にすることなく文字列の変更を提出できます。

もうそれがどこにあるかを知る必要さえありません。この物事を変更してと言うだけで、それをキックオフすれば、適切な場所を見つけてくれます。ブランチをデプロイするようなPRプレビューがある設定がある場合、物事を検証するのは本当に簡単です。

仕様ファーストの開発に関連した考えはありますか?もしそうなら、良い例はありますか?それは計画.mdで示したもののようなものだと思います。

まさに。より複雑なプロジェクトがある場合、仕様ファーストのことを行うのは確実に役立つと思います。特に、それを複数のタスクに分解し、すべてを同時に送信できる可能性があるからです。

しかし、GPT-5が指示フォローに非常に優れているため、最初にその計画を構築することで、両方が同じページにいる計画に固執できることを本当に確実にするため、非常に役立ちます。

また、すべての計画でリポジトリにフォルダを設定することもできますよね。そして、それらが実装されたかどうかのステータスを持つこともできます。そうすることで、より多くのコンテキストがあります。

積極的にCodexと一緒に積極的にコードを書いている場合、プロンプトして全体のファイルを変更するよりも少ない場合についての質問がありますが、推測しているだけかもしれません。IDE拡張機能では、コードブロックを簡単にコピーして、それについて質問できますよね。

まさに。実際に物事をマークして、コンテキストとして追加できます。IDE拡張機能で気づく興味深い他のことは、Codexが物事を実装するための小さなコメントを残すことができ、それをCodexに送信できるという小さなヒントが得られることです。

to-doキーワードですね。まさに。

to-doキーワードを使用してCodexに言及すると、自動的に物事を提案してくれます。もう一つの質問は、Codex CLIエージェントがCodex IDE拡張機能の背後にあるものと同じかということです。

はい。はい、同じハーネスです。ターミナルを使用するのと、IDE UIを使用するのとの違いで、ターミナルUIでは本当に難しい素敵なボタンとドロップダウンが見えます。よりベアボーンなものが好きなら、CLIには今かなりわかりやすいUIがあります。

CLIには、私たちがカバーしなかったスクリプト可能性に関する良い機能もあります。Codex execとコマンドを書くことができ、その特定のコマンドで動作します。自動化したいものがある場合、これは非常に役立つことができます。

または、コードエディタですべてを管理することなく、並行して複数のCodexを実行したい場合、それも役立つことができます。

Dockerコンテナのどこかに設定して、独自の自動化を配線したい場合、それはかなりクールです。

他に見逃したものがあるかどうか見てみましょう。私が言った直後に質問が来ました。この答えを知っていますか?

タスクが完了したときに通知を受けるプリフックやポストフックは現在ないと思います。それは確実に以前に聞いたことがあるものです。そして、はい、OpenTelemetryも私たちがまだ持っていないものです。しかし、そこに到達します。

質問としてはそれだと思います。終了する前に、まず第一に、ここにいてくださってありがとうございます。それが役立ったことを願っています。

Domがお見せしたものの多くはオープンソースリポジトリにありました。そのため、agents SDK、agents SDK GitHubに行って、CodexタグでPRをフィルタリングすれば、Codexが提出したPRを実際に見ることができ、どのようなコードを書くかを自分で見ることができます。

PR Arena.aiのようなオープンソースツールもあり、パブリックリポジトリにどれだけのCodexタスクが存在するかを見ることができます。それを探索するクールな方法です。

しかし、その他に、開始するために使用できるいくつかのリソースがあります。うまくいけば、このコンテンツが役立ったことでしょう。

終了する前に、次のスライドに行く必要があります。Build Hourの再度の簡単な宣伝です。Codexを使用してOpenAI APIで構築することに興味がある場合は、10月9日に参加してください。そこでは、GPT-5を使用して最大限に活用する方法を含め、Responses APIから最大限を得る方法について話します。

しかし、それで終了できると思います。参加していただき、ありがとうございました。参加していただき、ありがとうございました。

コメント

タイトルとURLをコピーしました