◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-04-19上級

Antigravity × Firebase Genkit で構築する本番AIアプリ — フロー設計からデプロイまで

Firebase Genkit と Antigravity で本番AIアプリを組み立てた実装記録。型安全なフロー設計、RAGパイプライン、ストリーミング、デプロイ済みフローのスキーマ変更まで動作コード付きでまとめました。

firebase-genkitgenkitfirebase11ai-flowrag8streaming5typescript28production59

✦ プレミアム記事

「Firebase で AI 機能を追加したいけど、Gemini API を直接叩くだけでいいのか、Genkit を使うべきなのかがよくわからない」——この判断で迷って数時間を費やしたことはありませんか。私にはあります。

Firebase Genkit は、Google が 2024 年にリリースした AI アプリ構築フレームワークです。単なる Gemini API のラッパーではなく、ローカルでの開発・デバッグ・テストから本番デプロイ・監視まで、AI 機能のライフサイクル全体をカバーするように設計されています。そして Antigravity との相性が、使ってみると想像以上によいのです。

本番アプリで Genkit を回しながら覚えたことを、設計・実装・デプロイの順に並べていきます。Antigravity の補完がどこで効いて、どこでは効かないのかも併せて書きました。

Firebase Genkit が解決する問題

Gemini API を直接使えばいいのでは、という疑問はもっともです。シンプルなテキスト生成なら API を直接呼ぶだけで十分です。ただし、プロダクションレベルの AI 機能を構築しようとすると、すぐに共通の課題に直面します。

まずフローのデバッグの難しさがあります。「どのプロンプトがどのレスポンスを返したのか」「どのツール呼び出しでエラーが起きたのか」を追跡しようとすると、自前のロギング基盤が必要になります。次にテストの書きにくさの問題があります。LLM の呼び出しを含む処理は、モックなしではユニットテストが書けません。さらに複数モデルの切り替えも面倒です。開発環境では軽量モデル、本番では高精度モデルを使いたいとき、コードを大幅に書き換えることになりがちです。

Genkit はこれらを「フロー」という抽象化レイヤーで解決します。フローは、LLM の呼び出しや外部 API、ツール実行をまとめた単位で、実行トレース・入出力の型定義・ローカルデバッグ UI がデフォルトで付いてきます。

Antigravity との相性がよい理由は単純で、Genkit は TypeScript ファーストで設計されており、型情報が豊富です。Antigravity のタブ補完が、フローのオプション・プロバイダーの設定・Zod スキーマをほぼ完全な精度で補完してくれます。フロー定義のボイラープレートを書く時間が大幅に短縮されます。

環境セットアップ

まず、Genkit を使うプロジェクトをセットアップします。

# プロジェクト初期化
mkdir my-genkit-app && cd my-genkit-app
npm init -y
npm install -D typescript ts-node @types/node
 
# Genkit コアとプラグイン
npm install genkit @genkit-ai/googleai
npm install @genkit-ai/firebase  # Firebase デプロイ用
 
# TypeScript 設定
npx tsc --init --module nodenext --moduleResolution nodenext --strict

tsconfig.json に以下を追加します。Antigravity の補完がより正確に動作するよう、パス設定を明示しておくのがポイントです。

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "nodenext",
    "moduleResolution": "nodenext",
    "strict": true,
    "outDir": "./dist",
    "rootDir": "./src",
    "resolveJsonModule": true,
    "esModuleInterop": true
  },
  "include": ["src/**/*"]
}

Genkit インスタンスの初期化

src/genkit.ts に Genkit インスタンスを作成します。このファイルをアプリ全体で共有することで、設定の一元管理ができます。

// src/genkit.ts
import { genkit } from "genkit";
import { googleAI } from "@genkit-ai/googleai";
 
// 環境変数から API キーを取得(ハードコードは厳禁)
const GOOGLE_API_KEY = process.env.GOOGLE_AI_API_KEY;
if (!GOOGLE_API_KEY) {
  throw new Error("GOOGLE_AI_API_KEY environment variable is required");
}
 
export const ai = genkit({
  plugins: [
    googleAI({ apiKey: GOOGLE_API_KEY }),
  ],
  // ローカル開発時のデバッグ UI を有効化
  promptDir: "./prompts",
});
 
// よく使うモデルを定数として定義(後で切り替えが簡単になる)
export const MODELS = {
  fast: "googleai/gemini-2.0-flash",
  balanced: "googleai/gemini-2.5-pro",
  local: "googleai/gemma-4-9b-it", // ローカルテスト用
} as const;

.env ファイルの管理は必ず dotenv 経由で行います。コミット前に .gitignore に .env が含まれていることを確認してください。

# .env(絶対にコミットしない)
GOOGLE_AI_API_KEY=YOUR_GOOGLE_AI_API_KEY
NODE_ENV=development

Antigravity のエージェントに .gitignore の確認を依頼するのが習慣になると、シークレットの漏洩リスクを防げます。これは小さな習慣ですが、チーム開発では特に重要です。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦Genkit のフロー設計がわからないまま手が止まっていた方が、Antigravity の補完を活かして型安全な AI パイプラインを今日から構築できるようになります
✦RAGパイプラインの実装でつまずきやすい Firestore Vector Search 連携・チャンク戦略・エラーハンドリングを、動作確認済みのコードで一気に理解できます
✦本番運用でリトライ・ストリーミング・コスト管理をどう設計するかの判断軸を習得し、自分のプロダクトに応用できます
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 連携・プラグイン2026-04-30
Antigravity × Cloudflare Durable Objects で作るステートフル AI エージェント — 1セッション=1インスタンスで会話・ツール状態・コストを一元管理
Antigravity で開発した AI エージェントを Cloudflare Durable Objects に載せて、会話履歴・ツール呼び出し・トークン消費を1セッション1インスタンスで管理する設計と実装を、実際に本番投入したコードと運用コストで解説します。
⬡ 連携・プラグイン2026-04-22
Antigravity API を Python で本番運用する前に必ず入れる3つの保護装置
ローカルでは動いたのに本番でレート制限に落ちた経験から、Antigravity API の Python 運用に必ず入れる3つの保護装置をまとめました。指数バックオフ+ジッター、タイムアウト、サーキットブレーカーの連携動作を障害タイムラインで示します。
⬡ 連携・プラグイン2026-04-21
Antigravity で作る Gemini Live API リアルタイム音声エージェント — 双方向音声・画面共有・遅延最適化の本番運用ガイド
Gemini Live API で本番品質のリアルタイム音声エージェントを作るために必要なアーキテクチャ、遅延最適化、エラー回復、コスト制御の実装パターンを Antigravity で組み立てる現場向けガイドです。