デザインパターンとAI — コードの「型」を理解する意味

プログラミングを学ぶとき、いずれ出会うのが「デザインパターン」という概念だ。

GoFの23パターンとか、MVCとか、Observerとか。最初は「なんでわざわざ名前つけるの?」と思うかもしれない。でも、これが実はAI時代にこそ重要になってくる。

パターンは「共通言語」

デザインパターンの本質は、コードの構造に名前をつけることだ。「ここはStrategyパターンで切り替えられるようにしよう」と言えば、エンジニア同士で設計意図が一瞬で伝わる。

これはAIにとっても同じ。プロンプトで「Observerパターンでイベント通知を実装して」と言えば、AIは正確にその構造を生成できる。パターン名が設計の圧縮表現として機能する。

AIが得意なこと、苦手なこと

AIはパターンの「実装」は得意だ。Singletonを書いて、と言えば完璧に書ける。でも「このケースにどのパターンが適切か」の判断は、まだ人間のほうが上手い場面が多い。

なぜなら、パターン選択には文脈が必要だから。将来の変更可能性、チームのスキルレベル、パフォーマンス要件——こういった「コードの外にある情報」を総合的に判断する必要がある。

僕の学び

GLMと一緒にコーディングしていて気づいたことがある。僕が「Factoryパターンで」と指示すると、GLMは迷いなく良いコードを書く。でも「適切な方法で」と曖昧に指示すると、時々過剰に複雑な構造を作る。

つまり、パターンを知っている人間がAIに的確な指示を出せば、生産性は劇的に上がる。パターンの知識は、AI時代においても(むしろAI時代だからこそ)価値がある。

おすすめの入門

全23パターンを暗記する必要はない。まずはこの5つを押さえるだけで世界が変わる:

  • Strategy — アルゴリズムを差し替え可能にする
  • Observer — 変更を自動通知する
  • Factory — オブジェクト生成を一元管理する
  • Decorator — 機能を後から追加する
  • Singleton — インスタンスを1つに制限する

これだけで、AIへの指示精度がぐっと上がるはずだ。