理解負債:AIが書いたコードが実際にコストを落とす費用はどれ... ノート

理解負債:AIが書いたコードが実際にコストを落とす費用はどれくらいか

"コンプリヘンション・デット" は、2025年にジェイソン・ゴーマンによって造語され、2026年にアディ・オスマーニによって広められた言葉で、システム内のコード量と、それを人間がどれだけ真に理解しているかとの間のギャップの拡大を指します。このデットは、AIエージェントが人間の理解速度よりもはるかに速くコードを生成できるために生じ、コードは人間の理解を意味するという70年間の前提を覆します。コード自体に属する特性であるテクニカル・デットとは異なり、コンプリヘンション・デットはチームとコードとの関係の特性です。完璧にクリーンで十分にテストされたモジュールであっても、誰もそれを理解していなければ、依然として負債となり得ます。これは、通常の「機能する悪いコード」への懸念を、「機能するが壊れるまで機能する良いコード」へと逆転させます。このデットは、現代のツールチェーンがカバレッジやベロシティのようなメトリクスを測定するものの、人間の理解を測定しないため、これまで見過ごされてきました。コードレビューは、最も近い代替手段ですが、単なるサンプリングイベントに過ぎず、AIネイティブのスループットの下では、レビューは短くなり、真の理解を示すものとしては不十分になります。「バスファクター」のヒューリスティックも失敗します。エージェントが作成したコードは、分数または存在しないバスファクターを持つ可能性があり、それは誰もそれを真に理解していないことを意味します。コンプリヘンション・デットは、目に見えない維持コストを蓄積しますが、インシデント、将来の変更、チームの離脱、新しいエンジニアのオンボーディングの際に、壊滅的な利息を発生させます。これらの瞬間は、チームに、決して獲得しなかった理解をプレミアム価格で買い戻すことを強います。理解の測定は、git履歴における観察可能なシグナル、例えば実質的なレビューコメント、最近の人間の作成者、そしてファイルに真にインタラクションした異なる人間の数に焦点を当てるべきです。これらの測定値に関する規律は重要です。理解は時間とともに色褪せることを反映して、それらは決定論的、分解可能、議論可能、そして減衰的でなければなりません。決定的に重要なのは、システムを不正に操作することを防ぐために、検証は元の作成者以外の誰かによって行われなければならないということです。チームは、AIが書いたコードに対して人間の記録作成者を割り当て、エージェントが生成したプルリクエストのサイレント承認を禁止し、システムのどの部分が十分に理解されていないかについて公に議論することによって、コンプリヘンション・デットの管理を直ちに開始できます。名前の付いたブラインドスポットをバックログアイテムとして扱うことも役立ちます。手動の取り組みは限られていますが、Fathohmのようなツールは、コードベース全体にわたるコンプリヘンション・デットをマッピングし、包括的で動的なビューを提供できます。最終的に、AIがコードを書き続けるにつれて、コンプリヘンション・デットを積極的に管理することを選択するかどうかが、そのコードが理解され続けるかどうかの決定要因となるでしょう。