型付き辺: 出 3 / 入 0
ADR-0008: 本番 AI API を Vertex AI に集約し GCP プロジェクトを組織配下で dev/prod 分離する判断
- Status: Accepted (旧形式「## ステータス: 採用済み」より転記)
- Mode: Critical (内容から推定・旧 README 一覧より移設)
- Kruchten Type: Executive
- Scope: corporate
- Implementation Status: In Progress (Vertex AI 移行、quota 申請 UI 停滞中)
Kruchten Type は ADR-0031 (2026-05-13) で遡及追加。分類根拠は ADR-0031 §決定セクションおよび docs/adr/README.md の Kruchten 3 分類ガイドを参照。 Status / Mode / Scope は 2026-06-11 に遡及追加 (ADR-0031 corrigendum パターン)。出典: Status = 旧形式「## ステータス」節の機械転記 / Mode = 旧 README §既存 ADR 一覧の推定値 (git 履歴) / Scope = ADR-0049 4 層分類の遡及付与 (PR レビューで確定)。
ステータス: 採用済み (2026-04-20)
コンテキスト
GAS 会計システムは株式会社ビズリンクパートナーズ (bizlp) の社内管理会計ツールとして運用しているが、3〜12 ヶ月以内に SaaS 型プロダクトとして商用展開する計画がある。顧客データ (領収書・請求書・契約書等の機微情報を含む) が AI API 経由で処理される前提となるため、AI 契約先・データフロー・subprocessor 管理を商用運用に耐える形で整理する必要が出てきた。
現状:
- 開発ツール: Claude Code (Anthropic 個人 Max プラン)
- 本番 Gemini API: Google AI Studio 直呼び出し (
generativelanguage.googleapis.com) ※個人向け API の位置付け - 本番 Claude API: 未実装 (ADR-0007 末尾で「
callClaudeApi_()を追加」と定義済みだが、契約先が未決定で実装保留) - GCP プロジェクト: AI Studio が自動生成した "default gemini project" を利用中 (組織配下か不明瞭)
商用 SaaS 展開を見据えた選択肢:
- 案 A: Anthropic と法人直接契約を結び、Claude API を Anthropic 直で利用
- 案 B: Vertex AI (GCP) 経由で Claude / Gemini を利用 ← 採用
- 案 C: ハイブリッド (Gemini は現行維持、Claude のみ Vertex)
決定
本番の AI API 呼び出し (Claude / Gemini) は、すべて Vertex AI (GCP) 経由に集約する。
- 本番 Claude API: Vertex AI 経由 (Anthropic 法人直接契約は不要)
- 本番 Gemini API: 現行の Google AI Studio から Vertex AI に移行
- GCP プロジェクトは bizlp.co.jp 組織配下に新規作成し、dev/prod を分離 (
bizlp-gas-accounting-dev/bizlp-gas-accounting-prod) - Claude Code (開発ツール) は当面は個人 Max プランを継続し、支払いは法人カードで行う (契約主体は個人、支払い主体のみ法人)。チーム規模拡大時に Team プラン等の法人契約に移行
- Anthropic との法人直接契約は締結しない
理由
- Subprocessor 一元化: 商用 SaaS として顧客開示する subprocessor を Google 1 社に集約できる。Anthropic 直契約を別途結ぶと顧客開示・DPA 管理が 2 社分に増える
- DPA の GCP 既存契約に統合: 既に GCP 法人契約で締結済みの DPA 配下に AI 利用も含まれる。Anthropic と別途 DPA 交渉する必要がない
- GCP 既存インフラとの統合: IAM / VPC / Cloud Audit Logs を AI API 呼び出しにも適用でき、セキュリティ管理が一貫する
- リスク分離: 開発用 (Anthropic Claude Code) と本番用 (Vertex AI) で契約先を分けることで、Anthropic 側の料金・ポリシー変更が本番サービスに即座に影響しない
- コスト管理の一元化: AI コストも GCP 課金予算枠・アラートで一元管理できる。コミット割引等の GCP 最適化も適用可能
- 監査ログの一元化: Cloud Audit Logs で AI API 呼び出しも捕捉可能 (誰がいつ顧客データを AI に送ったかトレース可能)。SOC 2 / 内部統制対応の基盤になる
- 認証情報の削減: Anthropic API キーを個別にスクリプトプロパティで管理する必要がなく、GCP IAM / Service Account で統一できる
結果・影響
- ポジティブ: 商用 SaaS 化時の subprocessor 管理が単純化。GCP の IAM / 監査ログ / 予算管理が AI API にも適用される。Claude Code 個人プランの資産も温存
- ネガティブ: Vertex AI 経由では Anthropic 直の最新機能 (Files API / Batch API 等) の一部が利用できない or 提供が遅れる可能性。ただし ADR-0007 のユースケース (請求書 OCR / AI ルーティング) に必要な機能 (Vision 入力・PDF 入力・Prompt Caching・Extended Thinking) は Vertex 側も揃っている
- 技術的負債: 既存
502_receipt_reader.jsの Gemini 呼び出しを Vertex に書き換える必要がある。並行稼働期間 (新旧両系統で検証) の設計が必要
実装方針
- GCP プロジェクト構成: bizlp.co.jp 組織配下で
bizlp-gas-accounting-dev/bizlp-gas-accounting-prodを新規作成し、既存の "default gemini project" (AI Studio 自動生成) は段階的に廃止 - リージョン選定:
asia-northeast1を第一候補とし、Claude モデルが同リージョンで未提供の場合はus-east5をフォールバック。データ residency 要求が顧客から顕在化した時点で再評価 - 認証方式: Vertex AI への認証は Service Account ベース (GAS の
ScriptApp.getOAuthToken()ベースの OAuth2、または Service Account JSON)。既存のCLAUDE_API_KEY/GEMINI_API_KEYスクリプトプロパティは移行完了後に削除 - ADR-0007 との関係: ADR-0007 末尾の「実装方針」に記載の
callClaudeApi_()(000_infra/004_utils.jsに追加) は、本 ADR の決定により Vertex AI 経由の実装に置き換わる - 実装タスク管理: TODO_future.md の MAS-215 (GCP プロジェクト整備) / MAS-216 (Vertex 移行: Claude 実装 + Gemini 移行) で追跡
- Claude Code の支払いと経費処理: Anthropic 個人 Max プランの支払い方法に法人カードを登録し、立替精算を不要化する。税務上の「事業使用目的」の裏付けは以下の 3 点で担保する
- 毎月 Anthropic Console から請求書 / 領収書をダウンロードし保管
- 社内稟議書 (Claude Code を GAS 会計システム開発の主要ツールとして利用する旨) を 1 通整備
- git log / PR の
Co-Authored-By: Claudeタグを業務使用実態の証跡として活用
非スコープ
- SaaS ホスティング構成 (シングルテナント vs マルチテナント・テナント分離方式): 別 ADR で扱う
- Claude Code の法人契約タイミング: TODO_future.md で別途管理 (チーム規模拡大時に再判断)
- 商用化時のプライバシーポリシー・subprocessor 開示文面整備: 初 PoC 契約獲得時に別案件として起票
- Vertex AI Model Garden / fine-tuning 等の他機能活用: 具体ユースケースが立ち上がった時点で別 ADR
関連
- ADR-0007 Gemini API を領収書解析に使用する判断
- TODO_future.md: MAS-215 (GCP プロジェクト整備) / MAS-216 (Vertex AI 移行)
Confirmation (準拠確認 / Fitness Function)
本セクションは ADR-0036 (Accepted 2026-05-14) で遡及追加された。ADR-0031 パターン (業界標準準拠メタデータ後付け = 誤字修正範疇) に準拠する遡及で本文の意思決定内容は不変。
- 検証手段: N/A — 要マッピング更新 (ADR-0036 遡及時点で未定義、月次レビューで確定)
- 実行頻度: —
- 違反時の対応: —