人間向けに作られた設計、実はAIにもめちゃくちゃ効く
AIがコードを書く時代になって、
「もう設計ってそこまで重要じゃないのでは?」
みたいな空気を感じることがある。
でも実際は逆。
設計が悪いと、AIはかなり不安定になる。
AIは「散らかった情報」に弱い
例えば、巨大な UserService.ts がある。
- 認証
- DBアクセス
- Slack通知
- Redis更新
- メール送信
全部入り。
こういうファイルをAIに渡して「ここ直して」と言うと、
- 関係ない場所を書き換える
- 命名規則が崩れる
- レイヤを飛び越える
みたいなことが普通に起きる。
別にAIがアホなのではなく、単純にノイズが多い。
人間でも散らかった机だと集中しづらいのと同じ。
最近のLLMは巨大なコードベースも読める。 でも、構造化されている方が圧倒的に安定する。
疎結合は、AIへの「カンペ」
昔から言われている、
- 疎結合
- カプセル化
- 単一責任
みたいな設計。
これって「人間向け」だと思われていたけど、実はAIにもかなり効く。
例えば、
sendMail(user, template)
だけならAIは理解しやすい。
でも内部で、
- DB更新
- APIコール
- ログ監査
- Slack通知
まで全部やってると、一気に精度が落ちる。
つまり重要なのは、
「AIに不要な情報を見せないこと」
カプセル化って、AIのためにもなってる。
AIは「小さい責務」と相性がいい
AIは巨大なシステムを丸ごと理解するより、
- 小さい関数
- 小さいモジュール
- 一機能一責務
みたいな構造の方が得意。
だから責務分割の考え方がかなり効く。
別に全部をマイクロサービス化する必要はない。
むしろ、過剰な分散は運用が地獄になる。
でも、
「このファイルは何を担当してるのか?」
が明確なだけで、AIの安定感はかなり変わる。
結局、本質は「認知負荷を減らす」
昔から良い設計と言われてきたものは、結局全部これ。
「一度に考える量を減らす」
- 関数を短くする
- 責務を分ける
- 境界を明確にする
- 依存を減らす
全部、人間のための知恵だった。
でも今は、そのままAIにも効いている。
AI時代で増えた、新しい設計の価値
昔は、
- 可読性
- 保守性
が重要だった。
でも今はそこに、
「AIが推論しやすい構造か」
という軸が増えた気がする。
AIは強い。
でも、構造が悪いと普通に迷う。
逆に、整理された設計だと驚くほど安定する。
AI時代ほど、設計力の価値は上がっていく気がしている。