SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2026 セッションレポート(AD)

「コードより仕様」を育てる時代へ──AIエージェントを駆使して構築する高速・高品質なモバイルアプリ開発

【20-B-5】仕様駆動 × ハイブリッドAI基盤 × 3分デプロイで実装するモバイルアプリ + AI Agent

 「仕様」を起点にAIで実装していく仕様駆動開発。その仕組みや勘所を、文房具ECサイトのアプリ開発を例に一連の流れで、FPTジャパンホールディングス株式会社のエグゼクティブエバンジェリストであり、独立行政法人のデジタル統括アドバイザーなども務める鈴木章太郎氏が解説する。

仕様を書いて、実装はAIに動いてもらう仕様駆動開発──まずは全体像から

 FPTジャパンホールディングス株式会社 FPTデータ&AIインテグレーション エグゼクティブエバンジェリスト 鈴木 章太郎氏

FPTジャパンホールディングス株式会社 FPTデータ&AIインテグレーション エグゼクティブエバンジェリスト

鈴木 章太郎氏

 本稿では仕様駆動開発の手法を用いて、クロスプラットフォームのモバイルアプリを開発する時のリアルな一部始終を一挙に紹介する。仕様駆動開発は「仕様」からコード、テスト、ドキュメント、インフラを作り上げる開発手法だ。開発スピードが高まるだけではなく、アプリ品質やドキュメント整合性も向上するのがメリットだ。全体の流れとしては、まず要件定義(specify)から始まり、設計(plan)、タスク分解(task)、実装、テストへと進む。

 今回は肝心の「仕様」をSpec Kitで作成する。その仕様の実体はMarkdown形式のファイルだ。実装はGitHub CopilotのAgent Skillsで複数のAIを使い分ける。複数のAIはAgent HQで統合管理し、MCP Serverと連携して開発を進めていく。

 サンプルとして開発するのは文房具のECアプリ。商品データをデータベースに1000アイテムほど保有し、アプリにはセマンティック検索やAIによる商品推薦などの機能を実装する。技術スタックはバックエンドにSpring Boot 3.xとJava 17(Zeaburとの互換性により)、モバイルはSwift(iOS)およびKotlin(Android)、データベースはAzure PostgreSQLとpgvectorを用いる。ここまでは典型的だが、デプロイ部分はクラウドPaaSのZeabur、AI推論エンジンはOpenAIとFPT AI Factoryを併用する。

今回開発する文房具ECアプリのアーキテクチャ
今回開発する文房具ECアプリのアーキテクチャ

 なお今回採用するSpec Kitとは、仕様を書くためのテンプレートと自動化ツールで、GitHubがオープンソースで公開している。仕様をMarkdownで整理しやすく、設計やタスク分解まで一貫して進められるのが便利な点だ。ただし仕様駆動開発でSpec Kitは必須ではない。重要なのはAIが読める形(JSON/YAML/Markdownなど)で仕様を整えておくこと。仕様さえあれば、実装はCursorでもGitHub Copilotでもいい。鈴木氏は「仕様駆動開発は、ソースコードよりも仕様ファイルのメンテナンスをメインにやっていくという考え方になっています」と説明する。

 仕様が「何を作るか」を定めたものなら、「どう作るか」や制約を規定するのが「Constitution.md(プロジェクト憲章)」だ。AIが実装で暴走しないように、プロジェクトの基本原則・価値観・制約を明文化しておくことで、ガードレールを設けるようなイメージだ。ゼロトラスト原則の規範化や、AIツールの一貫性を担保する観点からも重要になる。ここにセキュリティポリシー、技術スタックの制約、コーディング規約・禁止事項などを記載する。

 仕様を整えたら、AIが仕様を解析して必要なタスクに分解する。例えばデータベースの構造を定義するDDL(データ定義言語)、API実装、UIコンポーネント、テストコードなどだ。タスクが分解されると、GitHub Copilotなどに送信する準備が整う。

 いまやAIにはさまざまなモデルがあり、性能や利用料で使い分けるのが日常になっている。複数のAIエージェントを一元管理できるのが、GitHubが提供するAIエージェントの統合プラットフォーム「Agent HQ」だ。これにより、例えばGitHub Issuesから自動でタスクを分割しながら、複数のエージェントが並行して実装作業やコンフリクトの自動解決などを行える。

