AIニュース最前線
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業

AIニュース最前線

世界中のAI最新情報を日本語で毎時更新

最新ニュース日報トレンド企業プレミアムRSS
© 2026 ainew.jp特定商取引法に基づく表記
ニュース一覧元記事を開く
Latent Space·2026年4月8日 02:14·約24分で読める

トークン億万長者のための極限ハルネスエンジニアリング:100万行コード、日量10億トークン、人間コード・レビューゼロ

#OpenAI Codex#Software Engineering#Agentic AI#Symphony Framework#Dark Factory
TL;DR

OpenAIのFrontierチームがCodexを用いてゼロからコードを書かず、かつ人間のレビューも経ずに100万行規模のコードベース「Symphony」を構築・運用する実験を行い、AIエージェント主導の開発パラダイムシフトを示した。

AI深層分析2026年4月27日 01:56
4
重要/ 5段階
深度40%
5
関連度30%
5
実用性20%
3
革新性10%
4

キーポイント

1

完全自動化された大規模コードベース構築

OpenAIのFrontierチームが、人間によるコード記述もレビューも一切行わずに、100万行以上のLOC(Lines of Code)を持つ内部プロダクト「Symphony」を構築し、運用している事例を公開した。

2

ハルネスエンジニアリングとSymphonyの役割

単なるプロンプトエンジニアリングを超え、「ハルネス・エンジニアリング」が重要視されており、Codexエージェントを統合する「Symphony」というElixir実装のフレームワークが、エージェント間の連携と文脈管理の中核を担っている。

3

開発パラダイムの転換:失敗からの学習

エージェントが失敗した際、プロンプトを修正するのではなく、「不足している能力や構造」を特定し、エージェントの自律性を高める方向で改善を行うという、人間中心からエージェント中心への開発プロセスへの変更が示された。

4

ボトルネックの移行とコスト

AIネイティブな開発における真のボトルネックはトークン数ではなく「人間の注意(アテンション)」に移行しており、1日あたり10億トークンを使用する大規模な投資(約2,000〜3,000ドル/日)が不可欠であるとしている。

5

ゼロ人間コードによる100万行規模の開発

Ryan Lopopoloは自らコードを書かず、エージェントに全工程を任せることで、5ヶ月間で100万行以上のコードと数千のPRを生成する内部プロダクトを構築した。

6

ボトルネックの移行と自律的なレビューシステム

開発のボトルネックがトークンから人間の注意散漫にシフトしたため、コードレビューを人間が行う代わりに、エージェントが自律的に作業を修正・マージできる観測可能性とコンテキスト基盤を整備した。

7

Symphonyによるエージェントオーケストレーション

OpenAI内部のElixirベースのオーケストレーション層「Symphony」を用い、複数のチケットやリポジトリにわたる大規模なコーディングエージェントの起動、監督、調整を自動化している。

影響分析・編集コメントを表示

影響分析

この事例は、ソフトウェア開発の主流が「人間によるコーディング+AI支援」から「AIによる自律的生成+人間のアーキテクチャ設計・監視」へ急速にシフトしていることを示唆しています。特に、OpenAIという業界最大手が自社の最高峰チームでこの手法を実践している点は、他のテック企業やスタートアップにとっての強力なシグナルとなり、今後の開発ツールチェーンと組織構造に大きな影響を与える可能性があります。

編集コメント

OpenAI最高峰チームによる「人間ゼロ」の開発実証は、単なる効率化ではなく開発パラダイムの根本的な転換を示しており、今後はエージェントの信頼性と監査可能性が次の課題となる。

AIE EuropeでのRyanの基調講演に先駆けて、この内容を公開できることを嬉しく思います。ベルをクリックして、ライブ配信の通知を受け取ってください!参加者の皆様:その後、VibhuとのRyanによるAMA(アスク・ミー・エブリシング)に備えて、事前に準備しておいてください。

コンテキストエンジニアリングは退場してください。今やハルネスエンジニアリングの時代であり、トークン億万長者たちの時代が到来しました。

OpenAIのRyan Lopopoloは、この潮流を牽引しており、最近「ハルネスエンジニアリング」に関する長編エッセイを公開し、話題を呼んでいます:

image
image

BretとRyanによる詳細な議論

ここでRyanは、最近発表されたOpenAI FrontierチームがどのようにしてOpenAIのトップCodexユーザーとなったのか、その内幕を明かしています。彼らは100万行以上(>1m LOC)のコードベースを運用していますが、そのコードは人間が書いたものがゼロであり、さらに重要なのは、「ダークファクトリー」のファンたちにとって、マージ前に人間がレビューしたコードもゼロであるという点です。Ryanはこの取り組みについて熱狂的に賛同しており、1日あたり10億トークン(>1B tokens)を使用しないのは「過失」に近いと称しています。これは、市場価格とキャッシングの仮定に基づき、1日あたり約2,000〜3,000ドルのトークンコストに相当します:

image
image

検索して確認してください

過去5ヶ月間、彼らは過酷な実験を行いました:手書きのコードをゼロにして社内ベータ版プロダクトを構築し、リリースすることです。この実験を通じて、彼らはエンジニアリング作業の異なるモデルを採用しました。エージェントが失敗した際、プロンプトを改善したり「もっと頑張れ」と指示するのではなく、「どの能力、コンテキスト、または構造が不足しているのか?」を検討するのです。

その結果、「ゴーストライブラリ」であり、Alex Kotliarskyiによる参照実装であるSymphonyが誕生しました。これはCodexエージェントの大規模なシステムを構築し、適切なPRD(製品要件定義)仕様書に匹敵する詳細さで広範なプロンプトを与えつつ、完全な実装は行わないというものです。

