多くの人々は、AIによってソフトウェア開発のコストが大幅に下がると言っています。モデルがエンジニアに取って代わり、数分でタスクを完了させる様子を想像しています。その話は魅力的ですが、完全に真実というわけではありません。ソフトウェア構築の経済性は消失したのではなく、変化したのです。最初のコーディングアシスタントが登場したからといって、技術的負債が霧散したわけではありません。私たちは単に、その支払いの新しい方法を見つけたに過ぎないのです。
旧来の請求書:人員数
何十年もの間、技術的負債は馴染み深い「破滅のループ」を生み出してきました。コードベースは脆くなっていきます。かつては数日で終わっていた機能開発に、数週間かかるようになります。納期が遅れるため、経営陣はさらなる増員を決定します。チームが大きくなることで、開発はさらに鈍化します。調整コストは膨れ上がり、スタンドアップミーティングは増殖し、コンウェイの法則が支配し始めます。つまり、ソフトウェアがそれを作る人々のコミュニケーション不足を反映し始めるのです。より多くのバグが紛れ込み、パッチを当てるたびに新たな複雑さが積み重なっていきます。企業はこの腐敗に対し、唯一知っている通貨、すなわち「人件費」で支払っていました。そのコストは明白でした。四半期ごとの予算レビューのたびに、その現実が突きつけられてきたのです。
新たな請求書:トークンとコンテキスト
生成AIはこのサイクルを断ち切ったわけではありません。単に、別の支払いプランを導入しただけです。摩擦を突破するために5人のエンジニアを雇う代わりに、企業はクレジットカードで計算リソース(compute)を決済するようになりました。症状は違って見えますが、根本的な病は同じです。
モデルが失敗し始めたとき(内部APIのハルシネーション、重要なエッジケースの見落とし、誤った理由でパスしてしまうテストの生成など)、リファクタリングを行うという反射的な行動はめったに取られません。反射的に行われるのは、推論(inference)にお金を投じることです。チームはコンテキストウィンドウのアップグレードを購入し、マルチエージェントによるリトライループを構築し、ワークロードをより大規模なフロンティアモデルへと移行させ、あるいは差分(diff)が許容範囲に収まるまで「再生成」ボタンを連打します。これらの戦術は、1〜2スプリントの間、見かけ上のベロシティを維持します。Jiraのボードは緑色のままです。その一方で、実際のアーキテクチャは手つかずのままです。絡み合った依存関係、変更可能なグローバルステート、そして現在のメンバーの誰も全貌を理解していないモノリスがそのまま残っています。
なぜ汚いコードがトークンを消費するのか
大規模言語モデルは、クリーンな抽象化に対して最も優れた推論を行います。しかし、ほとんどのエンタープライズのリポジトリは「考古学的な遺跡」です。それらには、循環的なパッケージ依存関係、初期化スクリプトに埋もれた隠れたサイドエフェクト、そしてデータベースのトリガー、ミドルウェア層、フロントエンドコンポーネントに散らばったビジネスロジックが含まれています。そのような環境では、モデルは新しいロジックを書くためにエネルギーを使うのではなく、理解するためにトークンを浪費します。
128,000トークンのコンテキストウィンドウの大部分が、システムの構造をメモリ内に保持するためだけに消費されてしまうことがあります。残されたわずかな部分が、実際の問題解決に充てられる分です。それは、構造エンジニアに対し、計算のたびに既存の建物の設計図を記憶から描き直させながら、新しいフロアの設計をさせるようなものです。その結果、得られる解決策は浅いものになります。モデルは、まず部屋を掃除するための権限やアーキテクチャ上のコンテキストを持っていないため、目に見える混乱をそのまま反映してしまうのです。
出力は速く、デリバリーは遅く
単純な生成速度は、デリバリーの速度には直結しません。アーキテクチャにモジュール性が欠けている場合、AIが生成したすべての変更に対して、徹底的な人間によるレビューと回帰テストが必要になります。モデルは午後のひとときで10個のプルリクエストを作成できますが、それらのプルリクエストは依然として、統合環境、セキュリティスキャナー、コンプライアンスチェックリスト、そしてプロダクション・カナリアテストを通過しなければなりません。明確なモジュールの境界がなければ、AIはマシン級のスピードでバグを混入させます。共有ユーティリティを修正し、微妙に間違った前提に基づいて遠く離れた3箇所の呼び出し箇所を更新し、深夜3時の呼び出し(page)でしか人間が気づけないようなレースコンディションを引き起こすこともあります。ボトルネックはキーボードから検証パイプラインへと移行しますが、そのパイプラインは変更量が10倍に増えることを想定して設計されていません。
隠れた天井
AI以前の時代、物理的な限界は採用予算でした。それは少なくとも、スプレッドシートで容易に読み取れるものでした。今や制約は、ほとんどの財務チームがほとんど追跡していない項目の中に埋もれています。すなわち、推論コスト、埋め込み(embedding)ストレージ、コンテキストウィンドウの拡張、そしてCIランナーを窒息させる自動テストの停滞です。生産性のダッシュボードは緑色に輝いていますが、その裏で、新しい機能ごとの真のコストは静かに複利で膨れ上がっています。
Architectural entropy is the real villain here. LLMs scale code production beautifully, but they do not reduce complexity. They do not untangle microservices, eliminate dead code, or collapse inheritance hierarchies. Once a system crosses the threshold where humans struggle to reason about it, AI struggles too. At that inflection point, costs curve upward whether you
