AIにシステムを作ってもらう人と、作らせる人の差
今回はエンジニアとAIの関係についての話です。
「エンジニアはAIに仕事を奪われる職業だ」とよく言われます。
これについて、私も一部は賛成です。
実際、ClaudeやGPTに「こんなの作って」と自然言語でお願いするだけで、既存のゲームの主要な要件を満たしたWebゲームができてしまう動画もあるくらいです。
つまり、コーディングが必要なシステムは、もはや誰でも作れる時代になりました。
しかし問題は、そのシステムのレベルです。
結論から言うと、システムへの理解がまったくない人がAIを使って作ったものは、おそらく制作者本人しか満足できません。
他の誰か、ましてやお金を払ってくれる人を満足させるレベルには、まず届かないのです。
AIを使うとしても、エンジニアを名乗るのであれば、
・要件の整理
・データベースの構成
・ディレクトリの構成
このあたりは、自分の中で描けている必要があります。
たとえばログインシステムを作る場合。
知識のない人がAIに伝えられるのは、せいぜい「ログインできるシステムを作って」くらいでしょう。
一方、私が実際に使ったプロンプトはこういうものです。
これからSpring Bootを使ってログイン機能を実装する。
実装する前に、まずは環境を共有するよ。
Project:Maven
Language:Java
Spring Boot:4.0.6
Packaging:Jar
Java:21
Dependencies:Spring Web、Thymeleaf
データベースはXAMPPでローカルに用意。
DB名はlogin_demo_db、テーブルuserにname, email, passwordのカラムを用意してある。
すでに1レコード入れてあり、教材用なのでパスワードはハッシュ化していないが今回は問題なし。
Spring Data JPAを入れ忘れたので、それも後で追加してほしい。
Controller、Service、dto、Entity、Repositoryあたりの構成で進めたい。
これくらいは、最初のオーダーで投げます。
出来上がる前に「どんな状態になっていればよいか」のイメージがなければ、要件を正確に満たすシステムを作ることはできません。
算数ができない人が電卓を持っても、計算自体ができなければ正しい答えは出ません。
それと同じで、エンジニアにはシステムへの理解が必要です。
「自分ならどう作るか」というイメージが先にあって、初めてAIはあなたの助けになります。
AIにシステムを作ってもらう人ではなく、AIにシステムを作らせる人を目指していきましょう。