image
image

コーディングエージェントがコパイロット(補助者)から離れ、誰でも使用できる本当のチームメイトへと進化し始める未来が形を取り始めています。Codexは、「ただものを作ればいい」というスーパーボウル広告メッセージを通じて、このミッションにさらに注力しています。

Codex内の内部観測スタック(internal observability stacks)や、彼のチームがSymphonyと呼ぶマルチエージェントオーケストレーションシステムにおいて、Ryanは人間の習慣ではなくエージェントの可読性(agent legibility)を中心に、コードベース全体、ワークフロー、組織を最適化したときに何が起こるかを追求し続けています。

私たちはライアンに、OpenAI の内部チームが実際に Codex をどのように使用しているのか、AI 主導のソフトウェア開発における真のボトルネックが今やトークンではなく人間の注意である理由、高速ビルドループ、観測可能性(observability)、仕様(specs)、スキルがエージェントに自律的な操作を可能にする方法、なぜソフトウェアはエンジニアだけでなくモデルのためにも書かれる必要 increasingly になってきているのか、そして Frontier がエージェントが企業全体で経済的に価値のある作業を安全に行える未来への道標となる理由について掘り下げてもらいました。

私たちが議論した内容:

Snowflake、Brex、Stripe、Citadel での経歴から OpenAI Frontier Product Exploration へ。ここでは、企業規模でエージェントを安全にデプロイするための新製品開発に取り組んでいます。

「ハーネスエンジニアリング(harness engineering)」の起源と、この実験全体を始めた制約:ライアンは意図的にコード自体を書かず、エージェントがエンドツーエンドで作業を行うようにしました。

5 か月かけて内部製品を構築し、人間の書いたコードはゼロ行、リポジトリには 100 万行以上のコードがあり、複数の Codex モデルの世代を超えて数千の PR(プルリクエスト)が作成されました。

初期の Codex は最初は painfully 遅かった理由、そしてチームがタスクを分解し、より良いプリミティブ(基本構成要素)を構築し、エージェントを個人よりもはるかに高速なエンジニアへと徐々に進化させる方法を学んだ経緯。

ビルド時間の短さへの執着:なぜインナーループの上限が 1 分になったのか、そしてエージェントが生産性を維持できるようにビルドシステムを繰り返し再構築した方法。

なぜ人間がボトルネックとなったのか、そしてライアン(Ryan)のチームがコードを直接レビューする手法から、エージェントが自律的に作業をレビュー、修正、マージできるシステム、観測可能性(observability)、コンテキストの構築へとどのようにシフトしたのか。

スキル、ドキュメント、テスト、マークダウントラッカー、品質スコアは、エンジニアリングのセンスや非機能的要件(non-functional requirements)をエージェントが使用できるコンテキストに直接エンコードする方法として機能する。

事前定義されたスケフォールド(scaffolds)から、推論モデル主導のワークフローへの移行。ここでハarness(harness)は箱となり、モデルが次の手順を選択する。

Symphony:OpenAIの内部向けElixirベースのオーケストレーションレイヤー。チケットやリポジトリ(repos)を跨いで多数のコーディングエージェントの起動、監督、再作業、調整を行う。

コードがますます使い捨てである理由、エージェントが競合を解決できる場合にワークツリー(worktrees)やマージコンフリクト(merge conflicts)が重要でなくなる理由、そしてPRライフサイクルを完全に委譲することの真の意味。

「ゴーストライブラリ(Ghost libraries)」、仕様駆動型ソフトウェア、そしてコーディングエージェントが共有ソースコードではなく高忠実度の仕様から複雑なシステムを再現できるという概念。

Frontierのより広い未来:企業向けに観測可能で管理可能なエージェントを安全にデプロイし、現実世界のエージェントワークに必要なコラボレーション、セキュリティ、制御レイヤーを構築すること。

ライアン・ロポロー(Ryan Lopopolo)

X: https://x.com/_lopopolo

Linkedin: https://www.linkedin.com/in/ryanlopopolo/

Website: https://hyperbo.la/contact/

タイムスタンプ

00:00:00 導入:HarnessエンジニアリングとOpenAI Frontier

00:02:20 Ryanの背景と「人間が書いたコードなし」実験

00:08:48 人間のボトルネック:システム思考、観測可能性(observability)、エージェントワークフロー

00:12:24 スキル、スケフォールド(scaffolds)、コンテキストにエンジニアリングの味をエンコードすること

00:17:17 人間がまだ行うこと、エージェントがすでに所有しているもの、そしてソフトウェアがなぜエージェント可読(agent-legible)でなければならないか

00:24:27 プルリクエスト(PR)ライフサイクルの委譲:ワークツリー、マージコンフリクト、非機能的要件

00:31:57 仕様駆動型ソフトウェア、「ゴーストライブラリ」、そしてSymphonyへの道

00:35:20 Symphony:多数のコーディングエージェントのオーケストレーション

00:43:42 スキルの蒸留、自己改善型ワークフロー、チーム全体の学習

00:50:04 CLI設計、ポリシーレイヤー、エージェント向けトークン効率的なツールの構築

00:59:43 現在のモデルがまだ苦手とするもの:ゼロから一つを生み出す製品、そして複雑なリファクタリング

01:02:05 企業向けAI導入におけるFrontierのビジョン

01:08:15 カルチャー、ユーモア、そしてエージェントに会社の仕組みを教えること

01:12:29 Harness対トレーニング、Codexモデルの進歩、「ただやればいいんだ」ということ

