更新:2026年8月。
2026年前半、ソフトウェアチームのデータに奇妙な傾向が見られ始めました。完了した機能ブランチの数は急増した一方で、実際にメインブランチにマージされた変更の数は横ばい、あるいは減少さえ見られました。 CircleCIの2026年のデータによると、機能ブランチのスループットは前年比で約59%増加した一方で、中央値のチームのメインブランチのスループットは減少した。 LinearBの2026年ベンチマークレポートによると、エージェントによって作成されたプルリクエストが誰かに確認されるまで待機する時間は、手動で作成されたプルリクエストに比べて数倍も長いことが判明した。
遠くから見ると、チームはペースを落としているように見える。しかし、よく見るとその逆だ。コードを記述する段階はすでに非常に高速化されており、もはやボトルネックではなくなっている。その代わりに、人間が依然として担わなければならない段階――検証――にすべてのプレッシャーが集中している。 ここでの新しさは、「AIがコードを書ける」ということではない。それはもう古い話だ。真に新しいのは、連鎖的な結果である。コード生成のコストが徐々にゼロに近づくにつれ、「コードを書くことが最もコストがかかる」という暗黙の前提に基づいていたプロセス上のあらゆる慣習が、一斉に崩れ去るのである。
瓶の首のくびれは消えていない、ただ場所が変わっただけだ
生産ラインの速度は、その最もボトルネックとなる工程の速度に左右される。過去20年間、ソフトウェア開発におけるボトルネックは「意図を実行可能なコードに変換する」工程であったため、すべてがその工程に合わせて最適化されてきた。IDEはよりスマートになり、フレームワークはより手軽に利用できるようになり、スプリントは「ストーリーポイント数」に基づいて分割されるようになった。 2026年以降、その工程はほぼ無限に広がっていく――1人のエンジニアが4つのブランチ上で3~4つのエージェントを並行して実行し、各ブランチから数十分で完全なdiffが生成されるようになる。しかし、その次の工程、つまりそのdiffを読み取り、それが正しいと確信する作業は、依然として人間の脳が持つ生物学的速度でしか処理できない。

