MAS-332 メタプロンプト: GAS Web App + Chat UI + AI Tool Use + マルチシナリオ永続化の設計論点
用途: MAS-056(一人社長の意思決定対話 UI)の本格仕様書着手前に、GAS Web App 上での Chat UI 実装・Vertex AI Tool Use 連携・マルチシナリオ並行対話・シナリオ永続化スキーマの設計論点を Gemini Deep Research に調査依頼するためのメタプロンプト。
作成日: 2026-04-24 関連:
- MAS-056 TODO エントリ(論点 11 項目)
- D.11 9 ステップ財務意思決定振り返り
- MAS-245 GAS Web App 独立化(
doGet+ React SPA 基盤)- MAS-216 Vertex AI 移行(Gemini/Claude 呼び出し基盤)
- MAS-005 動的シナリオプランニング UI(吸収対象)
- MAS-011 What-if MVP / MAS-013 投資シミュレーション / MAS-048 採用 TCO(Tool Use 呼び出し対象エンジン)
背景
bizlp-gas-accounting は代表者 1 名体制の法人(bizlp)が開発・運用する管理会計 ERP。Google Apps Script + Google Workspace + Vertex AI を基盤とする。
これまでに MAS-011 What-if シミュレーション MVP(HC 追加 / SaaS 追加ドライバー)、MAS-013 投資回収シミュレーション(NPV/IRR/Payback)、MAS-048 採用 TCO & BEP(法定福利 15.68%・3 年離職率 52.7%)等の計算エンジンが仕様書完成〜実装済みで揃っている。いずれもサイドバー UI + スプレッドシート入力で動作する。
MAS-056 の構想 は、これら計算エンジンの入口を「サイドバー UI + 入力フォーム」から「独立 Web アプリ(GAS doGet ベース)上の対話型 Chat UI」に置き換えるもの。ユーザー(一人社長)が自然言語で「法定福利込みの月手取り 60 万を維持しつつ、5 年後に MRR 500 万を達成するには?」と入力すると、Gemini / Claude が:
- 対話的にヒアリング(ユーザーの個人資本金・稼ぐ力・生活費レンジ・希望役員報酬を引き出す)
- Tool Use(Function Calling)で MAS-011 / MAS-013 / MAS-048 のパラメータに変換・実行
- 複数シナリオを並行探索(「採用優先案 / 報酬最大化案 / 投資抑制案」等)
- ユーザーが「これで確定」と判断した案を複数のシナリオとして管理会計システムに永続化
- 確定シナリオの 1 つを選んで MAS-045 で 22_bud_headcount / 23_bud_subscription に転記(既存設計)
この構想は D.11(9 ステップ財務意思決定振り返り)の Step 9「個人 B/S + 法人 B/S 統合」論点 も単独案件化せず本機能に吸収する方針。
本メタプロンプトの役割
以下 2 つを一貫して生成する:
RQ-034_conversational_scenario_ui_prompt.md— Gemini 2.5 Pro Deep Research に即投入できる完成版プロンプト。事実パッケージ 6 点 + 調査項目 8 項目が自己完結的に埋め込まれているRQ-034_conversational_scenario_ui_result.md— Gemini 回答を貼付する空の結果ファイル
生成する Deep Research プロンプトの構造
冒頭: 調査の設定
- 調査相手: Gemini = Google Apps Script × AI Chat UX アーキテクト + 日本の一人法人向け FP&A 業界アドバイザーのペルソナ
- 前提: 本プロジェクトの技術制約・ユーザー像・既存資産を客観的な情報ベースで共有
- 求める出力: 設計パターン比較表(3+ 候補)、ベストプラクティスの一次情報リンク、GAS 固有の落とし穴リスト、推奨実装ステップ順序
本文: 事実パッケージ 6 点
以下 6 パッケージを改変せずプロンプトに埋め込む。Gemini が推測で補うことを防ぐため、事実と根拠付きで提示する:
- プロジェクト全体像と MAS-056 の位置付け: bizlp-gas-accounting の概要(一人法人の管理会計 ERP)と、MAS-056 が担う「対話による意思決定ハブ」の役割(MAS-005 吸収 / MAS-011/MAS-013/MAS-048 計算エンジン横断呼び出し / 個人 B/S 統合)
- 技術スタック制約: GAS
doGet(e)Web App、Vertex AI Claude Sonnet 4.6 / Gemini 2.5 Pro、SpreadsheetApp.openById、GAS 6 分実行制限、同時実行 30 quota、SSE ストリーミング不可、UrlFetchApp 30 秒タイムアウト(CLAUDE.md/ MAS-216 仕様書抜粋) - 既存計算エンジンと呼び出し規約: MAS-011 What-if(
runWhatIfSimulation(drivers)入力 HC_ADD/SAAS_ADD、出力 P/L/B/S/CF 差分)、MAS-013 投資分析(runInvestmentAnalysis()入力 30_bud_investment_case、出力 NPV/IRR/Payback)、MAS-048 採用 TCO(runHiringTcoSimulation(params)入力年収/雇用形態、出力 TCO/BEP) - ユーザー像と UX 期待値: 一人社長(代表者 = 開発者 = ユーザー)、スマホからも使う、意思決定は 30 分〜2 時間の対話セッション、複数シナリオを同時に並行探索、「会話しながら足し引き」の操作性重視
- 個人 B/S 統合要件(D.11 Step 9): 個人の資本金・稼ぐ力(クライアントワーク売上)・生活費レンジ・希望月手取り・社会保険最適化・5 年後の個人純資産予測を対話でヒアリング、役員報酬 × 法人利益のバランス最適化
- シナリオ永続化の現状: 管理会計システムには
30_bud_investment_case(MAS-013、投資案件)、22_bud_headcount(人員計画)、23_bud_subscription(SaaS 計画)が既存。MAS-005(固定 3 シナリオ切替)が未着手。MAS-045(What-if → 予算転記)が仕様書完成済みで、シナリオから 1 つを選んで予算に転記するルートが設計済み
調査項目: 8 セクション
MAS-056 の本格仕様書着手前に確定したい設計論点を、以下 8 セクションで構造化して回答させる:
GAS
doGetWeb App 上での Chat UI 実装パターン- フロントエンド: React SPA(MAS-232 成果物の流用可能性)vs Vanilla JS vs HTML Service 単独
- 1 ターン 1 リクエスト完結型チャットの実装パターン(UrlFetchApp 30 秒・SSE 不可制約下)
- 会話状態の管理: クライアントサイド保持 vs Drive JSON vs シート永続化 vs
CacheService併用 - 参考にすべき OSS / 公開事例(google/clasp 事例、GAS React テンプレート、Chat サンプル)
Vertex AI Tool Use(Function Calling)の GAS からの実装
- Claude Sonnet 4.6 vs Gemini 2.5 Pro の Tool Use 対応度・価格・速度比較(2026 年時点)
- Tool 定義のスキーマ設計(MAS-011/MAS-013/MAS-048 の関数シグネチャをどうツール化するか)
- 多段階 Tool 呼び出し(Gemini がヒアリング → Tool A 実行 → 結果を受けて Tool B 実行)の実装パターン
- エラーハンドリング: Tool 実行失敗時のリカバリ(Gemini 側の再試行 vs ユーザー確認復帰)
- 日本語会話の自然さ vs 英語会話の精度トレードオフ
マルチシナリオ並行対話の UX パターン
- タブ型(「案 A / 案 B / 案 C」タブ切替、各タブ独立会話)vs 分岐ツリー型(「この前提を変えたらどうなる?」で枝分かれ)vs カード並列型(横並びで同時比較)
- LLM にシナリオ管理させる設計(system prompt でシナリオを構造化保持させる)vs アプリ層で明示管理
- シナリオ間の差分可視化(「案 A と案 B は役員報酬だけ違う」等の自動要約)
- スマホ UX での実現性(小画面での多シナリオ比較の限界)
シナリオ永続化のデータモデル設計
- スキーマ候補: 親(scenario_registry: ID / 名称 / 作成日 / ステータス / メモ)+ 子(scenario_drivers: シナリオ ID / ドライバー種別 / パラメータ JSON)
- シート番号採番(22-30 使用済み、40 番台
40_scenario_registry/41_scenario_driversor 90 番台) - 会話履歴の保存: 新規シート vs Drive JSON(プライバシー / 検索性 / 容量)
- 個人資産情報の機密性(MAS-200 個人情報保護との整合)、シート暗号化要否
- シナリオのバージョン管理(ドラフト → 確定 → アーカイブのライフサイクル)
個人 B/S + 法人 B/S 統合の財務モデル設計(D.11 Step 9 吸収)
- 一人法人における個人 B/S 項目(現預金・証券・不動産・配偶者名義含めるか)の標準的な粒度
- 役員報酬最適化の考え方: 法人税 vs 所得税 + 社会保険料のトレードオフ計算モデル、2026 年税制の前提
- 社会保険料の正確な試算(健保 + 厚生年金、福井県の事業主負担込み)
- 5 年後の個人純資産予測モデル(役員報酬 → 生活費控除 → 貯蓄 → 運用利回り)
- 既存機能との連携: MAS-010(5 年予測)、MAS-048(採用 TCO)、MAS-049(賃上げ税制)
GAS 制約下でのパフォーマンスとコスト設計
- 1 対話セッションあたりの LLM 呼び出し回数・トークン消費・月額コスト試算(1 日 3 セッション想定)
- UrlFetchApp 30 秒タイムアウトと LLM 応答時間の折り合い(Claude Sonnet 4.6 で 10-20 秒の応答時間)
CacheService/PropertiesServiceの活用範囲(マスタ事前ロード、履歴キャッシュ)- 同時実行 30 quota の影響(1 人で使う想定だが、SaaS 化時の制約)
SaaS 競合 / 先行事例の調査
- FP&A SaaS(Runway / Causal / Cube / Jirav)の AI チャット機能の実装水準(2026 年時点)
- ChatGPT / Claude の Artifacts / Projects 機能がシナリオ管理にどう使われているか
- 日本の中小企業向け経営分析ツールで対話型 UI を実装している事例の有無
- 「一人法人 × 個人 B/S 統合」を明示的にサポートしているツールは存在するか
実装ロードマップ推奨
- MVP スコープ(最小構成で動く Chat + 1 シナリオ保存)
- フェーズ分け(MVP → マルチシナリオ → 個人 B/S 統合 → モバイル最適化)
- 各フェーズの所要期間見積もり(代表者 1 人・週 10 時間想定)
- MAS-332 調査結果が届いた後、MAS-056 本格仕様書着手まで何を確定すべきか
出力フォーマット要件
Gemini には以下のフォーマットで回答させる:
- 各調査項目に 「結論 → 根拠 → 比較表 → 推奨案 → 参考リンク」 の順で記述
- 比較表は候補 3+ 件 × 評価軸 5+ 項目(コスト・実装難度・UX・拡張性・保守性)
- 参考リンクは 一次情報優先(Google 公式ドキュメント、Anthropic 公式、論文、公開されている設計記事)
- 最後に 「MAS-056 本格仕様書で確定すべき 10 項目」 をチェックリスト形式で提示
除外する論点(本 RQ の対象外)
以下は MAS-056 本格仕様書の中で決めるため、Deep Research の対象外:
- 個別ボタンの配置・色彩・アイコン等の UI デザイン詳細
- GAS コード実装の具体的スニペット(調査結果を元に代表者 + Claude Code が作成)
- 料金プラン設計(本機能は自社利用前提)
- マルチテナント化(MAS-238 / MAS-239 / MAS-246 等の Phase 5 課題として別管理)
変更履歴
| 日時 | 変更内容 |
|---|---|
| 2026-04-24 | 初版作成(MAS-056 起票と同時) |