01:15:09 ベルビュー、採用、そしてサンフランシスコ以外でのOpenAIの拡大

トランスクリプト

Ryan Lopopolo:Codex、ハネス(Harness)をAI製品の構築の一部として探求する際、ここには興味深い領域があると考えていますよね。モデルをコーディングに優れさせることへの勢いは非常に大きいです。各段階的なモデルリリースごとにタスクの複雑さにおいて大きな飛躍が見られ、もしあなたが解決しようとしている製品をコードに落とし込む方法を理解できれば、その問題をあなたのために解決するためにCodex Harnessを使用するのは非常に自然な流れです。それはすべての配線を行い、プロンプトでコミュニケーションするだけで済むようにします。モデルに作業(cook)させて結果を出すためには、あなたは後退して考える必要がありますよね?つまり、システム思考の視点を持ち、常に「アジア人(※原文のまま)」はどこで間違いを犯しているのか?私はどこに時間を費やしているのか?今後、その時間の使い方をどう避けることができるか?そして、私が導入する自動化に対する信頼を築く必要があります。つまり、私はSDLC(Software Development Life Cycle:ソフトウェア開発ライフサイクル)のこの部分を解決しました。

swyx:[00:01:00] 了解です。

[00:01:03] Ryanとの出会い

swyx:OpenAIのRyanとスタジオにいます。ようこそ。

Ryan Lopopolo:こんにちは、

swyx:サンフランシスコへお越しいただき、そして私たちと時間を共有していただきありがとうございます。

Ryan Lopopolo:はい、ありがとう。ここにいることがとても楽しみです。

swyx:あなたはハネスエンジニアリングに関するベストセラー記事を書きましたね。おそらくこの新興分野を定義する重要な作品になるでしょう?

Ryan Lopopolo:ありがとうございます。ある意味で、私たちが議論の枠組みを定義したような感覚を楽しめています。

swyx: 最初のポッドキャストということで、少し背景を整理させてください。はい。そして、お時間を割いていただきありがとうございます。この取り組みの起源はどこにあるのでしょうか?あなたはどのチームに所属しているのですか?

Ryan Lopopolo: もちろんです。

Ryan Lopopolo: 私は「Frontier Product Exploration」チームで、OpenAI Frontierという分野における新製品開発を担当しています。これは、あらゆる企業において安全かつ大規模にエージェントを展開し、適切なガバナンスのもとで運用するためのエンタープライズプラットフォームです。VMIチームの役割は、当社のモデルをパッケージ化し、エンタープライズ向けソリューションとして販売できる製品へと展開する新たな方法を模索することです。

swyx: そして、あなたの経歴について少しだけ補足させてください。Snowflake、Brick、[00:02:00] Stripe、Citadelですね。

Ryan Lopopolo: はい。そうです。顧客向けのあらゆる業務です。

swyx: 全キャリアを通じて。はい。まさにあなたが目指す顧客層ですね、

Vibhu: というと、実はあなたのTwitterプロフィールを見た際、その背景は予想していませんでした。むしろ逆の印象を受けました。

このようなことです。つまり、あなたは「フルスエンドAI」のマインドセットを持ち、Slop(低品質な生成物)に関するコーディングを行い、Waymoの車内でラップトップを膝に乗せて作業するようなタイプです。はい。そして、あなたのプロフィールを見ると、ああ、あなたは反対側の端にもいるんですね。おお、完璧です。非常に理にかなっています。

Ryan Lopopolo: そのペルソナを貫くなら、AIマキシミスト(AI信奉者)であることは非常に楽しいものです。

OpenAIはそれを実現するのに最適な場所です。そして、それは

swyx: トークン(token)こそがあなたが言うところのものです。

ライアン・ロポロ:はい。確かに、社内にはレート制限がないことが助けになっています。そして、あなたが言ったように、私はこの取り組みに全力を注ぐことができます。

swyx:はい。そうです。フロンティアは、あなたのような特別なチームがO Frontierの中に存在しています。

ライアン・ロポロ:私たちは作業を行うための一定の自由を与えられており、それは非常にエキサイティングなものでした。

[00:02:47] コードゼロ実験

ライアン・ロポロ:これが、私が自分自身でコードを一切書かないという、やや極端な制約から始めた理由です。もし私たちがエンドユーザーの企業にデプロイできるエージェントを作ろうとしているなら、彼らは私が行うすべてのことを実行できるべきだと考えていました。これらのコーディングモデルやコーディングハルネスを6、7、8ヶ月間扱ってきた経験から、モデルの能力とハルネスの整備度は十分であり、私の能力やタスク遂行能力と同型(isomorphic)であると感じています。

したがって、「コードを書かない」という制約から始めたということは、私の仕事を遂行する唯一の方法は、エージェントに私の仕事をさせるしかなかったことを意味します。

ヴィブ:そして、その前の背景として少し補足します。これは基本的に記事の内容です。つまり、你们は内部ツールの開発に5ヶ月間取り組んだのですが、その総コードベースは100万行(LOC)にも関わらず、一行も人間がコードを書いていません。

あなたはそれが「cenex」だったと言いましたが、実際にはあなたが自分で実装した場合よりもはるかに高速でした。つまり

ライアン・ロポロ:はい、その通りです。

ヴィブ:それがこのプロジェクトへの取り組み姿勢でしたよね?

ライアン・ロポロ:その通りです。

[00:03:46] モデルアップグレードの教訓

ライアン・ロポロ:Codex Miniモデルという、当時のCodex CLIの非常に初期のバージョンの一つから始めました。これは明らかに今日のモデルよりも能力が劣っていました。

