30年のベテランが語る、AIがソフトウェアアーキテクトを代替できない理由

Beyond Coding
productivityfuture-of-workagentsenterprise

AI時代においても、実践的なアーキテクチャが勝る理由

Dennis Domaは30年のソフトウェアエンジニアリング経験を持つベテランであり、Microsoft MVPであり、.NETで最も人気の高いオープンソーステストライブラリの一つであるFluent Assertionsの作者です。Aviva Solutionsのコーディングアーキテクトとしてエンタープライズソフトウェアを蝕む複雑性と何十年も戦い続けてきた彼が、Beyond CodingとのインタビューでAIツールがワークフローをいかに変えているか、そしてどこに限界があるかを語りました。

コーディングをやめたアーキテクトについて: “If you stop coding, if you actually stop building production systems, you lose that experience. If I had stopped coding for the last 3 years, I would have probably missed the whole AI scene.”(コーディングをやめれば、実際にプロダクションシステムの構築をやめれば、その経験を失う。もし過去3年間コーディングをやめていたら、AIの流れを完全に見逃していただろう。)Domaは、高レベルの図解に退いたソフトウェアアーキテクトは、ソリューションが実際に機能するかどうかを判断する能力を失うと主張します。ビルドし、リリースし、バグを修正するという実践的なフィードバックループは代替不可能です。

AIが生成したコードのオーナーシップについて: “I treat all AI-generated code as mine.”(AIが生成したコードはすべて自分のものとして扱う。)GitHub CopilotがたったひとつのIssueから新しいオープンソースのモッキングライブラリの大部分を構築したとき、Domaは感銘を受けましたが、すぐにオーナーシップを取りました。AIが生成したテストを一行一行レビューし、自分の基準に満たないコードをリファクタリングし、次世代の改善のために指示ファイルを反復的に更新します。そのコードは「AIのコード」ではなく、彼の責任です。

偶発的な複雑性について: チームがアーキテクチャパターン――オニオンアーキテクチャ、クリーンアーキテクチャ――をなぜ存在するかを理解せずに盲目的にコピーしています。10〜15年の経験を持つ開発者がSOLID原則に「過度に」執着し、それをプラグマティズムへの盾として振りかざします。“Yeah, but you don’t need this abstraction. Yeah, but it’s ready for the future. You don’t need this abstraction. That’s a smell.”(「いや、その抽象化は必要ない。でも将来のために備えている。その抽象化は必要ない。それは臭いがする。」)

ジュニア開発者とAIについて: 二つのパターンが浮かび上がります――学習スキルを守るためにAIを避ける人と、出力を理解せずにどこでも使う人です。Domaは、プルリクエストは動作していた(テストもパスした)が、自分のコードが何をしているか説明できない開発者に遭遇しました。彼の答えは:“I don’t care if you don’t practice TDD properly, but make sure the code is designed the way we want it and we can maintain it.”(「TDDをきちんと実践しているかどうかは気にしない。でも、コードが私たちの望む設計になっていて、保守できるようにしてくれ。」)

オープンソースの持続可能性について: TailwindチームがAIがプレミアムコンポーネントを複製できるという理由でスタッフの75%を削減しました。Domaの反論:人々は成熟したライブラリの背後にある複雑さを慢性的に過小評価しています。「私はFluent Assertionsを15年かけて磨いてきた。誰かが『これなら数日で作れる』と言う。そうかもしれない。」オープンソースのコードはあなたが保守するコードになるかもしれない――それを念頭に置いて計画を立てましょう。

AIを活用した開発についてコーディングアーキテクトが語る5つの教訓

  • テストはセーフティネット ― コードが人間によるものかAIによるものかに関わらず、堅牢なテストが最終的な検証手段です。「ソフトウェアをブラックボックスとして扱い、セーフティネットがテストであるなら、そこに特別な注意を払うべきです。」
  • ドキュメントはAIと組み合わさることで複利的な価値を生む ― ADR、コミットメッセージ、意思決定記録は、AIツールがそれらを横断的に参照できるようになることで劇的に価値が高まります。豊富なコンテキストに投資した企業は「大きく前進」できます。
  • チームが自分のAIツールを選ばせる ― 一つのツールに標準化しないでください。「人々が使いたいAIツールを使わせる。なぜならそれは常に変化しているから。」使用状況を追跡し、ライセンスを拡張しても、実験を制約しないこと。
  • コンテキストは牛乳のようなもの ― Domaはコンテキスト圧縮について痛い目を見ました:AIが実験的なコードをマージしてmainにプッシュしてしまったのです。フィーチャーブランチと頻繁なコミットは不可欠なセーフティレールです。
  • オープンソースはまだやる価値がある ― 「あなたは与えるが、それ以上のものを得る。知識、経験、新しいツール、新しい洞察、可視性。」ROIはコードだけではなく、コミュニティのフィードバックループにあります。

AIを活用したソフトウェアチームへの示唆

Domaの視点はその誇大宣伝を切り抜きます:AIコーディングツールは実行速度において本当に変革的ですが、何十年もの実践的な経験から生まれるアーキテクチャ的判断を代替するものではありません。活躍する開発者は、AIをパワーツールとして使いながらも批判的思考を維持する人たちです――パターンがなぜ存在するのかを理解し、単に適用するだけではありません。組織にとってのメッセージは明確です:ドキュメント、テスト品質、そしてアーキテクチャのメンタリングに投資してください。これらがAIがコードを書くときに複利的な価値を生む資産です。