ハーネス・エンジニアリング:エージェントファーストの世界におけるCodexの活用
技術スタッフのRyan Lopopoloが、エージェントファーストの世界でCodexを活用するハーネス・エンジニアリングについて解説しています。
キーポイント
OpenAIチームが、人間が一行もコードを書かずにCodex(GPT-5)エージェントのみでソフトウェア製品を開発・運用する実験を5ヶ月間実施した
約100万行のコードを従来の1/10の時間で構築し、3人のエンジニアで1,500以上のプルリクエストを処理する生産性を実証した
エンジニアの役割が「コードを書く」から「環境設計・意図指定・フィードバックループ構築」へ根本的に変化する可能性を示した
影響分析・編集コメントを表示
影響分析
この実験は、ソフトウェア開発のパラダイムシフトを示す極めて重要な実証である。AIエージェントが自律的にコード生成・修正・運用を行う「エージェントファースト」の開発モデルが現実化すれば、開発速度が桁違いに向上し、エンジニアの役割とスキルセットが根本的に再定義される可能性がある。
編集コメント
「人間がコードを書かない」という制約下での大規模実証は業界初のケーススタディ。2025年の開発現場を先取りする内容で、開発組織の再編とAIネイティブな開発プロセスの具体像を提示している。
要約タイトル:エージェント第一主義の世界でCodexを活用する「ハーネス・エンジニアリング」
過去5ヶ月間、OpenAIのチームはある実験を行った。それは、手書きのコードを一行も書かずに、ソフトウェア製品の内部ベータ版を構築しリリースするというものだ。この製品は社内で日々利用され、外部アルファテスターも存在する。開発、デプロイ、障害発生、修正という通常のサイクルを経るが、決定的に異なるのは、アプリケーションロジック、テスト、CI設定、ドキュメント、監視、内部ツールに至る全てのコード行がCodexによって生成された点である。チームの推定では、手書きの場合の約10分の1の時間で構築できたという。
この制約を意図的に選んだのは、エンジニアリングの速度を桁違いに向上させるために必要なものを構築するためだった。数百万行規模のコードを数週間でリリースするためには、ソフトウェアエンジニアリングチームの主要な役割が「コードを書くこと」から、環境を設計し、意図を指定し、Codexエンジニアリングエージェントが確実に作業できるフィードバックループを構築することにどう変わるかを理解する必要があった。
実験は2025年8月末、空のgitリポジトリへの最初のコミットから始まった。リポジトリ構造、CI設定、フォーマットルール、パッケージ管理設定、アプリケーションフレームワークといった初期の骨組みは、既存のテンプレートを少し手直しした上で、GPT-5を搭載したCodex CLIによって生成された。エージェントがリポジトリでどう作業すべきかを指示するAGENTS.mdファイル自体もCodexが書いた。システムを支える先行の人間によるコードは一切なかった。
5ヶ月後、このリポジトリにはアプリケーションロジック、インフラ、ツーリング、ドキュメント、内部開発者用ユーティリティを含め、約100万行のコードが蓄積された。この期間、わずか3名のエンジニアがCodexを駆動させ、約1,500のプルリクエストが作成・マージされた。これはエンジニア1人あたり1日平均3.5PRに相当し、チームが7名に拡大してもスループットは向上した。重要なのは、これは単なる成果物の量ではなく、製品が社内で数百人(うち日常的なパワーユーザーも含む)に利用された実用的なものである点だ。
開発プロセスを通じ、人間は直接コードを一行も貢献しなかった。これがチームの核心哲学となった:手書きのコードは書かない。
このアプローチは、エンジニアの役割を再定義するものだ。手を動かしてのコーディングがなくなったことで、エンジニアの仕事は、システム、足場(スキャフォールディング)、そしてレバレッジ(てこ入れ)に焦点を当てた別種の作業へと移行した。初期の進捗は予想より遅かったが、それは信頼性の高いエージェント作業のための基盤とプロセスを確立するための不可欠な
原文を表示
Harness engineering: leveraging Codex in an agent-first world | OpenAISwitch toChatGPT(opens in a new window)
API Platform(opens in a new window)
Harness engineering: leveraging Codex in an agent-first world
By Ryan Lopopolo, Member of the Technical Staff
Loading…ShareOver the past five months, our team has been running an experiment: building and shipping an internal beta of a software product with 0 lines of manually-written code.
The product has internal daily users and external alpha testers. It ships, deploys, breaks, and gets fixed. What’s different is that every line of code—application logic, tests, CI configuration, documentation, observability, and internal tooling—has been written by Codex. We estimate that we built this in about 1/10th the time it would have taken to write the code by hand.
We intentionally chose this constraint so we would build what was necessary to increase engineering velocity by orders of magnitude. We had weeks to ship what ended up being a million lines of code. To do that, we needed to understand what changes when a software engineering team’s primary job is no longer to write code, but to design environments, specify intent, and build feedback loops that allow Codex agents to do reliable work.
This post is about what we learned by building a brand new product with a team of agents—what broke, what compounded, and how to maximize our one truly scarce resource: human time and attention.
We started with an empty git repository
The first commit to an empty repository landed in late August 2025.
The initial scaffold—repository structure, CI configuration, formatting rules, package manager setup, and application framework—was generated by Codex CLI using GPT‑5, guided by a small set of existing templates. Even the initial AGENTS.md file that directs agents how to work in the repository was itself written by Codex.
There was no pre-existing human-written code to anchor the system. From the beginning, the repository was shaped by the agent.
Five months later, the repository contains on the order of a million lines of code across application logic, infrastructure, tooling, documentation, and internal developer utilities. Over that period, roughly 1,500 pull requests have been opened and merged with a small team of just three engineers driving Codex. This translates to an average throughput of 3.5 PRs per engineer per day, and surprisingly the throughput has increased as the team has grown to now seven engineers. Importantly, this wasn’t output for output’s sake: the product has been used by hundreds of users internally, including daily internal power users.
Throughout the development process, humans never directly contributed any code. This became a core philosophy for the team: no manually-written code.
Redefining the role of the engineer
The lack of hands-on human coding introduced a different kind of engineering work, focused on systems, scaffolding, and leverage.
Early progress was slower than we expected, not because Codex was incapable, but because the environment was underspecified. The agent lacked the tools, abstractions, and internal structure required to make progress toward high-level goals. The primary job of our engineering team became enabling the agents to do useful work.
In practice, this meant working depth-first: breaking down larger goals into smaller building blocks (design, code, review, test, etc), prompting the agent to construct those blocks, and using them to unlock more complex tasks. When something failed, the fix was almost never “try harder.” Because the only way to make progress was to get Codex to do the work, human engineers always stepped into the task and asked: “what capability is missing, and how do we make it both legible and enforceable for the agent?”
Humans interact with the system almost entirely through prompts: an engineer describes a task, runs the agent, and allows it to open a pull request. To drive a PR to completion, we instruct Codex to review its own changes locally, request additional specific agent reviews both locally and in the cloud, respond to any human or agent given feedback, and iterate in a loop until all agent reviewers are satisfied (effectively this is a Ralph Wiggum Loop(opens in a new window)). Codex uses our standard development tools directly (gh, local scripts, and repository-embedded skills) to gather context without humans copying and pasting into the CLI.
Humans may review pull requests, but aren’t required to. Over time, we’ve pushed almost all review effort towards being handled agent-to-agent.
Increasing application legibility
As code throughput increased, our bottleneck became human QA capacity. Because the fixed constraint has been human time and attention, we’ve worked to add more capabilities to the agent by making things like the application UI, logs, and app metrics themselves directly legible to Codex.
For example, we made the app bootable per git worktree, so Codex could lau
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み