それもまた非常に良い制約条件でしたね。[00:04:00]モデルに製品機能の構築を依頼したとき、その断片的な成果を組み立てられないという、非常に生々しい感覚がありました。

これが、このプロジェクトに取り組むにあたって私たちが持っていた思考の一つを定義しました。モデルがどうしてもできない場合、常にタスクを開き、ダブルクリックして詳細を確認し、より広い目標に再組み立てできる小さなビルディングブロックを作成するのです。

これを行うのは非常に苦痛でした。正直、最初の1ヶ月半は私の通常の作業速度の10倍も遅かったです。しかし、このコストを支払った結果、単一のエンジニアが達成できるよりもはるかに生産性の高い成果を得ることができました。なぜなら、エージェントが全体を処理するためのツールとアセンブリステーション(組み立て作業場)を構築したからです。

[00:04:43] モデルの世代交代、ビルドシステム、バックグラウンドシェル

ライアン・ロポロ:さて、GPT-5.1、5.2、5.3、5.4へと進みます。これらのモデルの世代を経て、それぞれの癖や異なる動作スタイルを理解することは、モデルがバージョンアップされた際にコードベースを変更する必要があったことを意味しました。[00:05:00]ここで興味深いのは、当時のCodexハネス(枠組み/基盤)にはバックグラウンドシェル(背景実行環境)がなかったことです。つまり、長時間にわたる作業を実行するためにブロッキングスクリプト(ブロック型スクリプト)に依存できたということです。

しかし、5つ、3つ、そしてバックグラウンドシェルが存在したため、それはより忍耐強さを失い、ブロックすることに消極的になりました。そのため、ビルドシステム全体を再構築して、1分以内に完了するようにしました。これは、人々が意見を持つコードベースで実行できるとは予想できないことです。しかし、唯一の目標が1週間の間にアジアをより生産的にすることだったため、私たちはカスタムメイドのMakefileビルドからBasilへ、そしてTurbo、さらにNxへと移行し、その時点でビルドが高速だったためそのままにしました。

swyx: 興味深いですね。TurboとTenXについてもっと話してください。それは他の人々が取り組んでいる別の方向性だからです。

Ryan Lopopolo: 結局、実際のフロントエンドリポジトリアーキテクチャに関する経験はあまりありません。

swyx: あなたが語っているのは、JessicaがSkyを構築したということですね。なので私は、NXチームを知っていますし、Jared [00:06:00] Palmer氏からTurboについても知っています。

そして、それは興味深い比較だと思いました。

[00:06:02] 1分間のビルドループ

Ryan Lopopolo: 私たちが登っていた丘は、とにかく高速にすることでした。

swyx: マイクロフロントエンドが関与しているのでしょうか?Reactの複雑さはどの程度でしょうか?

Ryan Lopopolo: Electronベースの単一アプリケーションのようなものです。

swyx: そして1分以内でなければならない。それは興味深い制約ですね。私はバックグラウンドシェル stuff についてはあまり詳しくありません。

おそらく、Fight Threeのリリースで言及されていたでしょう。

Ryan Lopopolo:BA(Build Automation)とは、Codex がバックグラウンドでコマンドを起動し、その完了を待ちながら作業を継続できることを意味します。例えば、時間のかかるビルド処理を起動し、その間にコードレビューを続けることができます。

swyx:はい。

Ryan Lopopolo:これにより、ハarness(実行環境)を呼び出すユーザーにとっての時間効率が向上します。

swyx:そして、これを本当に明確にするために、1 分がなぜ重要なのか?5 分でいいじゃないか、と。はい、わかりました。私たちは「なし」を望んでいます。私たちは

Ryan Lopopolo:内部ループ(inner loop)を可能な限り高速にしたいのです。はい、1 分はちょうど良い丸数字で、それに到達できました。

swyx:もし完了しない場合、それを終了させるのでしょうか?

Ryan Lopopolo:いいえ。

私たちはそれをシグナルとして受け取り、現在行っている作業を停止し、ダブルクリックしてビルドグラフを分解し、エージェントが引き続き操作できるようにするために、[00:07:00] の時点で高いレベルのバックエンドに戻れるようにします。

swyx:まるでラチェット(逆止弁)のようですね。ビルド時間の規律を強制しているようです。なぜなら、そうしないとビルド時間がどんどん肥大していくからです。

その通りです。そして、私が現在携わっているソフトウェアは 12 分かかり、それはひどい状態だとおっしゃっていましたね。

Ryan Lopopolo:過去にプラットフォームチームで経験したことです。許容されるビルド時間の範囲(エンベロープ)があり、それが上限を超えてしまった後、再び平均の下限まで戻すために 2〜3 週間を費やすというパターンです。

しかし、トークンが非常に安価であるため。そしてモデルとの並列処理が極めて高度なため、私たちはこのシステムを絶えず「ガーデニング」し、これらの不変条件(invariants)を維持し続けることができます。つまり、コードやソフトウェア開発ライフサイクル(SDLC: Software Development Life Cycle)における分散が大幅に減少し、ソフトウェアを書く際に不変条件をより多く頼りにしつつ、簡素化されたアプローチを採用できるということです。

[00:07:45] 観測可能性、トレース、ローカル開発スタック

Vibhu: すばらしいですね。

[00:07:46] 人間のボトルネック

