最初に、ひとつだけ質問です

あなたが「設計しています」と言うそのシステムは、
何もない状態から構造や仕組みを考えた設計ですか。
それとも、誰かが構造設計した後の工程ですか。

例えば「ログイン機能を設計しています」という言葉でも、 実際には二つのまったく違う意味があります。

同じ「ログイン設計」でも、仕事の中身は違う

既に構造が決まっている側

作り方を合わせる設計

POST /login

request:email / password

response:token / expiresAt

この仕様に合わせて、ログイン画面、入力チェック、エラー表示を組む。 これは重要な仕事ですが、既に決まっている構造に合わせる設計です。

何もない状態から考える側

仕組みを決める設計

  • 認証方式は JWT か、セッションか、SSOか
  • 権限モデルは RBAC か、属性ベースか
  • トークンの寿命、更新、失効はどうするか
  • 監査ログや不正利用検知をどう置くか

ここが決まると、APIの形や画面の振る舞いは自然に決まります。 こちらは仕組みそのものを決める設計です。

違いは、出発点にあります

仕組み設計

認証方式・権限・責任境界・セキュリティ方針を決める

構造設計

認証API、トークン管理、セッション管理、サービス分割を決める

使い方の設計

API仕様、画面、入力チェック、SQL、エラーメッセージを定義する

つまり、構造を決めているのか、 それとも決まった構造の下で作り方を具現化しているのかで、設計の意味は大きく変わります。

なぜこの違いが重要なのか

AIが得意なのは、作り方を具体化する領域です。 API仕様、SQL、UI、入力チェック、画面コードの生成は、すでにかなり強いです。

AIが得意

  • APIのたたき台作成
  • 画面コード生成
  • SQLやCRUDの生成
  • 定型バリデーション

人が決める必要がある

  • 認証・権限・監査の考え方
  • 業務の責任分界
  • データ概念の切り方
  • どのリスクを許容するか

AI時代では、単に「設計しています」と言うだけでは条件不足になる時代です。 これからの設計は、作り方なのか、仕組み・構造なのかが問われます。

簡単な言い方をするなら

「ログイン画面を設計しています」ことと、
「認証の仕組みを設計しています」ことは、
同じ“設計”という言葉でも、かなり違う。

前者は、誰かが決めた構造に合わせて、きれいに、正確に、矛盾なく組み立てる仕事です。 後者は、そもそもどういう構造なら安全で、運用可能で、将来壊れにくいかを決める仕事です。

最後にもう一度だけ

AI時代に自分がどの役割を担っているのかが重要な気がします。