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

Antigravity × Gemini API でカスタム AI 開発ツールを構築する実践ガイド

Antigravity IDE と Gemini API を統合し、コードレビュー自動化・ドキュメント生成・テスト生成など、自分だけのカスタム AI 開発ツールを構築する方法を実装コード付きで徹底解説します。

antigravity464gemini-api7custom-toolsai-developmentautomation54typescript28developer-tools

✦ プレミアム記事

背景と前提

Antigravity IDE は Gemini をネイティブに内蔵した強力な AI 開発環境ですが、標準のチャット機能やコード補完だけでは対応しきれない、チーム固有のワークフローやプロジェクト特有のニーズがあります。

ここで扱うのはGemini API を直接呼び出して カスタム AI 開発ツール を構築する方法を、設計パターンから実装コード、プロダクション運用まで体系的に解説します。コードレビューの自動化、API ドキュメントの自動生成、テストケースの自動作成という3つの実践的なツールを通じて、AI 駆動の開発パイプラインを自ら設計・構築できるスキルを身につけましょう。

対象読者: Antigravity を日常的に使用しており、TypeScript / Node.js の基礎知識がある開発者

前提環境:

  • Antigravity IDE(最新版)
  • Node.js 20 以上
  • Google AI Studio のアカウントと API キー

Gemini API の基本セットアップ

API キーの取得と環境設定

まず、Google AI Studio から API キーを取得し、プロジェクトに安全に組み込みます。

// .env.local(gitignore に必ず含めること)
GEMINI_API_KEY=YOUR_GEMINI_API_KEY
 
// src/lib/gemini-client.ts
import { GoogleGenerativeAI } from "@google/generative-ai";
 
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
 
// Gemini 2.5 Pro を使用(コード理解に最適)
export const codeModel = genAI.getGenerativeModel({
  model: "gemini-2.5-pro",
  generationConfig: {
    temperature: 0.2, // コード関連は低温度で正確性重視
    maxOutputTokens: 8192,
  },
});
 
// Gemini 2.5 Flash を使用(高速処理向け)
export const flashModel = genAI.getGenerativeModel({
  model: "gemini-2.5-flash",
  generationConfig: {
    temperature: 0.3,
    maxOutputTokens: 4096,
  },
});

レート制限とリトライの実装

本番運用では、API のレート制限を適切に処理する仕組みが不可欠です。

// src/lib/rate-limiter.ts
interface RateLimiterConfig {
  maxRequestsPerMinute: number;
  retryAttempts: number;
  baseDelay: number; // ミリ秒
}
 
class GeminiRateLimiter {
  private requestTimestamps: number[] = [];
  private config: RateLimiterConfig;
 
  constructor(config: RateLimiterConfig) {
    this.config = config;
  }
 
  async execute<T>(fn: () => Promise<T>): Promise<T> {
    await this.waitForSlot();
 
    for (let attempt = 0; attempt < this.config.retryAttempts; attempt++) {
      try {
        this.requestTimestamps.push(Date.now());
        return await fn();
      } catch (error: any) {
        if (error?.status === 429 && attempt < this.config.retryAttempts - 1) {
          // 指数バックオフでリトライ
          const delay = this.config.baseDelay * Math.pow(2, attempt);
          console.warn(`Rate limited. Retrying in ${delay}ms...`);
          await this.sleep(delay);
        } else {
          throw error;
        }
      }
    }
    throw new Error("Max retry attempts exceeded");
  }
 
  private async waitForSlot(): Promise<void> {
    const now = Date.now();
    const oneMinuteAgo = now - 60_000;
    // 1分以内のリクエストのみカウント
    this.requestTimestamps = this.requestTimestamps.filter(
      (t) => t > oneMinuteAgo
    );
 
    if (this.requestTimestamps.length >= this.config.maxRequestsPerMinute) {
      const oldestInWindow = this.requestTimestamps[0];
      const waitTime = oldestInWindow + 60_000 - now;
      await this.sleep(waitTime);
    }
  }
 
  private sleep(ms: number): Promise<void> {
    return new Promise((resolve) => setTimeout(resolve, ms));
  }
}
 
// 使用例: 無料枠は15RPM、有料枠は1000RPM
export const rateLimiter = new GeminiRateLimiter({
  maxRequestsPerMinute: 14, // 余裕を持たせて14に設定
  retryAttempts: 3,
  baseDelay: 2000,
});
✦

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

この記事の続きを読む

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

この記事で得られること
✦Gemini API を活用したカスタム AI 開発ツールの設計パターンと実装手法を習得できる
✦コードレビュー自動化・ドキュメント生成・テスト自動生成の3つの実践的ツールを構築できる
✦レート制限・エラーハンドリング・コスト最適化を含むプロダクション品質の実装ノウハウを得られる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 連携・プラグイン2026-03-23
Antigravity × Terraform で実現する AI 駆動インフラ自動化 — IaC をAIがレビュー・生成するワークフロー
独特の構文を持つ Terraform の HCL を、Antigravity の AI がレビュー・生成するワークフローを構築します。IaC エージェントの設定、Project Context やセキュリティ要件の書き方、コード自動生成の実際までを手順を追って解説します。
⬡ 連携・プラグイン2026-09-05
GOOGLE_GEMINI_BASE_URL を差し替えても、鍵の持ち主は変わりません
Antigravity CLI の宛先を自前のゲートウェイへ向けたとき、手元の API キーがどこまで運ばれるかを受け側で記録しました。クロスホストのリダイレクトで Authorization は落ちるのに API キーヘッダーは残る、という挙動差の実測と、鍵を端末から外すゲートウェイの組み方を書き残します。
⬡ 連携・プラグイン2026-05-24
Antigravity サブエージェントの「動いているのに何もしていない」を捕まえる Observability 3層設計
Antigravity サブエージェントを 6 アプリ並行で動かしていると、月に 10 件以上「実行ログは緑なのに成果ゼロ」のサイレント失敗が起きます。Heartbeat / Output Trace / Decision Log を 3 層で重ねて 60 秒以内に検知する実装を、コードと運用数値ごと共有します。