Vibhu: あなたの記事で、人間がボトルネックになったと述べていましたね?チームは3人のスタートでした。百万行のコード、つまり1500件のプルリクエスト(PR: Pull Request)を生成しているわけですが、そのマインドセットはどのようなものですか?コードが使い捨てであるとしても、多くのレビューを行っています。記事の多くは、「すべてをプロンプト(指示)として記述し、エージェントが見えないものはすべてゴミであるべきだ」という考え方に焦点を当てています。では、構築への高レベルなアプローチと、「人間はPRレビューのみ」という状態をどう扱うか、つまりヒューマン・イン・ザ・ループ(Human-in-the-loop: 人間の関与を含むプロセス)はどのように機能しているのでしょうか?

Ryan Lopopolo: 私たちは、人間がコードをレビューする段階さえも超えました。

[00:08:19] 人間のレビュー、PR自動化、エージェントによるコードレビュー

Ryan Lopopolo: 現在のところ、人間のレビューの大部分はマージ後の処理です。

しかし、マージ後、それもレビューされたものではありません。それは単に

swyx: おっと、私たち自身を満足させるために

Ryan Lopopolo: 根本的に使用していません。モデルは極めて簡単に麻痺させられますよね?私が費やすことを許容するGPUとトークンの数だけあれば、私の基盤(hood base)で作業するための容量を持てます。

唯一根本的に希少なのは、私のチームの同期的な人間の注意です。一日の中でランチを食べるために使える時間は限られています。眠りたいですが、非常に難しいですね。機械をいじり続けるのをやめたいのですが、そうするとそれを供給したくなるからです。一歩引いて考える必要がありますよね?

システム思考のマインドセットを物事に取り入れ、[00:09:00] エージェントがどこでミスを犯しているのか、私はどこに時間を費やしているのか、今後その時間を費やさずに済むようにするにはどうすればよいかを常に問いかけ、配置しようとしている自動化に対する信頼を築く必要があります。私はSDLC(ソフトウェア開発ライフサイクル)のこの部分を解決しました。通常、それは次のような形になります。エージェントが生成するための適切なビルディングブロックを持っていなかったため、コードに非常に細心の注意を払う必要が生じたのです。

適切に分解され、信頼性があり、観測可能で、実際にこれらのものの中で動作するフロントエンドを蓄積したモジュラーソフトウェアですね?

[00:09:35] 観測可能性ファーストのセットアップ

Ryan Lopopolo: そのため、最大限でもターミナルの前に座って一度に一つまたは二つのことを行うためにすべての時間を費やさないよう、モデルにその観測可能性(ここで投稿にあるグラフ)を与えることに投資しました。

swyx: そうです。このトレースと、どちらが先に存在したかを見ていきましょう。

Ryan Lopopolo:当初はアプリケーションのみから始め、残りのすべてを後から構築しました。ベクトル処理から各種ログイン指標、API に至るまで、私の作業時間はせいぜい午後の半分程度でした。私たちは意図的に、非常に高レベルで高速な開発ツールを選択しました。現在、優れたツールが数多く存在しています。

私たちは Me を多用しており、これによりローカル開発環境で Go で書かれた Victoria Stack のバイナリを簡単に取得できます。これらの起動を支えるのは、わずかな Python 製の接着剤コードです。これで完了です。ここで興味深い点は、私たちは可能な限りプロセスを逆転させようとしたことです。つまり、コーディングエージェントを実行するための環境を設定するのではなく、まずコーディングエージェントを起動し、それをエントリポイントとします。

それは単なる Codex です。そして、Codex にスキルやスクリプトを通じて、必要であればスタックを起動する能力を与え、さらにいくつかの環境変数を設定する方法を指示します。つまり、アプリケーションとローカルの Devrel は、Codex が選択して起動したスタックを指しています。これが、推論モデルと過去の「4 対 4」モデル(注:おそらく特定のアーキテクチャやバージョンを指す比喩)との根本的な違いだと考えています。過去のモデルは思考できなかったため、事前に定義された状態遷移のセットを持つ「箱」の中に配置する必要がありました。

一方、ここではモデルとハネス(実行環境)全体が「箱」となり、十分なコンテキストを与えて、賢明な判断を下せるよう複数の選択肢を提供します。そのため

Vibhu:販売面では、そのような作業は主にスケルトン(骨格)構築に関するものですね。はい。以前のエージェントでは、スケルトンを定義する必要がありました。その中で動作します。

ルビ、もう一度試してみて。これは推論モデルが存在する時期から転換したものです。スケフォールドがない場合、それらのパフォーマンスがより良くなるように見えますね?その通りです。

[00:11:28] ドキュメント スキル ガイドレールズ

ヴィフ:そして、ここではニッチな分野にも進出していますね。例えば、SPEC MDや、非常に短いエージェントMG Agent mdのようなものです。

スウィックス:はい。そうです。

ヴィフ:ええ。だから、ここではそれが何であるかを明確に示していますが、私は

スウィックス:目次が気に入っています。

ヴィフ:ええ。

スウィックス:例えば、l

原文を表示

We’re proud to release this ahead of Ryan’s keynote at AIE Europe. Hit the bell, get notified when it is live! Attendees: come prepped for Ryan’s AMA with Vibhu after.

Move over, context engineering. Now it’s time for Harness engineering and the age of the token billionaires.

Ryan Lopopolo of OpenAI is leading that charge, recently publishing a lengthy essay on Harness Eng that has become the talk of the town:

image
image

fuller discussion between Bret and Ryan

In it, Ryan peeled back the curtains on how the recently announced OpenAI Frontier team have become OpenAI’s top Codex users, running a >1m LOC codebase with 0 human written code and, crucially for the Dark Factory fans, no human REVIEWED code before merge. Ryan is admirably evangelical about this, calling it borderline “negligent” if you aren’t using >1B tokens a day (roughly $2-3k/day in token spend based on market rates and caching assumptions):

image
image

search it