最も顕著な兆候は、同じレポート内で相反する2つの数値が見られることです。すなわち、レビューにかかる中央値の時間が数倍に延びている一方で、誰もレビューせずにマージされるPRの割合も増加しています。これは矛盾ではなく、同じプレッシャーに対する2つの反応の現れです。 規律を守るチームではレビュー待ちの列が膨れ上がり、耐えきれなくなったチームは規制を緩め、誰も読んでいないコードがメインブランチに直接流れ込んでしまう。
なぜエージェントが書いたコードは、人が書いたコードよりもレビューが難しいのか
一般的にこう考えられがちです。「コードはコードであり、誰が書いても大差ない」。これは間違いです。動作の仕組みにはいくつかの違いがあり、レビューにかかるコストははるかに高くなります。
- 決定の経緯が失われてしまう。同僚が関数を記述する際、彼らは一連の選択の経緯――どの方法を試したか、どの方法を却下したか、その理由は何か――を伴っている。そして、レビューとは、その経緯について問いかけることである。 エージェントからのDiffは、その経緯を伴わずに完成した状態で手元に届く。レビュー担当者は、チケットやコードそのものから意図を再構築しなければならない。つまり、設計において最も難しい部分を、逆の手順で、しかも後回しに行わなければならないのだ。
- 間違ったコードは正しいコードのように見える。人間のミスは表面に現れる:不適切な命名、支離滅裂な構造、処理分岐の欠如――これらはまさに、レビュー担当者が目で捉えることを学んだシグナルそのものだ。 モデルが生成したコードは滑らかで、命名も合理的、docstringも完備されており、意味が間違っていても一見正しいように見えます。それは、エンジニアがキャリアを通じて鍛えてきた「センサー」を無効にしてしまうのです。
- エラーを処理するのではなく、隠蔽する。2026年のコードリポジトリ分析によると、「エラーマスキング」の傾向が急増していることが示されている。エージェントは、テストを通過させるために、広範囲なtryブロックで囲み、例外をスローバックすることが多い。結果として、どのエラー処理が意図的なもので、どの部分が単にCIを穏やかにするためのものか、後になっては誰にも分からなくなってしまう。
- 再利用が少なく、書き換えが多い。同じ分析によると、新規コミットにおける「既存の関数への呼び出し」の割合が著しく減少していることが示されている。エージェントは、既存のものを探す代わりに、ローカルにコピーを生成することが多い。 個々のdiffはコンパクトですが、コードリポジトリは類似したバージョンで膨れ上がっています。この「技術的負債」は、6か所すべてで同じバグを修正しなければならない時に初めて顕在化します。
- diffが巨大すぎる。コストがかからないため、エージェントは要求された以上の作業を行いがちだ:フォーマットの整頓、変数名の変更、無関係な箇所へのテストの追加など。レビュー担当者は900行ものコードを目の当たりにするが、検討が必要な部分はわずか40行に過ぎない。
要するに、エージェントが生成したコード行1行のレビュー単価は、人が生成した行1行のそれよりも高く、一方でレビューが必要な行数は数倍に増加している。これこそが、キューがパンクする原因となる仕組みである。
新しいプロセス:仕様書が「真実の源」となり、コードが「派生製品」となる
2026年に最も顕著に台頭しつつある動きは、仕様主導型開発(spec-driven development)である。 このアイデア自体は目新しいものではありませんが、それが再び注目されるようになった理由は新しいものです。エージェントはコードを書くのは非常に得意ですが、意図を推測するのは非常に苦手だからです。もしその意図が単なる会話の中にしか存在せず――チャットウィンドウを閉じれば消えてしまう――のであれば、実行するたびにその意図を推測し直さなければなりません。
したがって、各チームは順序を逆にするべきです。つまり、仕様書は保存・レビュー・バージョン管理される資産であり、コードは仕様書から生成されるもので、破棄して再作成できるものです。 2026年までに、AIを備えた主要なプログラミングツールセットのほとんどが、このアイデアに基づく独自のバージョンをリリースしました。GitHub Spec Kit、AWS Kiro、Claude CodeやCursorにおける同等の仕組み、そしてOpenSpecのような一連のオープンソースプロジェクトなどです。 詳細はそれぞれ異なりますが、フレームワークは共通しています。要件 → 設計 → 計画 → 実行、各ステップには参照用のドキュメントが用意されています。
重要なのはファイル形式ではなく、どこに人の労力が注がれているかという点です。エージェントにとって優れた仕様書とは、単なる文章による説明ではなく、機械が検証可能な要素を含むものです:
- 不変性:変更後も常に成立しなければならない条件(残高が負にならないこと、各注文に対して1つの決済レコードが存在すること)。
- 「高速で安定している」ではなく、直訳可能な基準がテストとして受け入れられる。
- 非目標:手を付けてはいけない箇所。これは最も見落とされがちであり、最も多くの問題を解決できる部分である――明言しなければ、エージェントは「ついでに」隣のモジュールまでリファクタリングしてしまうだろう。
- 変更の規模:1つの意図につき1つの変更。差分が小さいことは単なる美学上の好みではなく、レビューが実行可能であるための条件である。
言い換えれば、エンジニアは「解答を書く」ことから「正しい解答の定義を書く」ことへと移行する――後者の方が常に難しいのだが、前者の方が時間がかかるため、長い間その難しさが見えにくくなっていたのだ。
エージェントを実行するのは、見知らぬ人のコードを実行するようなものだ
2つ目の変化の要因はセキュリティの側面から生じています。コードを記述するエージェントは、単にテキストを生成するだけではありません。コマンドを実行し、依存関係をインストールし、APIを呼び出し、ファイルを読み取ります。 脅威モデルという観点から見ると、これはユーザーの権限で実行される信頼できないコードであり、さらに通常のプロセスにはない特性も備えています。つまり、外部のデータ(イシュー、ウェブサイト、パッケージのREADME)を読み取り、そのデータに基づいて次のアクションを決定するのです。 これこそが、間接的なプロンプトインジェクションの攻撃面なのです。
そのため、2026年までに、業界の標準は「開発マシン上でエージェントを実行する」という方式から、ハードウェアによる隔離が施された使い捨て環境――Firecracker型のマイクロVMやgVisor型のカーネル隔離レイヤーなど――へと移行し、タスクごとに1台のマシンを割り当て、終了後は破棄するようになるだろう。 これに伴い、権限管理の規律が必須要件となる。本当に必要なディレクトリのみをマウントし、永続的なAPIキーの代わりに短期キーを使用し、データはマスキングされたコピーとし、外部へのすべての接続は事前に申告しなければならない。

