はじめに
学生インターン時代の凄腕エンジニアから、AI駆動開発がすごすぎる!!ということを教えてもらい、実際に最近勉強した3層構造のWebアプリが作れないか試してみました。
結論、、
「3層アーキテクチャで名簿管理システムを作って、AWSにデプロイしたい」
この一言から始まり、約1時間後には本番環境で動くWebアプリが完成していました!
使ったのは Cursor(AI搭載コードエディタ)と Claude。
この記事では、AI駆動開発の衝撃的な体験をシェアします。
完成したもの
システム構成
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Apache │────▶│ Tomcat │────▶│ MySQL │
│ (Web層) │ AJP │ (AP層) │JDBC │ (DB層) │
└─────────────┘ └─────────────┘ └─────────────┘
↑
ブラウザからアクセス
http://<EC2のIP>:8080/employee/
作成されたファイル数
| カテゴリ | ファイル数 |
|---|---|
| Java ソースコード | 6 ファイル |
| JSP | 5 ファイル |
| Docker 設定 | 5 ファイル |
| SQL スクリプト | 3 ファイル |
| 設定ファイル | 4 ファイル |
| 合計 | 23+ ファイル |
技術スタック
- Apache 2.4 + Tomcat 10 + MySQL 8.0
- Java 17 + Servlet/JSP
- Docker / Docker Compose
- AWS EC2
タイムライン:1時間の軌跡
0:00 - 要件を伝える
私が伝えたのはこれだけ:
「Apache-Tomcat-MySQLの3階層アーキテクチャで名簿管理システムを構築します」
AIはすぐにいくつかの質問をしてきました:
- 社員データにはどの項目を含めますか?(基本項目 or 詳細項目)
- Apache と Tomcat の連携方法は?(AJP or HTTP プロキシ)
的確な質問で要件を明確化してくれました。
0:05 - プロジェクト構造が完成
要件を伝えた5分後、以下が自動生成されました:
cursor_3_layer_app/
├── pom.xml
├── docker-compose.yml
├── docker/
│ ├── apache/
│ ├── tomcat/
│ └── mysql/
├── sql/
└── src/main/
├── java/
├── resources/
└── webapp/
23個以上のファイルが一気に作成されました。
0:10 - ローカルで動作確認
mvn clean package
docker compose up -d --build
ブラウザで http://localhost:8080/employee/ を開くと...
動いてる!!
0:15 - AWS デプロイ開始
「これをデプロイしたい」と伝えると、AIは:
- AWSアカウントは持っているか?
- どのサービスを使いたいか?
と確認してきました。「EC2がいい。まだ設定できていない」と答えると...
EC2の作成手順から丁寧に教えてくれました。
0:25 - EC2 インスタンス作成
VPCがないというエラーが出た時も:
「VPC がないというメッセージが出ていますね。まずデフォルト VPC を作成しましょう」
と、エラーを見越したかのような対応。
セキュリティグループの設定も、必要なポート(22, 80, 8080)を具体的に指示してくれました。
0:35 - Docker インストール
SSH接続できたら、EC2にDockerをインストールする手順を提示:
sudo dnf install -y docker
sudo systemctl start docker
sudo usermod -aG docker ec2-user
# ...
コピペするだけでOK。
0:45 - デプロイ完了
scp -i ~/Desktop/key.pem -r ./* ec2-user@<IP>:~/app/
ssh -i ~/Desktop/key.pem ec2-user@<IP>
cd ~/app
docker-compose up -d --build
http://<パブリックIP>:8080/employee/
本番環境で動いた!!
0:50 - トラブルシューティング
文字化けが発生。「名前と部署が文字化けしてる」と伝えると:
AIはすぐに docker-compose.yml を修正し、MySQL の文字コード設定を追加してくれました。
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
1:00 - 完成!
文字化けも解消され、友達に共有できる状態に!
AI駆動開発で感じたこと
1. 圧倒的なスピード
従来なら 数日〜1週間 かかる作業が 1時間 で完了。
| 工程 | 従来 | AI駆動 |
|---|---|---|
| プロジェクト構造作成 | 2-3時間 | 5分 |
| Docker設定 | 1-2時間 | 含まれてた |
| AJP設定(Apache-Tomcat連携) | 調査含め半日 | 自動生成 |
| EC2デプロイ | 調査含め1日 | 30分 |
2. エラー対応が神
「〇〇というエラーが出ました」と伝えるだけで:
- 原因を特定
- 解決策を提示
- 具体的なコマンドを提供
ググる時間がほぼゼロになりました。
3. 対話で要件が明確になる
最初は漠然とした要件でも、AIの質問に答えていくうちに:
- 必要な機能
- 技術的な選択(AJP vs HTTP)
- データ構造
が明確になっていきました。
4. 学習効果が高い
AIが生成したコードを読むことで:
- 3層アーキテクチャの実装方法
- Docker Compose の書き方
- AJP プロキシの設定
を 実践的に学べました。
AI駆動開発のコツ
1. 要件を明確に伝える
❌ 「Webアプリ作って」
⭕ 「Apache-Tomcat-MySQLの3層構成で社員管理システムを作りたい」
2. エラーはそのまま貼り付ける
❌ 「なんかエラー出た」
⭕ 「このエラーが出ました:[エラーメッセージ全文]」
3. 分からないことは素直に聞く
「セキュリティグループのところからわからない」
「.pemファイルはデスクトップにあります」
変に格好つけず、そのまま伝えるのが一番効率的でした。
4. 途中経過を共有する
「ここまでできました!」
「これで合ってる?」
こまめに確認することで、手戻りを防げます。
使用したツール
Cursor
AI搭載のコードエディタ。VS Code ベースで使いやすい。
特徴:
- コード生成
- ファイル作成・編集
- ターミナル操作
- エラー解析
Claude (Anthropic)
Cursor の背後で動いている AI モデル。
すごいところ:
- コンテキストの理解力が高い
- 日本語対応が自然
- 技術的な知識が豊富
まとめ
Before(従来の開発)
- 技術調査(数時間〜数日)
- 環境構築(半日〜1日)
- コーディング(数日)
- デバッグ(数時間〜数日)
- デプロイ(半日〜1日)
合計:1〜2週間
After(AI駆動開発)
- 要件を伝える(5分)
- 生成されたコードを確認(10分)
- 動作確認・修正(30分)
- デプロイ(15分)
合計:約1時間
成果物
骨組みだけなので編集と詳細機能はまだですが、検索機能はすでに実装されていました。
最後に
正直、このスピードできるとは思っていませんでした。
コードは一切触っていません!!!
これからはエンジニア自身が細かく手を動かすのではなく、上流工程を考え、その内容をAIに任せていく時代に変わってきているのだと強く感じました。
自社でも最近アーキテクトの研修がこれからの時代必要だと強く勧められていましたが、その理由がわかって気がします。
AI駆動開発、試してみてください。
世界が変わります!!
