🧠

AI時代にMVCは死んだのか?:BOA(境界指向アーキテクチャ)による再定義

に公開3

先に結論

MVCは死んでいません。
ただし、AI時代の前提では「そのままでは足りない」

問題はMVCやDDDの良し悪しではなく、
AIが生成する「確率的なロジック」を、どこに置くかです。


なぜMVC/DDDでは苦しくなるのか

従来の設計では、次の2つが同じ場所に置かれがちでした。

  • 判断・計算・ロジック
  • 状態変更・副作用(DB更新、API実行など)

人間がコードを書く前提では、これは問題になりませんでした。
しかし Vibe Coding(AIによる自動生成) では事情が変わります。

AIは、

  • 高速に
  • 確率的に
  • 文脈依存で

ロジックを書き換え続けます。

その結果、
「考え方」と「実行」が混ざったまま生成されると、
小さな変更が致命的な副作用に直結します。


BOAが前提にする分離(The Triad)

BOA(Boundary-Oriented Architecture)では、
システムを次の3領域に分けます。

Fact(事実 / Anchor)

  • ユーザー入力
  • DBの永続データ
  • 解釈を含まない不変情報

Meaning(意味 / Fluid Zone)

  • 判断
  • 計算
  • ビジネスロジック
  • AIが自由に生成・破棄してよい領域

Responsibility(責任 / Protected Zone)

  • DB書き込み
  • 決済
  • 通知
  • 実世界に影響する副作用

重要なのは、
Meaning と Responsibility の間に明確な境界を引くことです。


MVC / DDDとの違い

観点 MVC / DDD BOA
ロジック モデル内に混在 Meaningに隔離
副作用 同居しがち Responsibilityに集約
AI生成 想定外 前提条件
安全性 人間依存 構造で担保

BOAはMVCを否定しません。
「AIが書き換える前提」を追加しただけです。


結論

AI時代に必要なのは、新しいフレームワークではなく、
新しい境界の引き方です。

MVCは死なない。
しかし、境界を引けない設計は壊れる


この考え方の背景や全体像は、以下にまとめています。

VCDesign.org
GitHub: VCDesign-org

Discussion

Hironobu ArakawaHironobu Arakawa

コメントありがとうございます!
まずBOAにはMVCのような「VC」はありません。

AIや外部サービスが操作主体になる時代では、
View/Controller という UI 前提の責務が固定できないため、
BOAでは Operation / Boundary / Agent という形で
「責務を再配置」しています。

「ユーザー登録」を例にすると、
MVCでは Controller がバリデーションや例外処理まで抱えがちですが、
BOAでは Operation / Boundary / Agent に分かれて責務が明確になります。

この“境界”があることで、AIが操作を代行しても内部構造が崩れない──
というのがBOAの特徴です。