Over the past five months, they ran an extreme experiment: building and shipping an internal beta product with zero manually written code. Through the experiment, they adopted a different model of engineering work: when the agent failed, instead of prompting it better or to “try harder,” the team would look at “what capability, context, or structure is missing?”

The result was Symphony, “a ghost library” and reference Elixir implementation (by Alex Kotliarskyi) that sets up a massive system of Codex agents all extensively prompted with the specificity of a proper PRD spec, but without full implementation:

image
image

The future starts taking shape as one where coding agents stop being copilots and start becoming real teammates anyone can use and Codex is doubling down on that mission with their Superbowl messaging of “you can just build things”.

Across Codex, internal observability stacks, and the multi-agent orchestration system his team calls Symphony, Ryan has been pushing what happens when you optimize an entire codebase, workflow, and organization around agent legibility instead of human habit.

We sat down with Ryan to dig into how OpenAI’s internal teams actually use Codex, why the real bottleneck in AI-native software development is now human attention rather than tokens, how fast build loops, observability, specs, and skills let agents operate autonomously, why software increasingly needs to be written for the model as much as for the engineer, and how Frontier points toward a future where agents can safely do economically valuable work across the enterprise.

We discuss:

Ryan’s background from Snowflake, Brex, Stripe, and Citadel to OpenAI Frontier Product Exploration, where he works on new product development for deploying agents safely at enterprise scale

The origin of “harness engineering” and the constraint that kicked off the whole experiment: Ryan deliberately refused to write code himself so the agent had to do the job end to end

Building an internal product over five months with zero lines of human-written code, more than a million lines in the repo, and thousands of PRs across multiple Codex model generations

Why early Codex was painfully slow at first, and how the team learned to decompose tasks, build better primitives, and gradually turn the agent into a much faster engineer than any individual human

The obsession with fast build times: why one minute became the upper bound for the inner loop, and how the team repeatedly retooled the build system to keep agents productive

Why humans became the bottleneck, and how Ryan’s team shifted from reviewing code directly to building systems, observability, and context that let agents review, fix, and merge work autonomously

Skills, docs, tests, markdown trackers, and quality scores as ways of encoding engineering taste and non-functional requirements directly into context the agent can use

The shift from predefined scaffolds to reasoning-model-led workflows, where the harness becomes the box and the model chooses how to proceed

Symphony, OpenAI’s internal Elixir-based orchestration layer for spinning up, supervising, reworking, and coordinating large numbers of coding agents across tickets and repos

Why code is increasingly disposable, why worktrees and merge conflicts matter less when agents can resolve them, and what it really means to fully delegate the PR lifecycle

“Ghost libraries”, spec-driven software, and the idea that a coding agent can reproduce complex systems from a high-fidelity specification rather than shared source code

The broader future of Frontier: safely deploying observable, governable agents into enterprises, and building the collaboration, security, and control layers needed for real-world agentic work

Ryan Lopopolo

X: https://x.com/_lopopolo

Linkedin: https://www.linkedin.com/in/ryanlopopolo/

Website: https://hyperbo.la/contact/

Timestamps

00:00:00 Introduction: Harness Engineering and OpenAI Frontier

00:02:20 Ryan’s background and the “no human-written code” experiment

00:08:48 Humans as the bottleneck: systems thinking, observability, and agent workflows

00:12:24 Skills, scaffolds, and encoding engineering taste into context

00:17:17 What humans still do, what agents already own, and why software must be agent-legible

00:24:27 Delegating the PR lifecycle: worktrees, merge conflicts, and non-functional requirements

00:31:57 Spec-driven software, “ghost libraries,” and the path to Symphony

00:35:20 Symphony: orchestrating large numbers of coding agents

00:43:42 Skill distillation, self-improving workflows, and team-wide learning

00:50:04 CLI design, policy layers, and building token-efficient tools for agents

00:59:43 What current models still struggle with: zero-to-one products and gnarly refactors

01:02:05 Frontier’s vision for enterprise AI deployment

01:08:15 Culture, humor, and teaching agents how the company works

01:12:29 Harness vs. training, Codex model progress, and “you can just do things”

01:15:09 Bellevue, hiring, and OpenAI’s expansion beyond San Francisco

Transcript

Ryan Lopopolo: I do think that there is an interesting space to explore here with Codex, the harness, as part of building AI products, right? There’s a ton of momentum around getting the models to be good at coding. We’ve seen big leaps in like the task complexity with each incremental model release where if you can figure out how to collapse a product that you’re trying to.

Build a user journey that you’re trying to solve into code. It’s pretty natural to use the Codex Harness to solve that problem for you. It’s done all the wiring and lets you just communicate in prompts. To let the model cook, you have to step back, right? Like you need to take a systems thinking mindset to things and constantly be asking, where is the Asian making mistakes?

Where am I spending my time? How can I not spend that time going forward? And then build confidence in the automation that I’m putting in place. So I have solved this part of the SDLC.

swyx: [00:01:00] All right.

[00:01:03] Meet Ryan

swyx: We’re in the studio with Ryan from OpenAI. Welcome.

Ryan Lopopolo: Hi,

swyx: Thanks for visiting San Francisco and thanks for spending some time with us.

Ryan Lopopolo: Yeah, thank you. I’m super excited to be here.

swyx: You wrote a blockbuster article on harness engineering. It’s probably going to be the defining piece of this emerging discipline, huh?

Ryan Lopopolo: Thank you. It is it’s been fun to feel like we’ve defined the discourse in some sense.

swyx: Let’s contextualize a little bit, this first podcast you’ve ever done. Yes. And thank you for spending with us. What is, where is this coming from? What team are you in all that jazz?

