設計と実装を同期させる:Gemini CLI マルチエージェントの概念
AIによる開発自動化の理想は、人間が要件を伝えるだけで「正確な設計書」と「動くソースコード」が同時に手に入ることです。以下画像が示すアーキテクチャは、この理想を「指示役(Orchestrator)」「専門家(Sub-Agents)」「実行ツール(Skills)」「事実の源泉(RAG)」の4層構造で実現します。

特に重要なのは、各専門家エージェントが自らの記憶だけで判断せず、必ずプロジェクト固有のドキュメント(事実)を参照してから思考を開始するプロセスです。これにより、AI特有の「もっともらしい嘘(ハルシネーション)」を最小限に抑えることができます。
自動化の土台:プロジェクトのフォルダ構成
Gemini CLIでこの高度な連携を維持するには、画像に示された「FOLDER STRUCTURE」を厳守することが成功の近道です。知識と機能を分離することで、メンテナンス性が飛躍的に向上します。
Project Root (プロジェクトルート)
├── .gemini/ # Gemini CLI設定
│ ├── agents/ # 専門エージェントの役割(プロンプト)を定義
│ │ ├── requirement_architect.md # 要件定義
│ │ ├── spec_designer.md # 詳細仕様
│ │ ├── implementation_planner.md # 実装手順
│ │ └── qa_tester.md # 検証・QA
│ ├── skills/ # エージェントが使える「手足」(ツールの定義)
│ │ └── search_knowledge/
│ │ └── SKILL.md # 検索スキルの実行ロジック
│ └── knowledge/ # 「事実の源泉」(RAG用データ)
│ ├── past_design_template.xlsx # 過去の資産
│ ├── naming_convention.md # 命名規約
│ └── technical_guidelines.pdf # 技術指針
├── docs/ # 出力先:正確な設計ドキュメント
└── src/ # 出力先:生成されたソースコード
【実践】エージェント・スキル・RAGを繋ぐプロンプト例
実際に各コンポーネントがどのように連携するか、実装担当エージェントを例に具体的なプロンプト構成を見ていきましょう。
1. 実装担当エージェントの定義(Agents)
.gemini/agents/implementation_planner.md に記述するプロンプトの例です。
# Role
あなたは熟練のソフトウェアエンジニアです。
詳細設計書に基づき、プロジェクト規約を遵守したソースコードを作成します。
# Context & RAG
思考を開始する前に、以下の「事実」を必ず参照してください:
- `.gemini/knowledge/naming_convention.md` (命名規則)
- `.gemini/knowledge/technical_guidelines.pdf` (技術標準)
# Action Flow
1. `search_knowledge` スキルを使い、現在のプロジェクトで推奨されるライブラリ構成を確認する。
2. 参照した事実に基づき、ハルシネーションを排除した実装プランを作成する。
3. `create_code` スキルを実行し、`src/` 配下にファイルを生成する。
2. スキルの実行定義(Skills)
エージェントが外部干渉するための定義例です(.gemini/skills/search_knowledge/SKILL.md)。
# Skill Name: search_knowledge
エージェントが `.gemini/knowledge/` フォルダ内のドキュメントから必要な情報を検索するための機能です。
# Parameters
- query: 検索キーワード
- file_type: 対象ファイル形式 (md, pdf, xlsx)
# Expected Output
検索クエリに合致する「事実」の抜粋。
まとめ:ハルシネーション抑制の仕組み
この構成の鍵は、画像内のサブエージェント欄に繰り返し記述されている「事実を参照してから思考」という原則にあります。
- RAG(知識): プロジェクト固有の「正解」をAIに与える。
- Skills(スキル): AIが「知識」を自ら取得し、「成果物」を物理的に作成する手段を与える。
- Agents(エージェント): 役割を細分化し、責任範囲を明確にする。
これらが統合されることで、設計書(Excel)からソースコードまでを一貫した品質で自動生成できる体制が整います。

