この記事は、OpenAI Codex は、ほとんどの人がそれを知るきっかけとなったアプリ、コマンドラインインターフェース、IDE 拡張機能以上のものだと論じている。この 3 つはいずれも同じオープンソースの Codex ハーネスで動いており、そのハーネスは他のソフトウェアに組み込むことができる。記事は、あらゆるチームに作業を汎用のコーディングアシスタントへ移させるのではなく、実際の仕事を中心に設計されたソフトウェア(エンジニアリングのワークフロー、運用ダッシュボード、セキュリティ調査、カスタマーサポートのコンソール、あるいは 1 つのチームのための社内アプリケーション)にエージェントを持ち込むことを提案している。
その中心的な主張は、再利用できる部分はエージェントループだというものである。記事によれば、有能なエージェントにはプロンプトとモデルの応答以上のものが必要である。タスクを理解し、コンテキストを維持し、情報を調べ、ツールを呼び出し、進捗を示し、失敗に対処し、人間の承認を求め、有用な結果を返さなければならない。それを取り巻く実行システムがエージェントハーネスである。OpenAI は Codex ハーネスを、会話の状態を管理し、実行をストリーミングし、ツールを使い、設定されたサンドボックスと承認のポリシーを強制し、ターンをまたいで作業を引き継ぐものとして紹介し、Codex app-server を、それらの機能を文書化されたクライアントプロトコルを通じて公開するものとして紹介している。
記事はこの考え方を、OpenAI が Codex app-server の上に構築したサンプルの運用アプリケーション Relay で具体的に示し、この機会を、既存のダッシュボード、タイムライン、地図、記録を万能のチャットボックスで置き換えることではなく、それらをより高機能にすることだと述べて締めくくっている。
要点
- ハーネスの設計は結果を大きく左右するものとして提示されている。その証拠として記事は、推論の保持とコンテキストのコンパクションだけでモデルのスコアが大幅に上がり、しかも出力トークンが減ったというベンチマークの事例を挙げている。
- ハーネスは、モデルがコンテキストを集め、タスクを推論し、ツールを使い、設定された境界の中で動作し、承認を求め、作業を先へ進めるのを助けるとされている。
- ハーネスがオープンソースであるため、開発者は自分のアプリケーションとモデルの間にあるレイヤーを検査し、統合を自分の製品に合わせて調整できると記事は論じている。
- 記事は、ホストアプリケーションが制御するものを 3 つ挙げている。インターフェース(汎用のチャットウィンドウではなく、既存のダッシュボード、エディタ、キュー、承認フロー)、アプリケーションが所有する MCP サービスを含む、公開するコンテキストとツール、そして運用上の境界(エージェントがどこで動くか、何にアクセスできるか、どの操作に承認が必要か、結果がどのように記録システムへ戻るか)である。
- Codex CLI、app-server、公式の Codex SDK はオープンソースのコンポーネントとして公開されている。記事は、モデルへのアクセスとマネージドサービスはそのオープンソースのレイヤーとは切り離されたままだと述べている。
- 3 つの統合レイヤーを区別している。構造化された出力を返すスクリプト、CI ジョブ、単発のバックグラウンドタスク向けの
codex exec、タスクを開始、再開、ストリーミングするアプリケーションコード向けの Codex SDK、そしてエージェントが製品そのものの一部となる場合の Codex app-server である。 - Relay では、ユーザーはプロンプトを書く代わりに出荷を選んでアクションをクリックする。アプリケーションがコンテキストを提供し、Codex はアプリケーションの MCP ツールを使って最新のデータを取得し、出荷の再手配のような重大な書き込みにはすべて人間の承認が必要となる。Relay は架空の初期データを使っている。
- 記事によれば、このパターンは IDE との統合やソフトウェアエンジニアリング以外での利用を含め、公開された実装にすでに現れており、サポート、運用、セキュリティ、営業、マーケティングのチームにも等しく当てはまる。そこではアプリケーションがコンテキスト、ツール、承認を提供し、Codex がエージェントループを動かす。
背景
この記事は、OpenAI が自社製品をプラットフォームとして宣伝するものである。挙げられている導入事例は他の発表へのリンクであり、記事自体では詳しく説明されていない。その議論は、モデルではなくハーネスをエージェントの主要なエンジニアリングの対象として扱う他の文章と並ぶものである(ハーネスエンジニアリング を参照)。