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

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

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

antigravity435gemini-api7custom-toolsai-developmentautomation51typescript26developer-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-04-04
n8n × Google AI Studio API で Antigravity 開発ワークフローを自動化する
n8nのワークフロー自動化ツールとGoogle AI Studio(Gemini API)を組み合わせ、Antigravityでの開発作業をインテリジェントに効率化する実践ガイド。トラブルシューティングも解説します。
連携・プラグイン2026-07-15
無人ランで作業フォルダが突然『別の人の持ち物』になる — 所有者ドリフトを検知して書ける場所へ逃がす
数週間緑だった無人スケジュールが、ある朝 git config を書けずに止まりました。原因は永続作業フォルダの所有者ドリフト。存在チェックでは通り書き込みだけが弾かれる罠を切り分け、書込可否を実測して別の場所へ逃がすプリフライトを実装まで残します。
連携・プラグイン2026-07-08
成功し続ける自動化が、いつの間にか価値を失うとき — 成果の痩せを検出して畳む設計
スケジュール実行の緑のログは、しばしば最も油断ならない嘘をつきます。成功しているのに価値を失った自動化を、成果台帳と評価器で炙り出し、畳む・直す・残すを判断する設計を実コードとともに整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →