AI時代のアーキテクチャルール設計:「書くルール」から「破れないルール」への転換
出典: skipbit

AIがコードを生成する時代、アーキテクチャルールは「ドキュメントに書く」だけでは不十分です。ビルドを落とす・静的解析で検知するなど、ルールの「強制力」を戦略的に設計する必要があります。重要な制約ほど、複数の層で重ねて守る——AI開発時代の新しいアーキテクチャガバナンスを解説します。
AIがコードを書く時代、ルールの「強制力」が問われている
ソフトウェア開発において、アーキテクチャルールは長らく設計ドキュメントやコーディング規約として「書かれるもの」でした。しかし、GitHub CopilotやClaude、ChatGPTなどのAIツールがコードを生成する開発スタイルが普及する中、この前提が大きく揺らいでいます。
なぜなら、AIはドキュメントを「読んで理解する」ことはあっても、人間のように文脈を深く解釈してルールを守り続けることは難しいからです。結果として、アーキテクチャルールの「強制力」をどう設計するかが、AIコーディング時代の最重要課題になっています。
アーキテクチャルールの「強度」を分類する
元投稿では、同じルール「domainはinfrastructureに依存しない」を例に、その守らせ方に段階があることが指摘されています。
3段階の強制力
**レベル1:ドキュメントに記載**
**レベル2:静的解析・リンター**
**レベル3:ビルド時の強制**
この3段階は強制力が「桁で違う」と表現されていますが、これは決して誇張ではありません。レベル1とレベル3では、ルールが守られる確率が文字通り10倍以上変わります。
編集部の視点
AI開発で「書くルール」が機能しなくなる理由
ChatGPTやClaudeにコード生成を依頼する際、プロンプトにアーキテクチャルールを含めることは可能です。しかし、以下の問題があります。
**プロンプトの限界**
**従来の手動レビューとの比較**
人間だけの開発では、コードレビューがルール遵守の最終防衛線でした。レビュアーがアーキテクチャ違反を指摘し、修正を求める——この人的プロセスが機能していました。
しかしAI生成コードは量が桁違いです。1日に生成されるコード量が10倍になれば、人的レビューだけでカバーするのは不可能になります。ここで「機械が判定できるルール」への転換が必須となるのです。
メリットと注意点の両面分析
**メリット**
**注意点**
どんな場面に向いているか
**強く推奨される状況**
**段階的導入を検討すべき状況**
「重ねる」戦略が最強の防御になる
元投稿の後半で示唆されているのが、「本当に重要な一線は、性質の違う複数の落とし方で重ねる」という考え方です。
多層防御の具体例
たとえば「domainレイヤーはインフラに依存しない」という制約を守るなら:
**第1層:パッケージ構造**
src/
domain/ # infrastructure をインポート不可
application/
infrastructure/**第2層:依存性解析ツール(ArchUnit)**
@ArchTest
public static final ArchRule domain_should_not_depend_on_infrastructure =
noClasses().that().resideInAPackage("..domain..")
.should().dependOnClassesThat().resideInAPackage("..infrastructure..");**第3層:モジュール境界(Gradleサブプロジェクト)**
project(':domain') {
// infrastructure への依存を物理的に禁止
}**第4層:コードレビューチェックリスト**
この「重ね」により、AIが生成したコードであっても、レイヤー違反が本番環境に到達する確率を限りなくゼロに近づけられます。
今日から試せるアクション
1. 現在のルールを「強度別」に分類する
まずは既存のアーキテクチャルールを棚卸しし、以下の3つに分類してください。
この分類により、「どのルールを機械化すべきか」の優先順位が見えてきます。
2. 1つの重要ルールを「ビルドで落とす」ように設定する
最も重要なルール1つを選び、今週中に自動チェック化してください。
**Java/Kotlinの場合**:ArchUnitを導入
**TypeScript/JavaScriptの場合**:dependency-cruiserを導入
**Python の場合**:import-linterを導入
まずは1つ。完璧を目指さず、「ビルドが落ちる体験」を作ることが重要です。
3. AI生成コードのレビュー観点を更新する
コードレビューチェックリストに以下を追加してください。
AI時代のレビューは「AIが書いたコードを疑う」視点が不可欠です。
まとめ:AIとの協働で「嘘をつけない設計」へ
AIがコードを書く時代、アーキテクチャルールは「読まれるもの」から「破れないもの」へと進化しなければなりません。すべてを機械化する必要はありませんが、本当に重要な制約については、複数の層で重ねて守る戦略が有効です。
「選ぶ」と「重ねる」——この2つの原則を意識することで、AIツールの生産性を最大限に活かしながら、アーキテクチャの健全性を保つことができます。
この情報は @skipbit さんの投稿を参考にしています。
出典: skipbit