Ryan Lopopolo: Sure, sure.

Ryan Lopopolo: I work on Frontier Product Exploration, new product development in the space of OpenAI Frontier, which is our enterprise platform for deploying agents safely at scale, with good governance in any business. And. The role of VMI team has been to figure out novel ways to deploy our models into package and products that we can sell as solutions to enterprises.

swyx: And you have a background, I’ll just squeeze it in there. Snowflake, brick, [00:02:00] stripe, citadel.

Ryan Lopopolo: Yes. Yes. Same. Any kind of customer

swyx: entire life. Yes. The exact kind of customer that you want to,

Vibhu: so I’ll say, I was actually, I didn’t expect the background when I looked at your Twitter, I’m seeing the opposite.

Stuff like this. So you’ve got the mindset of like full send AI, coding stuff about slop, like buckling in your laptop on your Waymo’s. Yes. And then I look at your profile, I’m like, oh, you’re just like, you’re in the other end too. Oh, perfect. Makes perfect.

Ryan Lopopolo: I it’s quite fun to be AI maximalist if you’re gonna live that persona.

Open eye is the place to do it. And it’s

swyx: token is what you say.

Ryan Lopopolo: Yeah. Certainly helps that we have no rate limits internally. And I can go, like you said, full send at this stay.

swyx: Yeah. Yeah. So the Frontier, and you’re a special team within O Frontier.

Ryan Lopopolo: We had been given some space to cook, which has been super, super exciting.

[00:02:47] Zero Code Experiment

Ryan Lopopolo: And this is why I started with kind of a out there constraint to not write any of the code myself. I was figuring if we’re trying to make agents that can be deployed into end to enterprises, they should be [00:03:00] able to do all the things that I do. And having worked with these coding models, these coding harnesses over 6, 7, 8 months, I do feel like the models are there enough, the harnesses are there enough where they’re isomorphic to me in capability and the ability to do the job.

So starting with this constraint of I can’t write the code meant that the only way I could do my job was to get the agent to do my job.

Vibhu: And like a, just a bit of background before that. This is basically the article. So what you guys did is five months of working on an internal tool, zero lines of code over a mi, a million lines of code in the total code base.

You say it was cenex, more like it was cenex faster than you would’ve. If you had done it by end. So

Ryan Lopopolo: yeah, that

Vibhu: was the mindset going into this, right?

Ryan Lopopolo: That’s right.

[00:03:46] Model Upgrades Lessons

Ryan Lopopolo: Started with some of the very first versions of Codex CLI, with the Codex Mini model, which was obviously much less capable than the ones we have today.

Which was also a very good constraint, right? Quite a visceral feeling to ask the [00:04:00] model to build you a product feature. And it just not being able to assemble the pieces together.

Which kind of defined one of the mindsets we had for going into this, which is whenever the model just cannot, you always pop open at the task, double click into it, and build smaller building blocks that then you can reassemble into the broader objective.

And it was quite painful to do this. Honestly, the first month and a half was. 10 times slower than I would be. But because we paid that cost, we ended up getting to something much more productive than any one engineer could be because we built the tools, the assembly station for the agent to do the whole thing.

[00:04:43] Model Generations, Build Systems & Background Shells

Ryan Lopopolo: But yeah, so onward to G BT 5, 5, 1, 5, 2, 5, 3, 5 4. To go through all these model generations and see their kind of corks and different working styles also meant we had to adapt the code base to change things up when the model was revved. [00:05:00] One interesting thing here is five two, the Codex harness at the time did not have background shells in it, which means we were able to rely on blocking scripts to perform long horizon work.

But with five, three and background shells, it became less patient, less willing to block. So we had to retool the entire build system to complete in under a minute and. This is not a thing I would expect to be able to do in a code base where people have opinions. But because the only goal was to make the Asian productive over the course of a week, we went from a bespoke make file build to Basil, to turbo to nx and just left it there because builds were fast at that point.

swyx: Interesting. Talk more about Turbo TenX. That’s interesting ‘cause that’s the other direction that other people have been doing.

Ryan Lopopolo: Ultimately I have. Not a lot of experience with actual frontend repo architecture.

swyx: You’re talking that Jessica built the sky. So I’m like, I know the NX team. I know Turbo from Jared [00:06:00] Palmer.

And I’m like, yeah, that’s an interesting comparison.

[00:06:02] One Minute Build Loop

Ryan Lopopolo: The hill we were climbing right, was make it fast.

swyx: Is there a micro front end involved? Is it how how complex react

Ryan Lopopolo: electron base single app sort of thing

swyx: And must be under a minute. That’s an interesting limitation. I’m actually not super familiar with the background shelf stuff.

Probably was talked about in the fight three release.

Ryan Lopopolo: BA basically means that codex is able to spawn commands in the background and then go continue to work while it waits for them to finish. So it can spawn an expensive build and then continue reviewing the code, for example.

swyx: Yeah.

Ryan Lopopolo: And this helps it be more time efficient for the user invoking the harness.

swyx: And I guess and just to really nail this, like what does one minute matter? Like why not five, okay, good. We want no. We

Ryan Lopopolo: want the inner loop to be as fast as possible. Okay. One minute was just a nice round number and we were able to hit it.

swyx: And if it doesn’t complete, it kills it or some something,

Ryan Lopopolo: No.

We just take that as a signal that we need to stop what we’re doing, double click, decompose a build graph a bit to get us to high back under so that we [00:07:00] can able the agent continue to operate.

swyx: It’s almost like you’re, it’s like a ratchet. It’s like you’re forcing build time discipline, because if you don’t, it’ll just grow and grow.