GitHub CopilotのAgent Skillsを例に、コードの提案からデプロイまで

 ここまで使用する技術や仕組みを見てきたので、ここからはどう実装するかを見ていこう。鍵となるテクノロジーがGitHub CopilotのAgent Skillsだ。具体的な作業の段取りをAIに教え込む仕組みで、コードを書くだけではなく、インフラのIaC、VectorDBのデプロイ、API実装など、あらゆるところに適用できる。

 これまでAgent Skillsは設定が必要だったが、今では特定のディレクトリにファイルを置けばAIが読み取るようになり、新たな標準機能となった。なおSkillsが外部ツールとつながるためのコネクターがMCP(Model Context Protocol)だ。例えるならSkillsは専門知識としてツールの使い方を教える役割を担い、MCPはツールやデータへのアクセスを提供する接続層にあたる。現実の店舗なら、Skillsが知識豊富な店員で、MCPが商品棚や通路へのアクセスとなる。

 Agent Skillsを使う上でのセキュリティ設計は、「実行権限を付与していいのか」など悩ましい点が多い。鈴木氏は「基本的にAgent Skillsは『どう判定するか』『どう確認するか』などの思考のフレームワークを定義するもので、MCP Serverは実際の実行を担当するものです」と説明する。

 これまではスキルを特定のディレクトリに配置する手間や「AGENTS.md」の手動更新が課題だったが、鈴木氏はかつての後輩にあたるやまぱん!(@aktsmm)氏が作成したスキル管理ツール「Agent Skill Ninja」を紹介した。ネットに膨大に存在するSkillsをキーワード検索できて、スキル追加時に必要な作業を自動実行するのでスキルのインストールが大幅に楽になる。

 それでは開発のスタート地点となるプロジェクトの作成に進もう。一般的には、開発者が自分のパソコンで環境を構築するが、鈴木氏は「GitHub Codespacesが一番便利」と推す。Constitution.mdだけを入れた空リポジトリをCodespacesで開いて、Copilotに全部作らせてしまうのだ。

 まずはGitHubで名前をつけただけの空のリポジトリを作成し、中には「Constitution.md」を入れておく。そしてそのリポジトリをGitHub Codespacesで開き、Copilotのチャットから、モデルはClaude Sonnet 4.6を指定し「Spring Boot 3.xでバックエンドを作成して」「Java 17で」などと自然言語で指示すると、Copilotがプロジェクト構造、APIのコントローラー、DB接続設定などを画面右側のチャット内に生成する。

 Copilotはエージェントモードでもコードの提案までという慎重なタイプなので、問題なければファイル生成を指示する。インフラの構築やDB設計などを進めて、実装が終わったら、リポジトリをコミットし、Zeaburから当該リポジトリを登録する。Zeaburは使われている技術スタックを全て自動で認識する。これで次回から簡易CI/CDのようにコミットするたび、Zeaburが自動的にデプロイを開始する。

3分でデプロイ完了
3分でデプロイ完了

 なおデモでデプロイしたのはセマンティック検索に使うAzure Database for PostgreSQLだ。デプロイしたら、今度はMicrosoft Azureポータルから指定した通りにできているかを確認する。鈴木氏は「とんでもないプランになっているとお金がかかってしまいますから、ここはチェックが重要です」と念を押す。

セマンティック検索はオープンとオンプレのハイブリッドでいいとこどり

 次にセマンティック検索のAPI実装に移ろう。これもAgent Skillsで実装していく。同じセマンティック検索(意味で検索)にしても、機密性に応じて相談するAIを使い分ける必要があるのがポイントだ。今回は2パターンに分けることにする。

 まずは公開情報パターン。「冬向きの暖かい靴」というように、商品説明や一般的な問い合わせであれば、クラウドのAIが向いている。スケーラブルで高度な推論ができるのが特徴だ。もう1つは機密情報パターン。今度は「過去に購入した商品と似たもの」というように、ユーザーの購買履歴(他にも何らかの機微情報)を含むものであれば、ルーティング先を変えてオンプレミスにあるAIを使う。セキュリティや低遅延を優先するならこちらだ。

 今回開発するECアプリは両パターンのハイブリッドとなる。単に商品を検索するだけではなく「おすすめ商品」のように、商品推薦機能も組み合わせるためだ。システム的にはエンドユーザーが「冬向きの暖かい靴」と入力したら、裏で関連商品を取得し、購買履歴も参照したうえで、推薦理由の文章「この商品は防水性があり、過去に似た商品を購入されています」を生成する。購買履歴は機密情報パターンで、推薦文作成は公開情報パターンでAIを組み合わせる。組み合わせることでデータ主権を守りながら、高度なAI活用を実現できる。

 この時の実装のポイントは「Constitution.md」でルールを定義しておくことだ。例えば「個人情報は外部には送信しない」「データの機密性に応じてAIを切り替える」などだ。こうしておくと、GitHub Copilotで「商品推薦エージェントをConstitution.mdのルールに沿って実装して」と指定することで実装していける。

 今回オンプレAIとして用いたFPT AI FactoryはVS CodeのターミナルからSSHで接続するため、Claude CodeやGitHub Copilotを閉域網内のGPUサーバーに使える。鈴木氏は「機密データを守りながら、クラウドと同等の開発体験が得られます」と説明する。

 なおAIルーティングのロジックはAIに実装させることなく、Constitution.mdで定めていく。鈴木氏は「これは組織や機関により違いますので、データ属性やレイテンシーに応じてハードコードしていくような感覚でいいと思います」と言う。

 モバイルアプリ(iOS)の画面もAIツールで生成していく。Copilotにモックアップの画像を見せても、Chatでは画像を認識できない。そこでCopilot CLIを起動し、モデルはGPT- Codex 5.3に切り替えて、ターミナルから「この画面をもとにSwiftコードを実装して」と指定することでSwiftUIコードが生成される。多少のエラーが出ることもあるが、少し直せばいい程度なので鈴木氏は「そこはご愛嬌(あいきょう)」と言う。

 今回のデモ開発では、仕様を起点にAIを駆使することで、バックエンドからモバイルまで一気通貫で開発できることを示した。仕様駆動開発とは、人間が仕様を磨き、実装はAIに任せるものだ。これからの人間とAIにふさわしい役割分担のあり方として、新しい当たり前になっていきそうだ。

FPTジャパンホールディングスからのお知らせ

 今回のセッションで活用した統合AI基盤「FPT AI Factory」は、かんたんにお試しいただけます。

この記事は参考になりましたか?

提供:FPTジャパンホールディングス株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/23556 2026/04/08 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング