NeuralOS
Engineering

AIのコードはより速く腐る:重複が81%増加、リファクタリングはほぼ消滅

GitClearとGitKrakenは、2023年から2026年にかけての6億2,300万件の実際のコード変更を分析しました。結論は耳が痛いものです。AIは速く書くが、保守は最悪。重複は急増し、リファクタリングは蒸発し、技術的負債が静かに積み上がっていく。治療法はより優れたモデルではなく、アーキテクチャです。

EN
Equipo NeuralOS
Ingeniería
Jul 19, 20267 min read
In short

AIは保守ではなく書くことに最適化する:6億2,300万件の変更が重複+81%、リファクタリング-70%を示す。負債は見えないまま積み上がる。治療法はより優れたモデルではなくアーキテクチャ — 唯一の信頼できる情報源、強制されたDRY、そしてプロジェクトのグラフだ。

レンガを積むことしか知らず、決して取り除かない石工を想像してみてください。新しい壁を頼むたびに、彼は完璧に、そして猛スピードで積み上げます — しかし、もう役に立たない壁を決して取り壊さず、既存の壁を再利用せず、家を再構成することもありません。6か月後、あなたが手にするのは家ではありません。誰も住めない、美しい壁の迷宮です。その石工こそが、コードを書くAIです。そしてこれは挑発的な比喩として言っているのではありません。このテーマに関して存在する最大の実証研究がそう語っているのです。GitClearとGitKrakenは、2023年から2026年にかけての6億2,300万件の実際のコード変更を分析し、AIがたった一つのこと — 書くこと — のために猛烈に最適化する一方で、職人技のもう半分である保守が静かに崩れ落ちていることを発見しました。

眠れなくなるべきデータ

数字は具体的で、そして醜いものです。コードの重複は81%増加しました。移動またはリファクタリングされたコード — 誰かが積み上げる代わりに統合しているという最もクリーンなシグナル — は70%減少しました。レガシーコードのリファクタリング、つまり古いものを直すというありがたくないタスクは、2023年以降74%も急落しました。そしてerror masking、つまりエラーを飲み込んで欠陥として表面化させない習慣は、2026年に47%増加しました。これは不運な一つのチームの逸話ではありません。数億件ものコミットにわたって測定されたパターンであり、AIはすでにおよそ4件に1件に存在しているのです。

AIには才能の問題ではなく、インセンティブの問題がある

ここに、打ち破るべき思考の罠があります。私たちはたいてい、コードがうまくいかないのはモデルが十分に賢くないからだと考えます。誤りです。モデルは非常に優秀です — 私たちが訓練した目的に対しては。そして私たちはモデルを、今この瞬間のあなたの要求を満たす回答を生み出すように訓練したのであって、1年後のシステムの健全性を気遣うようには訓練していません。GitClearのCEOであるBill Hardingは、次のプロンプトを打つ前に刻み込んでおくべき一言で要約します。「あなたが何かを欲しがるたびに、AIは新しいパッケージを作る」。すでに存在する関数を探しません。再利用できるパターンがあるかを問いません。また別の壁を積み上げるのです。そして彼自身が警告するように、「長期的には、同じものの実装が5つも異なる形で存在していることに気づいたとき、痛み始める」 — それぞれがわずかに異なり、それぞれが次のバグが隠れうる場所なのです。

書くのは無料、保守は高くつく — そしてAIは安いものだけを安くした

この時代の大きな誤解は、ソフトウェアのボトルネックがタイピングだったと信じることです。決してそうではありませんでした。まともなプロジェクトなら、何かの最初のバージョンを書くのは簡単で短い部分です。何年もの時間と予算を食い潰すのは、それを理解し、壊さずに変更し、余分なものを削除することです。AIは、すでに安かった部分 — 行を生成すること — を些細なものにし、高くつく部分には手を触れなかった(あるいは悪化させた)のです。まるで、ページを無料で吐き出すプリンターを発明して、これで小説を書くのが楽になったと祝うようなものです。難しいのは常に編集だったことを無視して。47%のerror maskingは、その邪悪な仕上げです。Hardingが要約するように、AIは「明らかに、欠陥としてラベル付けされないコードを書くことを好む」。負債が積み上がるだけではありません。何かがうまくいかなくても悲鳴を上げないようにコードが設計されているので、負債は本番環境で破裂するまで見えないままになるのです。

重複は無秩序ではなく、逆向きの複利である

単発の重複が誰かを殺すことはありません。問題は、重複が複利で増えることです。同じロジックが5か所に存在すると、ビジネスルールの変更のたびに5つのコピーを見つけて編集しなければなりません — そして1つ忘れるだけで、稀なケースでしか現れない微妙なバグを抱えることになります。同じ研究によれば、コードの機能的な結合性は35%低下しました。各モジュールがすべてについて独自のバージョンを持ち込むため、モジュール同士の対話が減るのです。それは、一つの決定が唯一の場所で下され、それ以外のすべてがそれを継承する健全なシステムとは、まさに正反対です。重複が81%多いコードベースは、より大きなコードベースではありません。倍速で老化するコードベースであり、加速された生成の1週間ごとに、将来の保守2週間分を買うことになるのです。

治療法はより優れたモデルではなく、唯一の信頼できる情報源である

ここに、どんなツールを使おうと明日から共有し適用できる、再利用可能な教訓があります。AIは、書くことへの偏りを自力で治すことはありません。なぜなら、その偏りは目的関数の中にあるからです。対抗策はモデルの中には存在しません。モデルを取り囲むアーキテクチャの中に存在します。DRYはもはや美的な好みではなく、能動的な防御手段になりました。もしあなたのシステムが、すでに存在するものを見つけて再利用することを容易にしているなら、AIは言い訳が減るので重複が減ります。唯一の信頼できる情報源 — すべての契約、すべての型、すべてのルールに対する正統な場所 — こそが、積み上げるだけの石工を再利用する石工に変えるものです。そして、ナビゲート可能なプロジェクトの地図、「これはすでに存在する、これに接続せよ」と告げるグラフは、統合するアシスタントと積み上げるアシスタントの違いなのです。AIの速さは、それが触れるものを腐らせないよう強制する構造に沿って導いたときにのみ、優位性になります。

私たちの見方

私たちの賭けは、耳の痛い確信から出発しています。難しいのは生成することではなく、腐らせないことだ、と。だからこそNeuralOSではフロントエンドが唯一の信頼できる情報源です — 契約が先に存在し、その後に来るものがそれを満たすのであって、各世代が同じ画面の独自バージョンを発明するのではありません。だからこそ私たちはプロジェクトの知識グラフを維持しています。6億2,300万件の他者の変更が、地図がなければAIはすでにあったものを再利用する代わりに書き直してしまうことを、私たちに思い出させてくれます。そしてだからこそ、Construct-Audit-Reflectプロトコルは作る瞬間と監査する瞬間を分離します — なぜなら、エネルギーを持って構築することと、パラノイアを持って見直すことは相容れない精神状態であり、それらを混ぜることこそが、まさに研究が測定した見えない負債が積み上がる仕組みだからです。腐るAIへの答えは、AIでより少なく書くことだとは思いません。答えは、AIが出荷時には持っていない規律でそれを取り囲むことだと考えています。強制されたDRY、明確な契約、記憶するグラフ。アーキテクチャなき速さは生産性ではありません。より良いタイポグラフィをまとった負債です。

Share
Ready to build?

Start building in
under 3 minutes

Join 4,200+ builders. No credit card. Build your first app with AI in minutes.