最初に、ひとつだけ質問です
あなたが「設計しています」と言うそのシステムは、
何もない状態から構造や仕組みを考えた設計ですか。
それとも、誰かが構造設計した後の工程ですか。
例えば「ログイン機能を設計しています」という言葉でも、 実際には二つのまったく違う意味があります。
同じ「ログイン設計」でも、仕事の中身は違う
既に構造が決まっている側
作り方を合わせる設計
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時代に自分がどの役割を担っているのかが重要な気がします。