「コードが速くなったのに、なぜ速くならないのか」
AIコーディングツールを全社導入した。エンジニア1人あたりのコード生産量は明らかに増えた。 なのに「機能がユーザーに届くまでの時間」は思ったほど縮まらない——むしろPRがレビュー待ちで渋滞し、 要件が固まらないまま実装が走り、QAが追いつかず本番で慌てる。 この「個人の速度は上がったのにチームの速度が上がらない」感覚は、2025〜2026年に多くの開発組織が共有する違和感です。
本記事の主張は一つです。AIはボトルネックを解消していない。移動させただけだ。 コードを書く速さは、もともとソフトウェア開発の真の制約ではありませんでした。 AIがその工程を一気に安くした結果、制約は上流(要件定義・企画・プロダクトディスカバリー)と 後工程(コードレビュー・QA・検証)という、いずれも「人間の判断」を要する両端へ移動したのです。
この記事では、まず制約理論でこの構造を捉え、各社の公表データで裏づけ、 そのうえで上流・レビュー・QA・組織のそれぞれについて各社の最新の取り組みを調べ、 そこから実践に落とせるベストプラクティスを導きます。
なぜボトルネックは「移動」するのか — 制約理論で読む
この現象を最もきれいに説明するのが、Eliyahu Goldratt『The Goal』の制約理論(Theory of Constraints, TOC)です。 TOCの中核はシンプルで、「あらゆるシステムのスループットは、たった一つの制約(ボトルネック)に律速される」。 そして見落とされがちな含意がこれです——ある制約を解消すると、ボトルネックは消えるのではなく、必ず別の場所へ移動する。
この50年、ソフトウェア業界は暗黙に「開発(コードを書くこと)が制約だ」と前提してきました。 Agile、Lean、DevOps、継続的デリバリ——これらはすべて、 「希少で高価な開発リソースをどう効率よく使うか」を管理するための仕組みだった、という見方ができます。 ところがAIコーディングが、その「希少で高価」だった工程を一気に安くしました。すると何が起きるか。TOCの予言どおり、制約は移動します。
flowchart TB
G["AIがコーディング工程を高速化・低コスト化"] --> S1["上流の制約が露呈<br/>要件・企画・ディスカバリーが追いつかない"]
G --> S2["後工程の制約が露呈<br/>レビュー・QA・検証が追いつかない"]
S1 --> R["真のスループットは横ばい<br/>(生成速度は上がったのに事業成果に届く速度は変わらない)"]
S2 --> R
ソフトウェアエンジニアのJim Greyは「The bottleneck has moved(ボトルネックは移動した)」(2026) で、 新しい制約を「人間の判断」——概念の明確さ、アーキテクチャの監督、レビューの深さ、リスク評価、ガバナンスだと整理しました。 Pragmatic EngineerのGergely Oroszはさらに端的に、 「コードをタイプする速さは、ソフトウェア開発のボトルネックだったことなど一度もない」と書いています。 Addy Osmaniも著名な「The 70% problem」で、「ソフトウェアの品質は、そもそもコーディング速度に律速されていなかったのかもしれない」と同じ核心に触れています。
データで見るボトルネック移動
「感覚」だけでなく、2025〜2026年には数字が出揃いました。最も雄弁なのがFaros AIの分析です (開発者1万人超・1,255チーム)。AIを高度に採用したチームでは、個々の生産指標が軒並み伸びます。 ——が、それは同時に後工程の負荷が爆発したことも意味していました。
AI高採用チームで起きた変化(%)— Faros AI(開発者1万人超)
注目すべきは、これだけ各指標が伸びたのに組織レベルのDORA指標(実際のデリバリ性能)はほぼ横ばいだったことです。 PRマージは+98%でも、PRサイズが+154%に肥大化し、レビュー時間は+91%、バグは+9%。 つまり「コードを速く生む」局所最適化が、レビューと統合という制約で詰まり、組織のスループットに転換していない。 Faros AIはこれを「AI生産性パラドックス」と呼びました。
品質側の数字も同じ方向を指します。Sonarの調査では、 開発者の96%がAI生成コードの正しさを完全には信頼していないのに、 コミット前に必ず検証するのは48%だけ。AWS CTOのWerner Vogelsはこの差を「検証負債(verification debt)」と命名しました。 CodeRabbitが470件のPRを分析した結果では、AIが関与したPRは人間のみのPRより約1.7倍の指摘(平均10.83件 vs 6.45件)を抱えていました。 Stack Overflow 2025開発者調査でも、AI利用は84%に達する一方、精度への信頼は前年40%から29%へ低下しています。
Google主導のDORA Report 2025は、この全体像を「AIは増幅器(amplifier)である」という一言にまとめました。 AIはチームを直さない。既にあるものを増幅する——良いコードベースと統制系(強い自動テスト、成熟したCI、速いフィードバック)があれば加速し、 それらが弱いチームでは欠陥や不安定さまで増幅する。実際DORA 2025では、AIとスループットの相関は前年の負から正へ転じた一方、 安定性との相関は依然マイナスのままでした。「速く出せるが、下流の弱点が露呈する」のです。
SDLCのどこが速くなり、どこが詰まるか
ボトルネック移動を工程(バリューストリーム)に当てはめると、構造がはっきり見えます。 AIが解消したのは中央の「コーディング」だけ。その両側が新しい制約です。
| 工程 | AIの効果 | ボトルネック化 |
|---|---|---|
| 要件・企画・ディスカバリー(上流) | 使えば加速するが投資が手薄。コーディングにAIを使うチーム92%に対し、要件・計画に使うのは9%との調査も | 新ボトルネック(何を作るかが律速) |
| コーディング | 最大の加速領域。生成は桁違いに速く・安くなった | 解消 |
| コードレビュー・承認 | 生成量が爆発。PRサイズ+154%・レビュー時間+91%、マージ承認の多くは依然人間 | 新ボトルネック(最重要) |
| QA・テスト | 設計や検出は加速するが、検証側は生成側ほど自動化されていない | 検証負債が蓄積 |
| デプロイ・運用 | 変更量が増える分、安定性の弱点が露呈(DORA: 安定性は依然マイナス) | 下流の弱点が表面化 |
以下、新ボトルネックである①上流・②レビュー・③QA、そして④組織の順に、各社の最新の取り組みを見ていきます。
① 上流ボトルネックへの取り組み — spec-driven development
上流の問題は「AIが速く実装してくれるのに、何を作るべきかが曖昧なまま」です。 曖昧な指示はAIにとって過小仕様(under-specification)であり、エージェントは足りない部分を勝手に推測して埋めます。 そこで2025〜2026年に各社が一斉に向かったのがspec-driven development(仕様駆動開発, SDD)でした。 思想の転換は「コードが真実の源(source of truth)」から「意図(仕様)が真実の源」へ。 AIが仕様を実行可能(executable)にしたため、仕様そのものが「何を作るか」を決める一次資産になったのです。
OpenAIのSean Groveは講演「The New Code」で、 「あなたが書くコードは、提供する価値のわずか10〜20%。残り80〜90%は構造化されたコミュニケーション——問題理解・要件の蒸留・計画・検証だ」と述べ、 コードを「仕様からの劣化した投影(lossy projection)」と位置づけました。Andrej Karpathyの「最もホットな新しいプログラミング言語は英語だ」もこの系譜です。
GitHub Spec Kit — 仕様を「生きた実行可能な成果物」にする
GitHubがOSSで公開したSpec Kit(作者: Den Delimarsky)は、SDDをワークフローに落とし込んだツールキットです。 コーディングエージェントを「検索エンジン」ではなく「字義どおりに受け取るペアプログラマ」として扱い、 4つのフェーズで意図を段階的に具体化します。エージェント非依存で、Copilot / Claude / Gemini / Codex などを切り替えられます。
flowchart LR
I["意図・PRD<br/>(何を・なぜ)"] --> SP["/specify<br/>詳細仕様 spec.md"]
SP --> PL["/plan<br/>技術計画(スタック・制約)"]
PL --> TK["/tasks<br/>検証可能な小タスクへ分解"]
TK --> IM["/implement<br/>逐次・並列実行"]
IM -.->|意図とズレたら仕様に戻る| SP
Amazon Kiro と EARS記法 — 曖昧さを構文で潰す
AWSのエージェント型IDEKiroは、「プロトタイプの速さ」と「本番の厳密さ」のギャップを埋めることを掲げ、
requirements.md(要件)→ design.md(設計)→ tasks.md(タスク)の3段階で仕様を生成します。
注目は要件にEARS記法(Easy Approach to Requirements Syntax)を採用した点です。
EARSはRolls-Royceで考案された軽量な構造化要件記法で、自然言語の曖昧さを少数の構文パターンで矯正します。
# EARS記法の5パターン(基本形は "The <system> shall <response>")
# Ubiquitous(常時の要件)
The system shall encrypt all stored passwords.
# State-driven(状態)— While ...
While the cart is empty, the system shall disable the checkout button.
# Event-driven(イベント)— When ...
When the user submits the login form, the system shall validate the credentials.
# Optional feature(任意機能)— Where ...
Where two-factor auth is enabled, the system shall require a one-time code.
# Unwanted behaviour(異常系)— If ... then ...
If the password is entered incorrectly 5 times, then the system shall lock the account for 15 minutes. 「ログイン機能を追加」という曖昧な一言を、EARSは状態・イベント・任意・異常系に分解させ、エッジケースを構文レベルで強制的に書き出させます。 KiroはさらにファイルイベントでトリガーされるAgent Hooks(保存時にテスト自動更新、コミット時に認証情報スキャン等)や、 プロジェクト全体の方針を持たせるsteeringファイルを持ちます。
Tessl と Claude Code — 仕様を資産化し、実装前に固める
Snyk創業者Guy PodjarnyのTesslは「AI Native Software Development」を掲げ(累計$125M調達)、 エージェントにPlans(実行前にレビューできる計画=監査証跡)・Specs(自然言語仕様)・Testsの3資源を生成させます。 特徴的なのがSpec Registry——「仕様/知識のためのNPM」。人気OSSのバージョン正確なAPI仕様を1万件以上プリロードし、 エージェントのハルシネーション(存在しないAPIの捏造)を防ぎます。Martin Fowler/Birgitta Böckelerはこうした流れを spec-first → spec-anchored → spec-as-sourceの3段階で整理しています(最終形は人間が仕様だけを編集しコードは生成物扱い)。
専用ツールを使わなくても、Claude Codeの公式ワークフロー「Explore → Plan → Implement → Commit」が同じ思想です。
非自明なタスクではまずPlan Modeでコードを書かずに調査・計画させ、合意してから実装する。
プロジェクト規約はCLAUDE.mdに永続化し、最重要ルールを先頭に置く。
Anthropicの教訓は明快です——「最も高くつく失敗は、何を作るか合意する前にコードを書き始めさせること」。
Claudeは200行を数秒で書けますが、間違った問題を解くならその速さは損失になります(運用の詳細は「Claudeルール定義・運用のベストプラクティス」参照)。
② レビュー・ボトルネックへの取り組み — AIレビューとsmall PR
最も深刻な新制約がここです。AIは大量のPRを生むが、承認するのは依然として人間。 しかもAIコードは人間コードより手間がかかる——開発者の38%が「AIコードのレビューは同僚のコードより労力が大きい」と答え、 AI生成PRは人間のPRより数倍長くレビュー待ちになるという報告もあります。 この主戦場の重要性は、2025年12月にCursorがコードレビューのGraphiteを買収したことが象徴しています。 CEOのMichael Truellは「コードを書く時間が減り続ける一方で、コードレビューが開発者の時間の大きな割合を占めるようになっている」と説明しました。
AIコードレビューツールの今
各社のアプローチは「diffだけ見る」から「コードベース全体を理解し、出す前に検証する」へ進化しています。
| ツール | 特徴 | 注目ポイント |
|---|---|---|
| GitHub Copilot code review / Autofix | PRを自動レビュー+ワンクリック修正。CodeQL連携で脆弱性を自動修正 | 脆弱性修正の中央値が1.5時間→28分 |
| Graphite Agent(旧Diamond) | stacked PRでレビュー単位を小さく保つ思想。Meta/Google発のワークフロー | AIコメントの肯定率96%・実装率67%。「AIは人間レビューを置き換えない」 |
| Greptile | diffでなくコードベース全体をグラフ索引化し複数エージェントで並列レビュー | 実バグ検出率は高いが偽陽性も多いトレードオフ |
| Cursor BugBot | 実バグ特化でスタイル/nitは意図的に無視。Autofixも | フラグの70%超がマージ前に解決 |
| Claude Code レビュー / ultrareview | 複数エージェントが並列解析し、各指摘を検証ステップで挙動照合して偽陽性を除去 | 誤検知1%未満。REVIEW.mdで確信度バーを調整 |
| Vercel Agent | 修正案をサンドボックスで実際にbuild/test/lintし、通った提案だけ提示 | 1レビュー固定$0.30+トークン実費 |
共通する設計思想は2つ。1つは「検証つきレビュー」——Claude CodeやVercel Agentのように、 指摘を出す前にサンドボックスで実行したり挙動を再現したりして偽陽性(ノイズ)を機械的に除去する。 AIレビューの最大の失敗要因は偽陽性で、アラートの最大40%が無視されるという調査もあるためです。 もう1つは「人間とAIの分担」——AIが機械的なバグ・脆弱性・規約違反を一次トリアージし、 人間は設計・契約(API/データ整合)・トレードオフという高次の判断に集中する。
small PR / stacked diff — レビュー単位を物理的に小さく
ツール以前の根本対策が「PRを小さく保つ」です。大きすぎるPRはそもそも適切にレビューできません。 500行未満のPRはサイクルタイムが30〜40%改善し、それを超えると逓減するという数字があります。 MetaとGoogleが社内で磨いたstacked PR / stacked diff(依存関係のある小さなPRを積み重ね、先行PRがマージされると後続が自動リベース)が、 Graphiteなどを通じて外部にも広がり、2026年にはGitHub自身もStacked PRsをプレビュー投入しました。 「AIに大量に書かせる」なら、それをレビュー可能な粒度に割るのが対になります。
③ QA・テストのボトルネックへの取り組み — AI-native QA
検証側の核心は「AIが書いたコードを、何が保証するのか」です。 Simon Willisonの原則がここを射抜きます——「LLMが生成したコードは、実行して確かめるまで動くと思うな」。 そして「自分でレビューしていないコードでPRを出すな」。各社はテスト生成・検証の自動化でここに挑んでいます (自然言語QAへの移行は「AIネイティブQAの作り方」で詳述)。
Meta TestGen-LLM — 「保証された」テスト改善
MetaのTestGen-LLM(Assured LLM-based Software Engineering)は、LLMに単体テストの改善案を生成させ、 厳格な機械的フィルタを全通過したものだけを採用します。フィルタは 「①ビルドが通る ②安定してパスする(flakyでない) ③既存のカバレッジを増やす ④回帰を起こさない」の4段。 「assured(保証された)」とは、LLM出力を人手レビューの前にこの4段で機械的に縛り、純粋な改善だけを通すことです。 Instagram/Facebookでの test-a-thon では、適用クラスの11.5%でテスト改善に成功し、推薦の73%がエンジニアにより本番採用されました。
QA Wolf と Antithesis — E2Eと「再現可能なカオス」
QA Wolfは人間+AIのhuman-in-the-loopでE2Eテストを作成・維持するマネージドサービスで、 4ヶ月で自動E2Eカバレッジ80%・flakyゼロ・100%並列実行(Playwright+Kubernetes)を掲げます。 一方AntithesisはFoundationDB由来の決定論的シミュレーションテスト(DST)を一般化した企業で、 システム全体を決定論的ハイパーバイザ内で動かし、ネットワーク・スレッド・クロックのあらゆる非決定性を制御して、 見つけたバグを完全に再現可能にします。etcdの検証では実時間830時間で約4.5年分の利用をシミュレートし、 全安定リリースに潜んでいたクリティカルなwatchバグを発見しました(2025年12月にJane Street主導で$105M調達)。
プロパティベーステスト — 「思いつかなかったエッジケース」を機械に探させる
Anthropicのred teamは、Claudeに型注釈・docstring・関数名から「性質(property)」を推論させ、 Hypothesisでプロパティベーステスト(PBT)を自律生成させる手法を示しました。 動機が秀逸です——「開発者が思いつかなかったエッジケースは、実装でも考慮されていない可能性が高い」。 例ベースのテストでは抜ける穴を、性質ベースで機械的に網羅する。 NumPy / SciPy / Pandas などで数百件の潜在バグを発見し、上位のバグ報告は86%が有効だったと報告しています。 研究でも、PBTと例ベーステストを併用するとバグ検出率が68.75%→81.25%へ上がることが示されています。
ツール面では、自然言語でテストを書き自己修復(self-healing)するagentic testingが2026年の主流です。 Mabl・Octomind・Momentic・Meticulous・Rangerなどが、DOM構造でなく意図(intent)に基づくロケータで 「なぜ失敗したか(ロケータ問題か機能リグレッションか)」を推論し、テストの修正・スキップ・エスカレーションを自律判断します(メンテ最大95%削減の報告も)。
④ 組織・役割・計測の作り変え
ツールだけでは制約は動きません。最後の鍵は組織と役割と計測です。
まず計測。Faros AIとDORAが示したのは「生成速度(行数・PR数・タスク数)の局所最適は、組織の停滞を覆い隠す」という事実でした。 計測対象を生成速度から「真のスループット——事業成果を生む稼働機能のリードタイム」へ移すこと。 これがTOCの第一歩「制約を正しく特定する」に対応します。
次に人間の判断の再配分とAIによる増幅。AnthropicはこのテーマのリアルなケースをAIで解いています。 同社ではエンジニア1人あたりのコード出力が年200%増。レビューがスケールせず、 自動化導入前は実質的なレビューコメントを受けるPRはわずか16%(残りは流し読み)でした。 そこで自社のCode Reviewエージェントを全社導入したところ、実質レビューを受けるPRが16%→54%に。 誤検知は1%未満、平均20分/$15〜25/回で、「変更が認証を壊すところだった」というdiffでは見逃しやすい失敗モードを実際に捕捉しています。 新ボトルネック(レビュー)にこそ希少な人間の判断を集中させ、その作業自体をAIで増幅する——これが実証された解です。
そして役割の再定義。Osmani(書き手→レビュアー・編集者)、Steve Yegge(diffを見るのをやめエージェントの挙動を見る監督者・オーケストレーター)、 Willison(計画・テスト・レビュー・QAを伴う「vibe engineering」はシニアスキル)が口を揃えます—— エンジニアの仕事は「コードを書くこと」から「意図を定義し、生成物を検証・統治すること」へ移る。 Shopifyはこれを制度に落とし、CEO Tobi Lütkeが「AIの反射的な利用は、もはやShopifyのベースライン期待だ」と宣言し、 AIコンピテンシー(とりわけレビュー・判断・taste)を評価・採用の正式項目にしました (AIをチーム化する運用は「AI社員でチームを作る」も参照)。
2025〜2026:ボトルネック移動をめぐる動き
Addy Osmani「The 70% problem」
AIは70%まで速いが残り30%が難しい。「品質はそもそもコーディング速度に律速されていなかった」と指摘し、書き手→レビュアーへの役割転換を提起。
METRのRCT公開
ベテラン16名・246タスクで、AI使用時にむしろ19%遅延。本人の体感(速くなった)と実測の乖離が話題に。
spec-driven開発が一斉に台頭
GitHub Spec Kit / Amazon Kiro(EARS記法)/ Tessl などが登場。「intentが真実の源」へ。
AIコードレビューが激戦区に
Graphite Diamond→Agent、Copilot code review GA、CodeRabbit/Greptile/Cursor BugBot/Qodo/Claude Codeレビュー/Vercel Agentが出揃う。
CursorがGraphiteを買収
「コードを書く時間が減り、レビューが開発者の時間の大半を占める」。レビューが新主戦場であることの象徴。
AntithesisがJane Street主導で$105M調達
決定論的シミュレーションテスト(DST)を業界標準にする動き。検証側への大型投資。
Jim Grey「The bottleneck has moved」
制約理論でSDLC再設計を提起。新しい制約は「人間の判断」。本記事の背骨となる整理。
横断ベストプラクティス — 10の実践
4領域の取り組みを、明日から効く実践に圧縮します。共通原理は「TOC:制約を特定し、そこに資源を集中し、他工程を制約に従属させる」です。
- 計測を「生成速度」から「真のスループット」へ。 行数・PR数でなく、稼働機能のリードタイムを測る。局所最適メトリクスは停滞を隠す。
- 実装前に実行可能な仕様を固める(Specify-before-Code)。 「何を作るか合意する前にコードを書かせない」。
- 要件はEARS等の構造化記法+受け入れ基準で。 曖昧さ=過小仕様=AIの暴走。When/While/Where/If-Thenで書く。
- 仕様・規約・知識を再利用資産として永続化。 CLAUDE.md / steering / Spec Registry。安定資産は「DO NOT CHANGE」で保護。
- PRを小さく保つ/stacked diffを使う。 1PR=1論理変更・500行未満。生成を増やすなら割る。
- AIレビューは「検証つき」を選びノイズを設計で抑える。 出す前に挙動照合・サンドボックス実行。確信度バーを設定。
- AIに一次トリアージ、人間にアーキテクチャ判断。 機械的バグはAI、設計・契約・トレードオフは人間。
- AIに自己検証の手段を渡し、生成と検証を分離。 テスト・期待出力を同梱。書く側と認定する側を別エージェントに。
- 未知のエッジケースはPBT/ファジング/DSTで機械的に探索。 例ベースの穴を性質ベース・シミュレーションで埋める。
- 役割と評価を「書き手→検証者・編集者・オーケストレーター」へ。 ただし土台(テスト・型・CI)を生成より先に整える(AIは弱点も増幅する)。
まとめ
- ① ボトルネックは消えていない、移動しただけ。 コーディングはもともと真の制約ではなかった。AIがそこを安くした結果、制約は上流(要件・ディスカバリー)と後工程(レビュー・QA)という「人間の判断」を要する両端へ移った。Faros AIではPRマージ+98%でも組織のDORAは横ばい、SonarではAIコードを96%が完全には信頼しないのに検証は48%だけ。
- ② 各社の解は領域ごとに具体化している。 上流はspec-driven(GitHub Spec Kit / Kiro+EARS / Tessl / Claude CodeのPlan)、レビューは検証付きAIレビュー+small PR/stacked diff、QAはMeta TestGen-LLM / QA Wolf / Antithesis / プロパティベーステスト。いずれも「検証を生成に追従させる」方向。
- ③ 最後は組織と計測。 計測を真のスループットへ、希少な人間の判断をレビュー・検証に再配分し、その作業をAIで増幅(Anthropicは実質レビュー済みPRを16%→54%へ)。役割は書き手から検証者・編集者・オーケストレーターへ。ただしテスト・型・CIという土台を生成より先に整える——AIは弱点も増幅するからだ。
理解度チェック
本記事の中心となる枠組みで、「ある制約を解消しても、ボトルネックは消えるのではなく別の場所へ移動する」と説くのは、Eliyahu Goldratt『The Goal』に由来する___理論である。