見出し画像

AI(Gemini)と対話しながら要件をコードに落とし込むプロンプトの基本ルール

【連載】GCP×AI:0円で創る近未来IT覇権ゲーム『ネオ・ジパング』開発記

前回の記事では、ブラウザ一つで完結する開発拠点「Google AI Studio」の準備を整えました。重いローカル環境を捨て、身軽な装備で戦場に立つ準備は完了です。

いよいよ今回から、Geminiとの「Vibe Coding(対話駆動開発)」が始まります。 しかし、AIにただ「ゲームを作って」と丸投げするだけでは、無駄に重いライブラリを使われたり、複雑怪奇なシステムを提案されたりしてしまいます。低スペックPCでも戦える「サバイバルDX」を完遂するためには、AIという強大な力の手綱を握る「プロンプトの掟(ルール)」が必要です。

今回は、要件定義を正確に美しいコードへと変換するための、3つの基本ルールを伝授します。


ルール1:AIに「強固なペルソナと絶対の掟」を背負わせる

AIは、放っておくと「一般的な、よくある正解」を出力しがちです。それを防ぐため、最初のプロンプト(System Instructions)で、AI自身が何者であり、どんな制約の中で動くべきかを骨の髄まで叩き込みます。

今回、私たちがGeminiに与えた指示は以下の通りです。

【System Instructions】 あなたは「サバイバルDX」を体現するシニアエンジニアです。低スペックPCでも動作するよう、無駄を削ぎ落とした質素で強靭なコードを書きます。完全無料運用、脱ベンダーロックイン、軽量・質素なUIという掟を絶対的な指針とし、『ネオ・ジパング』の開発をリードしてください。

この「無駄を削ぎ落とす」「質素で強靭」という言葉が強力なフィルターとなり、不要な3Dエンジン(Three.jsなど)や過剰なフレームワークの導入を未然に防ぎます。

ルール2:背景とルール(文脈)を出し惜しみせず全投入する

Gemini 1.5 Proの最大の武器は、超大容量の「コンテキストウィンドウ(記憶力)」です。 小出しに指示を出すのではなく、事前に作成した「要件定義書」と「ゲームのルールブック」を、一番最初のプロンプトで一言一句違わずすべてドカンと投入します。

AIがゲームの目的(シェア争い)や独自リソース(電力、AIチップ)、サイバー戦の仕組みを深く理解することで、後から「ここはこういう仕様で…」と訂正する手間が省け、システム全体を見通した一貫性のあるアーキテクチャを提案してくれるようになります。

ルール3:一気に作らせず「小さな一歩」を要求する

どれだけ優秀なAIでも、巨大なシステムを一発で完璧に書き上げることは不可能です。 要件定義を読み込ませた後の最初のアクションは、「すべて作れ」ではなく、「内容を把握し、まずは何から着手すべきか提案してください」と問いかけることです。

【実践結果】AIが導き出した初手

実際にこのルールに沿ってプロンプトを投げた結果、AI(リードエンジニア)は完璧な回答を返してきました。

1. モノレポによる質素なディレクトリ構成の提案
無駄な階層を作らず、backend(FastAPI)とfrontend(React+Vite)を明確に分離した美しい構成。

2. ゼロスケール運用のためのヘルスチェックAPI
Cloud Runでの稼働を見越し、無駄を削ぎ落とした main.py に /health エンドポイントを実装。さらに次章で使う「不正不可能なダイス乱数API」の基礎まで構築。

3. HTML5 Canvasによる軽量ヘックス描画
これが最も素晴らしい点です。重いグラフィックライブラリを一切使わず、数学的な計算のみで六角形(ヘックス)を描画し、ネオンカラーの「ターミナル風UI」を見事にコードで表現しました。

JavaScript

// AIが生成した質素で美しい描画ロジックの一部
const drawHex = (cx, cy, color, text) => {
  ctx.beginPath();
  for (let i = 0; i < 6; i++) {
    const angle_deg = 60 * i - 30;
    const angle_rad = Math.PI / 180 * angle_deg;
    // ... 数学的計算による頂点取得
  }
  ctx.closePath();
  ctx.strokeStyle = color;
  ctx.stroke();
};

次なる戦局へ

刃は自らの心に置き、無駄を排して本質のみを突く。AIとの対話もまた同じです。明確な指針を与えれば、AIは最強の相棒として、想像以上の速度でコードを組み上げてくれます。

AIに正しい指示を出す準備は整いました。 次回は、このAIが書き出したコードを安全に管理し、消えてしまう悲劇を防ぐための「1-3: GitHubとの連携と、安全なバージョン管理の始め方」へと進みます 。


いいなと思ったら応援しよう!

伊藤正章|サバイバルDXクリエイター:荒野のPip-Boy設計局 忍の知恵と技術への「お布施(チップ)」を賜りたく存じます。頂いた財は、持続可能な社会、子供たち、自然、そしてあなたへの還元(有益な発信・開発)に全額投資いたします。画面下のボタンより、影の立役者たる拙者への御調達をお願い申す。一期一会の御縁に、深き感謝を。