3番目のゲートはCIにあり、多くのチームが依然としてこの点を軽視しがちです。 従来のテストスイートは、人間によるミスを検出するように設計されているため、いくつかの代表的な例をテストするだけです。エージェントは、問題の本質を理解することなく、それらの例を「合格」させることが非常に得意です。CIが証拠としての価値を持ち続けるためには、偽造が難しいものを生成する必要があります:
- 特性テストとファズテスト:既知の3つのケースではなく、ランダムに生成されたあらゆる入力に対してルールが正しいことを確認する。
- ミューテーションテスト:意図的にコードを破壊し、テストスイートがエラーを報告するかどうかを確認する――これはテストの品質を測定するもので、現在ではその大部分がエージェントによって記述されている。
- 確定ビルドとハッシュによる依存関係のロック:エージェントが自らパッケージを追加するのは日常茶飯事である。ロックを行わないと、実行のたびにサプライチェーンの攻撃対象領域が拡大してしまう。
- トレーサビリティの記録:どのエージェントが、どのモデルを、どの仕様に基づき、どのサンドボックスで実行したか。6か月後に問題が発生した場合、これだけが「この決定は誰が下したのか」という問いに答えられる唯一の手段となる。
経済コーナー:単価が変更されました
ソフトウェアのコストの計算単位は、昔から暗黙のうちに「記述されたコード1行」とされてきた。なぜなら、そこが実際に人件費が投入される部分だからだ。 2026年以降、1行のコードを生成するためのコストはセント単位まで低下するが、1行のコードを検証し、その責任を負うためのコストは減らない――むしろ、コードのレビューが難しくなるため、増加することになる。 そのため、真のコスト単位は、「検証済みで本番環境に導入された変更」へと移行しました。その結果、極めて具体的な影響が生じています:
- コーディング段階でのコスト削減は、その後の段階で帳消しになりがちだ。チーム内で最も高給なシニアエンジニアが、1日の大半をエージェントのコードの読み込みや修正に費やしている場合、コストは単に場所を移しただけで、消えたわけではない。 いくつかのチームは、まさにこのパラドックスを数値で捉えています。グラフ上のスループットは向上している一方で、リワークやトラブルに費やす時間も増加しているのです。
- 技術的負債は形を変えている。従来の負債は、誰の目にも明らかな「質の悪いコード」だった。新しいタイプの負債は、一見美しく見えるが、実際には誰も理解しておらず、至る所に重複し、無意味なエラーが散在しているコードである。これはすぐには不快感を与えないため、解消が優先されず――結果として、より高コストになる。
- 労働市場は経験重視へと偏っている。新人エンジニアがかつて学習のためにこなしていた仕事――小さなバグの修正、CRUDの記述、APIの連携など――は、エージェントが最も安価にこなせる業務であるため、需要は判断力を要する役割へとシフトしている。 これは時間軸を超えた問題だ。今日、下層の層を削減することは、2032年の上層の供給源を断つことになる一方で、その利益は今四半期にすぐに現れる。誰もがそれを理解しているが、個々の企業の動機は依然として「削減」にある。
- 責任から逃れることはできない。モデルの出力に対して保証を行うベンダーは存在しない。法的および運用上の責任は、マージボタンを押した者が負う——検証可能な証拠を生み出さないプロセスは、帳簿に記録することなく、リスクを自チームに転嫁していることになる。
プログラマーの仕事は実際には何に変わったのか
「エンジニアが消えてしまった」わけでも、「エンジニアはただレビューをするだけになった」わけでもない。 変化したのはその比重だ。以前はごく一部だった4つの業務が、今日では主要な要素へと拡大している――仕様定義(曖昧な要件を検証可能な不変条件に変換すること)、検証(CIの「グリーン」に意味を持たせるために十分な強度のテストスイートを構築すること)、 アーキテクチャと境界(エージェントは狭く明確な範囲内ではうまく機能するため、モジュール間のクリーンな契約が重要になる)、そして障害時の運用(ログの解析、因果関係の再構築、ロールバックの決定――エージェントが最も苦手とする部分)である。 心地よいパラドックス:これらは本来、ソフトウェア工学における真の「技術」の部分であり、長らくコードを記述するという手作業に埋もれていただけだった。
予測
- チーム指標は、検証プロセスを中心に再定義された。機能ブランチのスループットは指標としての価値を失い、今後注目されるのは、仕様策定から検証済みの変更が実際に実行されるまでの時間、エージェントが作成したプルリクエスト(PR)のリワーク率、およびレビューを経ずにマージされた割合である。
- レビューは2つの層に分けられる。リスクの低い変更は自動ゲート(プロパティテスト、ミューテーションテスト、静的解析、エージェントによる独立レビュー)を通過し、人的レビューはリスクの高い領域(セキュリティ、金銭、データ移行、モジュール間の契約)に集中する。 「まずマージ、その後レビュー」という手法は、ロールバックのコストが低い環境では一般的ですが、そうでない環境では機能不全に陥ります。
- サンドボックスはデフォルトのインフラとなる。開発マシン上でフル権限を持つエージェントを直接実行することは、root権限で不審なバイナリを実行しているものと見なされる――依然としてそうする人はいるが、それは許容範囲外である。
- メンテナンスに関する一連のトラブルが迫っている。2025年から2026年にかけて大量に生成されたコードは、2027年から2028年にかけて修正の時期を迎えるが、そのリポジトリではもはや誰も当初の意図を把握していないだろう。仕様や由来を保存しているチームは、コードだけを保存しているチームよりもはるかに低いコストで済む。
- 採用面への圧力が再び高まっている。数四半期にわたり検証コストが減少しないことが明らかになると、一部の企業は再び下位層の採用を再開するだろう――ただし、職務内容は以前とは異なるものになる:最初のコードを書くことではなく、ドキュメントの読解、テスト、運用からキャリアをスタートさせるという形だ。
要するに、2026年はソフトウェアが機械によって書かれる年ではない。それは、ソフトウェア業界が「コーディングは決して最もコストのかかる部分ではない――ただ最も目につきやすい部分であるだけだ」と気づく年である。そのコストが下がると、残りの部分が明らかになる。すなわち、システムに対する信頼度は、そのシステムについて我々が持っている証拠の量に比例するということだ。
Thảo luận