That’s right. And you mentioned that my current, like the software I work on currently is at 12 minutes. It sucks.

Ryan Lopopolo: This has been my experience with platform teams in the past, where you have an envelope of acceptable build times and you let it go up to breach and then you spend two, three weeks to bring it back down to the lower end of the average low bed stop.

But because tokens are so cheap Yeah. And we’re so insanely parallel with the model, we can just constantly be gardening this thing to make sure that we maintain these in variants, which means. There’s way less dispersion in the code and the SDLC, which means we can simplify in a way and rely on a lot more in variance as we write the software.

[00:07:45] Observability, Traces & Local Dev Stack

Vibhu: Lovely.

[00:07:46] Humans Are Bottleneck

Vibhu: You mentioned in your article, like humans became the bottleneck, right? You kicked off as a team of three people. You’re putting out a million line of code, like 1500 prs, basically. What’s the mindset there? So as much as code is disposable, you’re doing a lot of review. A lot [00:08:00] of the article talks about how you wanna rephrase everything is prompting everything, is what the agent can’t see.

It’s kind of garbage, right? You shouldn’t have it in there. So what’s like the high level of how you went about building it, and then how you address okay, humans are just PR review. Like how is human in the loop for this?

Ryan Lopopolo: We’ve moved beyond even the humans reviewing the code as well.

[00:08:19] Human Review, PR Automation & Agent Code Review

Ryan Lopopolo: Most of the human review is post merge at this point.

But post, post merge, that’s not even reviewed. That’s just

swyx: Oh, let’s just make ourselves happy by You

Ryan Lopopolo: haven’t used fundamentally. The model is trivially paralyzable, right? As many GPUs and tokens as I am willing to spend, I can have capacity to work with my hood base.

The only fundamentally scarce thing is the synchronous human attention of my team. There’s only so many hours in the day we have to eat lunch. I would like to sleep, although it’s quite difficult to, stop poking the machine because it makes me want to feed it. You have to step back, right?

Like you need to take a systems thinking mindset to things and [00:09:00] constantly be asking where is the agent making mistakes? Where am I spending my time? How can I not spend that time going forward? And then build confidence in the automation that I’m putting in place. So I have solved this part of the SDLC, and usually what that has looked like is like we started needing to pay very close attention to the code because the agent did not have the right building blocks to produce.

Modular software that decomposed appropriately that was reliable and observable and actually accrued a working front end in these things, right?

[00:09:35] Observability First Setup

Ryan Lopopolo: So in order to not spend all of our time sitting in front of a terminal at most, doing one or two things at a time, invested in giving the model that observability, which is that that graph in the post here.

swyx: Yeah. Let’s walk through this traces and which existed first

Ryan Lopopolo: we started with just the app and the whole rest of it. From vector through to all these login metrics, APIs was, I dunno, half an [00:10:00] afternoon of my time. We have intentionally chosen very high level fast developer tools. There’s a ton of great stuff out there now.

We use me a bunch, which makes it trivial to pull down all these go written Victoria Stack binaries in our local development. Tiny little bit of python glue to spin all these up. And off you go. One neat thing here is we have tried to invert things as much as possible, which is instead of setting up an environment to spawn the coding agent into, instead we spawn the coding agent, like that’s the entry point.

It’s just Codex. And then we give Codex via skills and scripts the ability to boot the stack if it chooses to, and then tell it how to set some end variables. So the app and local Devrel points at this stack that it has chosen to spin up. And this I think is like the fundamental difference between reasoning models and the four ones and four ohs of the past, where these models could not think so you had to put them in [00:11:00] boxes with a predefined set of state transitions.

Whereas here we have the model, the harness be the whole box. And give it a bunch of options for how to proceed with enough context for it to make intelligent choices. So

Vibhu: sales, so like a lot of that is around scaffolding, right? Yes. Previous agents, you would define a scaffold. It would operate in that.

Lube, try again. That’s pivoted off from when we’ve had reasoning models. They’re seeming to perform better when you don’t have a scaffold, right? That’s right.

[00:11:28] Docs Skills Guardrails

Vibhu: And you go into like niches here too, like your SPEC MD and like having a very short agent MG Agent md.

swyx: Yes. Yes.

Vibhu: Yeah. So you even lay out what it is here, but I like

swyx: the table contents.

Vibhu: Yeah.

swyx: Like stuff l

この記事をシェア

関連記事

AI News★42026年6月11日 19:42

Xebia:適切なデータ基盤なしでは AI エージェントは失敗する理由

Xebia のグローバル CTO、ニールス・ゼイルメーカー氏は、組織がプロセス加速のために AI エージェントを導入する場合、AI が利用可能な形でデータを整備することから始める必要があると指摘している。

AWS Machine Learning Blog★42026年6月11日 00:26

カーネルの手動調整を止める:Neuron エージェント開発が AWS Trainium の最適化を加速する方法

AWS は、大規模化する最先端 AI モデル向けに、ハードウェアの性能限界を引き出すための従来の手動カーネル調整に代わり、「Neuron エージェント開発」を活用することで、Trainium プロセッサの最適化効率とパフォーマンスを大幅に向上させる手法を発表した。

OpenAI News★42026年6月9日 21:00

Nextdoor のエンジニアが Codex を活用して制限なく開発する様子

Nextdoor のエンジニアチームは、AI ツール「Codex」を活用することで、従来の技術的制約を超えた機能構築を可能にし、開発の自由度を大幅に高めている。

今日のまとめ

AI日報で今日の重要ニュースをまとめ読み

ニュース一覧に戻る元記事を読む