AI駆動開発における認知的負債と意図的負債

初めに

こんにちは、テクノロジービジネス本部の開発グループ所属の井上泰山です。

今回の記事では、先日弊社で行われた第4回SOT社内技術カンファレンスで私が発表させていただいた内容をお話しさせていただければと思います。

今年のテーマはAI駆動開発ということで、AI駆動開発に関連する面白い論文があったため紹介させていただきました。 それがStorey (2026) 『From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI』です。 こちらの論文では、開発における負債として新たに認知的負債と意図的負債が重要になることが述べられています。

この記事ではStorey (2026) の簡単な紹介と私の考察をまとめさせていただいています。

従来の負債:技術的負債

エンジニアとして業務をしていると「技術的負債」という言葉は耳にすることがあると思います。 技術的負債とは、可読性の低いコードや放置されたTODO、重複したロジックといった汚いコードがたまっている状態のことです。 技術的負債がたまると運用コストの増大や開発速度の低下を招くことが知られています。

AIコーディングツールは技術的負債の低減に寄与できると論文中では言われています。 適切なルールを設定しそれに沿った実装をAIに行わせることで、 コードに一貫性を持たせ、コードの重複を防ぎ、可読性の高いコードを作り続ける体制を構築することができます。

しかし、AIによるコーディングを行っていくうえで新たに生まれる負債があります。 それが、認知的負債と意図的負債です。

認知的負債

認知的負債は人の頭の中から開発中のコードの理解が失われていくことです。 人がコーディングを行っている場合、開発者は自身が作成したプログラムへの理解を持っています(もちろん、よそからコピペしてきたコードなど例外は存在しますが)。 一度頭で完全に構築された理解は時間がたって忘れていることはあっても思い出すことは容易いでしょう。

チームでのソフトウェア開発においては個人がすべてのコードを理解していない場合があります。 そのような場合でも、それぞれのコードは開発を担当した誰かしらの頭に入っており、チーム全体としてはコードへの理解が構築されています。 AIにより生まれる認知的負債とは、この個人やチーム全体が持っていたはずのコードへの理解が失われていくことです。

AIによって生み出されたコードに対して自らが実装したときと同じレベルの理解を持たないまま受け入れる開発者がいるかもしれません。 十分な理解がないままに開発を進めるとチーム全体として知らないことがたまっていきます。

認知的負債がたまっていくと継続的な開発を困難にする問題が生じます。

  • 「動いているコードだから触りたくない」といった、理解への自信のなさから変更を避けてしまうこと
  • コードの修正が予想外の機能へ影響を及ぼすこと
  • 新たに参画するメンバーに対して既存メンバーが説明できない箇所が生まれること

ここまでの説明では、認知的負債の問題は「AIによって生み出されたコードをきちんと理解しようとせず、さぼっている開発者」にあるように思えるかもしれません。 しかし、これはそう単純な問題ではありません。 認知的降伏という言葉があります。これはShaw and Nave (2026) が指摘したもので、AIの出力をあまり精査せずに採用してしまう心理的な状態を指します。 この心理状態ではAIによる間違った出力を過剰に信頼するといわれており、理解の喪失の発覚が遅れる理由を説明する一助となっています。

認知的負債を軽減するためのプラクティスは、コードへの理解の構築を明示的な仕組みとして行うことです。

  • 技術的負債にも有効であった人間によるコードレビューやペアプログラミング
  • 理解の構築、共有のための自分が書いていないコードのウォークスルー

これ以外に、コード生成のコストが比較的低くなった今では、AIに機能を再実装させることも有効だろうと論文で述べられています。

意図的負債

意図的負債はシステムをどう発展させるかの根拠・目標・制約が失われていくことです。

システムの開発ではどのアーキテクチャを選ぶのか、どのような機能を作るのかなど様々な決定が行われます。 これらの決定の記録が残されないまま蓄積されていく状態が意図的負債です。 認知的負債は人の頭の中から理解が失われることで起こり、意図的負債はコード以外のドキュメントから記録が失われていくことで起こります。 AIは「何を作るか」を大量に出力します。しかし「なぜそう作ったか」は出力しません。コードの生成量に比例して、意図の記録は追いつかなくなります。

意図的負債の蓄積は次のような問題をもたらします。

  • システムの動作とステークホルダーが期待する動作との乖離
  • コンテキストの欠如によるAIでの修正の精度の低下
  • 明示されていたプライバシー制約やアクセシビリティ要件など非機能要件の喪失

帰結として起きるのが、設計判断の再発明です。 過去に検討済みの代替案を知らずにまた検討してしまいます。最悪の場合、かつて明確な理由で却下された案を知らず知らずのうちに採用してしまうことが起こるでしょう。

意図的負債を軽減する方法はひとえに意図を明確に残すことです。

  • 動作を検証するだけでなく目的をとらえるために設計したBDD仕様とテスト
  • ADR(Architecture Decision Record)で重要なアーキテクチャ上の決定を記録すること

考察

認知的負債と意図的負債はこれまでの開発でも存在していたものだと考えています。 チーム開発においてチームメンバーの離脱が起こった場合はコードへの理解が部分的に失われる可能性があります。 また、決定の記録を適切に残していないチームでは半年、一年と時間がたつにつれて根拠や目的は忘れられていきます。

ただし、チームメンバーの離脱は一般に頻発するものではなく、記録していない決定も個人差はあっても時間をかけて忘れられていきます。 以前から存在していた負債ですが、AIはこれらの負債をためるスピードを加速させます。

我々が開発においてAIに期待することの中で、開発スピードの向上が最も重要であるということは共通認識だと思います。 開発スピードの向上は単位期間あたりのコードの生成量が増加することだと言い換えられます。 しかし、人間自身がコードを理解したり、適切な決定を残したりすることにかかる時間を、AIの登場によって短縮することは難しいと考えられます。

そのため、これらの負債の根本的な解決は不可能ではないかと思います。 開発のスピード向上のためには、ある程度は負債をためながら開発を進めていく必要があるでしょう。

終わりに

負債は開発を続ける上でいつか返済する必要があります。 AIがコードを書く時代となりましたが、AI駆動開発のプラクティスは整備が始まったばかりです。 今回ご紹介させていただいた内容はすぐに古いものとなってしまう可能性もありますが、何かの参考になれば幸いです。

ここまで読んでくださりありがとうございました。

参考文献

  • Storey, M.-A. (2026). From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI. arXiv:2603.22106. https://arxiv.org/abs/2603.22106
  • Shaw, S. D., & Nave, G. (2026). Thinking—Fast, Slow, and Artificial: How AI is Reshaping Human Reasoning and the Rise of Cognitive Surrender. SSRN. https://ssrn.com/abstract=6097646