気軽にAIに語りかけたら、webサービスが完成する開発環境を1ヶ月で作った話
毎日14時間AI(claude)さんと格闘しています。幸せです。
— 式明生 (@ar_akio) October 20, 2025
始まりは、開発の「面倒くささ」への不満だった
「また環境構築に1時間かかった...」 「コミットメッセージ、何書こう...」 「テストが落ちた原因、調べるの面倒だな...」
GCPでマイクロサービスを開発するたび、こんな小さな「面倒くささ」が積み重なっていました。本当に作りたいのはサービスの機能なのに、周辺作業に時間を取られる日々。
「AIに任せられる作業は、全部AIに任せたい」
この思いから、ゼロからGCP開発テンプレート基盤とAIワークフローを作り始めました。約1ヶ月後、最終的にこんなことができるようになりました:
make awf FEATURE="ユーザー認証機能を追加して"
このコマンド一つで、AIが要件分析から実装、テスト、コミットまで全部やってくれます。
この記事では、どうやってこの仕組みを作ったのか、技術的なポイントを交えながら解説します。
作ったもの:全体像
システム構成
GCP上で動作するモダンなマイクロサービス開発環境です:
┌─────────────────────────────────────────┐
│ 開発者(自然言語で指示) │
└──────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ AIワークフロー(Claude) │
│ ・要件分析 │
│ ・設計・実装 │
│ ・テスト生成・実行 │
│ ・デバッグ・修正 │
│ ・コミット │
└──────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ GCP環境 │
│ ・Cloud Run(API & ML Service) │
│ ・Cloud Build(CI/CD) │
│ ・Firestore / Cloud SQL │
└─────────────────────────────────────────┘
特徴的な仕組み
1. 二層Docker構造で高速ビルド
変更頻度の低いシステムツール層と、開発ツール層を分離。初回8分かかるビルドが、2回目以降は30秒になります。
2. 差分デプロイで時短
変更があったマイクロサービスだけを自動検出してデプロイ。10サービスあっても、1サービスの変更なら3分でデプロイ完了。
3. AI駆動の開発サイクル
コミットメッセージ生成から、テスト失敗の原因分析、コード修正まで、AIが自律的に実行します。
進化の歴史:v7.x → v11.x
Phase 1: 小さな自動化から(v7.x - v8.x前半)
最初は「コミットメッセージの自動生成」という小さな機能から始めました。
$ git add src/auth/login.ts
$ make ai-commit-dry
生成されたコミットメッセージ:
================================
feat(auth): ログイン機能にリフレッシュトークンを実装
- トークンの有効期限を15分に設定
- リフレッシュトークンで自動再認証を実装
- エラーハンドリングを改善
================================
毎回「どう書こう...」と悩んでいた時間が消えました。小さいけれど、確実に開発体験が向上。
次に追加したのがPR自動レビュー。Pull Requestの変更内容をAIが分析して、コードの品質、セキュリティ、パフォーマンスの観点からレビューコメントを投稿します。
Phase 2: AIが能動的に問題解決(v8.x後半 - v9.x)
転機は、E2Eテストへのmodel Context Protocol (MCP) 統合でした。
従来:テストが失敗 → エラーログ読む → 原因調査 → 修正(30分)
改善後:テストが失敗 → AIがスクリーンショットとエラーログを分析 → 修正案を提示(5分)
実際の分析例:
原因: セレクタ #login-button が見つかりません
理由: 最近のコミット a1b2c3d でボタンのIDが変更されています
提案: data-testid="login-submit" を使用してください
AIが単なるツールから、積極的に問題を解決するパートナーに変わった瞬間でした。
この時期には他にも:
統合アップグレードシステム: テンプレートを新バージョンに安全に移行(自動バックアップ、競合解決、検証付き)
破壊的変更の自動検出: APIやDBスキーマの変更を自動でチェック
API互換性チェック: バージョン間の互換性を保証
Phase 3: 開発環境のワンクリック構築(v10.x)
「新メンバーが入ったら環境構築に半日かかる」問題を解決しました。
make env-install
このコマンド一つで、Docker、Node.js、Claude CLI、Python(uv)、Playwright、gcloud CLIが自動インストールされます。
効果:
従来: 手動で各ツールをインストール → 10-15分
改善後: make env-install → 3-5分
さらに、GCP特化のリリース自動化も実装。バージョン更新、Gitタグ作成、Cloud Build、Cloud Runデプロイまで、対話形式で一貫して実行できます。
Phase 4: 完全自律型AIワークフロー(v11.x)
ついに、開発プロセス全体を自動化する「AIワークフロー」が完成しました。
使い方:
make awf FEATURE="ユーザー認証機能を追加してください"
AIが実行する8つのPhase:
Phase 0.5: 対話で最適化
├─ 「時間予算は?」「品質レベルは?」
└─ 回答に応じてPhase数を自動調整
Phase 1: 要件分析
└─ 自然言語を構造化データに変換
Phase 2: 設計計画
└─ アーキテクチャとファイル構成を決定
Phase 3: 実装
├─ コード生成
├─ 型チェック
└─ 自動修正
Phase 4-6: テスト
├─ 単体テスト生成・実行
├─ 統合テスト
└─ E2Eテスト(失敗時は原因分析して修正)
Phase 7: 品質チェック
├─ Linter
├─ セキュリティスキャン
└─ コードカバレッジ測定
Phase 8: Git操作
├─ コミットメッセージ生成
└─ コミット & プッシュ
実行例(抜粋):
=== Phase 0.5: ワークフロー最適化 ===
どのくらい時間をかけられますか?
1) 30分以内(クイック実装)
2) 1-2時間(標準実装)
3) 半日以上(高品質実装)
選択 (1-3): 2
求める品質レベルは?
1) MVP(動作確認のみ)
2) プロダクション相当
3) エンタープライズグレード
選択 (1-3): 2
設定完了:
実行Phase数: 5
E2Eテスト: 実行
パフォーマンステスト: スキップ
=== Phase 1: 要件分析 ===
✓ 要件分析完了
JWTベースのユーザー認証システム
=== Phase 3: 実装 ===
実装中: services/api/src/routes/auth.ts
実装中: services/api/src/controllers/auth.controller.ts
実装中: services/api/src/middleware/auth.middleware.ts
✓ 実装完了
=== Phase 4: 単体テスト ===
テスト生成中: services/api/src/routes/auth.test.ts
✓ 12 tests passed
✓ 単体テスト完了
=== Phase 8: Git操作 ===
コミットメッセージ:
feat(auth): ユーザー認証機能を実装
- JWTベースの認証システム
- ログイン・ログアウトエンドポイント
- 認証ミドルウェア
- パスワードハッシュ化(bcrypt)
Tests: 12 passed
Coverage: 87%
コミットしますか? (y/n)
選択: y
✓ コミット完了
朝、このコマンドを実行してミーティングに出る。戻ってきたら、認証機能が実装され、テストも通り、コミットまで完了している。
技術的なポイント
1. アーキテクチャ
サービス構成:
API Gateway: TypeScript/Express.js
ML Service: Python/FastAPI
データ層: Firestore(リアルタイム)、Cloud SQL(トランザクション)、Pub/Sub(非同期)
インフラ:
Cloud Run: サーバーレス、自動スケーリング
Cloud Build: CI/CD
Secret Manager: 機密情報管理
2. CI/CDの工夫
差分デプロイの仕組み:
GitHub Actionsが変更されたファイルを検出
影響のあるサービスだけビルド
Cloud Buildで並列デプロイ
Cloud Runに自動反映
結果: 10サービス全体で30分 → 1サービスなら3分
3. AI統合の技術スタック
Claude CLI: Anthropic APIのラッパー
MCP (Model Context Protocol): テスト失敗時の文脈理解
GitHub Actions: PR自動レビューの実行環境
4. セキュリティ考慮事項
本記事のコード例は開発環境を想定しています。本番環境では以下を追加してください:
認証・認可:
Cloud Runサービスに適切な認証を設定(--no-allow-unauthenticated)
API GatewayにJWT検証やAPIキー認証を実装
機密情報管理:
全ての機密情報はSecret Managerで管理
環境変数に直接記述しない
ネットワークセキュリティ:
VPC内での通信を基本とする
必要最小限のポート・IPのみ許可
定期的なスキャン:
npm audit、pip auditの定期実行
コンテナイメージの脆弱性スキャン
静的解析ツール(SonarQube等)の導入
達成した成果
1. 開発速度の劇的な向上
環境構築: 15分 → 5分(67%削減)
デプロイ: 10分 → 3分(70%削減)
コミット作業: 2分 → 30秒(75%削減)
2. 品質の向上
テストカバレッジ: 自動生成により平均85%以上を維持
E2E失敗時の原因特定: 手動30分 → AI分析5分
セキュリティ脆弱性: 自動スキャンで早期発見
3. 開発者体験の改善
新メンバーのオンボーディング時間が大幅短縮
ルーティン作業からの解放
創造的な仕事に集中できる時間が増加
次のステップ: AgentとMCP中心のアーキテクチャへ
現在、Claudeのplugin機能(MCP Servers)の登場を機に、テンプレート全体をリアーキテクチャしています。
新しいアーキテクチャのコンセプト:
独自スクリプトの排除
オリジナルのシェルスクリプトをMCP標準プロトコルに置き換え
より汎用的で保守しやすい構成へ
MCPサーバーの活用
mcp-servers/ ├── filesystem/ # ファイル操作 ├── git/ # Git操作 ├── github/ # GitHub API統合 ├── postgres/ # データベース操作 ├── playwright/ # ブラウザ自動化 └── custom/ ├── gcp-deploy/ # GCPデプロイ └── code-quality/ # 品質チェック
Claude Desktopとの統合
IDE不要の開発環境
自然言語でファイル作成からデプロイまで実行
プロジェクト固有の知識をコンテキストとして活用
目指す姿:
開発者がClaudeと会話するだけで、設計からデプロイまでの全工程を完遂できる「AIペアプログラマー」環境。従来のテンプレートで培ったノウハウを、MCP標準に再構築することで、より普遍的な開発基盤になります。
まとめ
この1ヶ月で学んだこと:
小さく始める
最初はコミットメッセージ生成という小さな自動化から
段階的に機能を拡張していった
AIは「パートナー」として設計する
単なるツールではなく、能動的に問題を解決する存在
人間は創造的な判断に集中、AIは機械的な作業を担当
開発者体験が最重要
技術的に優れているだけでは不十分
「使いやすい」「分かりやすい」が成功の鍵
標準プロトコルの重要性
独自実装より、MCPのような標準に乗る方が長期的に有利
エコシステムの恩恵を受けられる
これからの開発の形:
エンジニアとして本当に情熱を注ぎたいのは、環境構築でもテストコード書きでもありません。ユーザーの課題を解決する、創造的な仕事のはずです。
AIがルーティンワークを引き受けてくれるなら、私たちはもっと本質的な価値創造に時間を使えます。
この記事で紹介したテンプレートは、AIと人間が協調してソフトウェアを開発する未来の形を、具体的に示す試みです。まだ発展途上ですが、可能性は無限大だと感じています。
関連リンク:
技術スタック(まとめ):
言語: TypeScript, Python
フレームワーク: Express.js, FastAPI
GCP: Cloud Run, Cloud Build, Firestore, Cloud SQL, Pub/Sub
AI: Claude (Anthropic), Model Context Protocol
CI/CD: GitHub Actions
テスト: Jest, Playwright, k6
この記事が、AI活用に取り組むエンジニアの参考になれば幸いです。
質問やフィードバックがあれば、ぜひコメントで教えてください!
💬 AI・DXについて詳しく相談したい方へ
社内業務効率化や、カスタムAI開発について無料でご相談いただけます。
明生ライジングの実験室より。
https://www.akiorizing.com/
