3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIへの指示が迷子になる前に──ヒントは“7”という数字

Last updated at Posted at 2025-05-18

整理されていない構造に、知らず知らず慣れてしまっていませんか?

こんな経験はないでしょうか。

・1つのクラスに、数え切れないほどのメソッドやメンバー変数
・1つのフォルダに、無数のクラスファイル
・ドキュメントも、一つのフォルダに、嫌になるほどのファイルの数

──結果、どこに何があるのか、すぐに見つけられない。

そんな状況に「なんとなく慣れてしまっている」ことが、
私たちの設計と認知の限界を曖昧にしているのかもしれません。

そして最近では、AIが出力したコードや設計のアウトプットも増えてきました。
そのレビューで、思わず「もう見たくない…」と感じたことはありませんか?
(もちろん、指示の出し方が悪かった──という反省もありますが)

美しいコードとの出会いと、謎の違和感

「読みやすいコード」「美しいコード」──
その理想像を語るとき、多くの人が思い浮かべるのが名著『リーダブルコード』でしょう。
私も例にもれず、その本から多くのことを学びました。

けれど、どこか物足りなさを感じていたのも事実です。
「もっと本質的な、なにかがあるのではないか?」──そう思っていたとき、
ある過去の体験を思い出しました。

まだ駆け出しだった頃、私はCOBOLのレガシー案件に携わっていました。
当時のコードは、増改築を繰り返した“どこに何があるか分からない構造”ばかり。
正直、うんざりしながらも、納期を守るために残業地獄の日々でした。

ところがある日、そのプロジェクトでふと古い設計書とコードに出会ったのです。
それは、30年以上前に書かれたものでした。


驚きました。
そのコードは、あまりにも整っていたのです。

・フォルダ構成は3階層以内
・ファイルごとに責任が明確
・一つの関数もシンプルで、まるで建築図面のような構造

初めて「見とれるほど読みやすいコード」を体験した瞬間でした。
誰が作ったのかわかりませんでしたが、
その設計とコードを手がけた名もなきエンジニアに、
私は心から尊敬の念を抱きました。今でもその記憶は色褪せません。

ただ当時の私は、それがなぜ“美しい”と感じたのか、言葉にできませんでした。
ただ──「妙にスッと頭に入る」──そんな印象だけが残っていたのです。

“美しさ”の正体──マジカルナンバー7±2

その疑問が解けたのは、後に出会った師匠の言葉でした。

設計は、“人の脳”の構造を意識しないとダメなんだよ。
ひと目で理解できないものは、設計とは呼べない。

そう語った師匠が教えてくれたのが、心理学者ジョージ・ミラーの論文です。
いわゆる「マジカルナンバー7(±2)」──

人間の短期記憶で、一度に処理・認識できる情報は5~9個が限界である、という有名な実験結果です。

みなさんも、職場で次のような適性検査を受けたことはありませんか?

「画面に表示されたボールの数を、すぐに答えてください」
──そういった形式のものです。

3〜6個程度なら、感覚的にすぐに判断できます。
ところが、7個を超えた途端に「あれ……何個だっけ?」と迷いが生まれる。
そんな経験、心当たりはありませんか?

実際、思い返してみると、あの美しかったCOBOLのコードは、まさにこの原理に沿っていたのです。

・フォルダ内のファイル数:7つ以下
・クラス内のメソッド数:多くても7±2
・1つの処理ステップで追うべき変数:5~9個以内
・設計ドキュメントも、一枚絵で7つ以内のモジュール構成

つまり、「ひと目で理解できる単位になるよう、すべてが構造化されていたのです。

現代のコード、そしてAI出力が壊す“構造”

一方で、現在の現場では、構造が見えないまま開発が進むような状況を、私自身も何度も経験してきました。

クラスは肥大化し、画面を何度もスクロールしないと構造が把握できない。
数十個の引数、数百行の関数──
もはや「全体をひと目で把握すること」は不可能になりつつあります。

最近ではAIがコードや設計・要件まで出力するようになりました。
確かに便利です。驚くほど大量のコードを、一瞬で出力できます。

しかし。

・要件が20個並んでいるが、優先順位も依存関係もわからない
・クラスの役割が重なっていて、どこに何を追加すべきか迷う
・“一望できない構造”のまま、量だけが膨らむ

──これでは、結局人間が“見て判断する”負荷は減りません。

むしろ、認知限界を超えるアウトプットによって、破綻のリスクが増しています。

AIと人間の“共作”には、構造というルールが必要

では、どうすればいいのでしょうか。

答えはシンプルです。

人が認知しやすい構造を、AIにも守らせる。
そのための“設計ガイド”を与えるのです。

たとえば:

・1ファイルあたりの関数数は7つ以内
・フォルダ階層は3段まで
・if文やswitchは5分岐以内に抑える

構造が深くなるなら分割する

実際に、CやC++などの分野では、MISRAやAUTOSARといった業界ガイドラインでも
「構成要素を限定する」ことが推奨されています。

これは単なる“ルール”ではなく、
人間が安全に理解・判断するために必要な“認知設計なのです。

おわりに──設計とは、“人の目にやさしい構造”をつくること

設計とは、ロジックを書くことではありません。
「人間が理解しやすいように、構造を整えることです。

その観点でいえば、AIが出力するものも同じ。
「人に見せるコード」「人が読む構造」である以上、
AIに対しても、人に優しい構造を求めるべきなのです。


この視点に立つことで、
私たちはAIと“並んで仕事する”時代にふさわしい設計力を、改めて磨いていけるのではないでしょうか。

そして最後に──
整った構造の美しさを教えてくれた先人たちに、心から感謝を伝えたいと思います。
あの時出会った設計とコードがなければ、今の自分の設計観は生まれていませんでした。


また、今回紹介した内容をより実践的に学びたい方には、以下のUdemy講座もおすすめです。

Udemyコース(8,800円 → クーポンで割引中)

▶️ AIとC#で極める!クリーンコードの技法(限定クーポン付き)

C#でクリーンコードと設計力を身につける実践講座

ChatGPTの活用方法や、伝わるコードの考え方を解説

出版書籍『あきらめない者たち』

▶️ Amazonで見る

技術の基礎からやり直すために、なぜ一歩勇気を振り絞れたのかのノンフィクション作品です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?