Skip to content
Cloud AI エンジニア入門ガイド
Go back

12. Gemini開発者向けの入口

ここまではGeminiを使う話でした。ここからは、自分のプログラムやサービスへ組み込む話です。

コードが出てきますが、雰囲気だけつかんで読み飛ばして構いません。他の章の理解には影響しません。ただしアプリとAPIでデータの扱いが違う。ここだけは、開発をしない人にも知っておいてほしい。

この章の全体像として、4つの入口、最小構成、会話の継続、課金の4つを番号順に並べ、試すところから組み込みまでの道筋が描けるようになることを示した図

シリーズ目次前章: 11. Gemini Google製品への広がり次章: 13. Geminiの限界とリスク

Table of contents

Open Table of contents

この章のねらい

4つの入口

開発者から見ると、Geminiには次の入口があります。

試すならAI Studio、組み込むならGemini API、企業要件があれば企業向けプラットフォーム、コード作業を任せるならAntigravityという選び方の図

入口位置づけ向く場面
Google AI Studioブラウザ上で試す場所。APIキーもここで発行動作確認、プロンプトの試作
Gemini API自分のプログラムから呼び出すサービスへの組み込み全般
Gemini Enterprise Agent Platform企業向けの運用基盤(旧Vertex AI)権限管理、監査、大規模運用
Antigravityエージェント型の開発環境とCLIコードを書く作業そのものを任せる

公式ドキュメントは、特別な企業要件がなければまずGemini APIを使うよう勧めています。企業向けプラットフォームは、必要になってから移ればいい。

Note

かつてのVertex AIは、2026年時点で Gemini Enterprise Agent Platform という名称に整理されました。開発者向けCLIの Gemini CLI も Antigravity CLI への移行が案内されています(一部の法人向けライセンスでは従来どおり使えます)。この領域は名称変更が特に多いので、記事の名前より公式ドキュメントを見てください。

最小構成を見てみる

APIキーをGoogle AI Studioで発行して、環境変数に入れます。キーをソースコードに直接書かないでください

export GEMINI_API_KEY="<YOUR_API_KEY>"

Pythonの例です。

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="AIの仕組みを短く説明して",
)
print(interaction.output_text)

JavaScriptでも同じ構造です。

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const interaction = await ai.interactions.create({
  model: "gemini-3.6-flash",
  input: "AIの仕組みを短く説明して",
});
console.log(interaction.output_text);

Geminiの現行APIは Interactions API と呼ばれ、interactions.create が基本の呼び出しです。以前のバージョンでは generateContent という名前でした。古い記事やサンプルを読むときは、ここでつまずきます。

役割を固定する

第6章の役割にあたるものは、system_instruction で指定します。

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    system_instruction="あなたは社内文書の校正者です。数値と固有名詞は変更しないでください。",
    input="(校正したい文章)",
)

会話を続ける

複数回のやりとりでは、直前のやりとりのIDを渡します。会話の履歴はサーバー側が保持するので、自分で全履歴を送り直さずに済みます。

1回目の入力に対する回答とIDを受け取り、2回目でそのIDを添えて文脈を引き継ぐシーケンス図

first = client.interactions.create(
    model="gemini-3.6-flash",
    input="犬を2匹飼っています",
)

second = client.interactions.create(
    model="gemini-3.6-flash",
    input="家の中に足は何本ありますか",
    previous_interaction_id=first.id,
)

考える量を指定する

第4章で扱った思考レベルも指定できます。

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="(複雑な設計上の判断)",
    generation_config={"thinking_level": "high"},
)

minimal / low / medium / high の4段階です。指定しなければ、モデルごとの既定値のもとで自動調整されます。

アプリ利用とAPI利用の決定的な違い

ここが、開発をしない人にも知っておいてほしい部分です。

観点GeminiアプリGemini API
料金プランごとの定額使ったトークン量に応じた従量課金
前提の下ごしらえアプリが自動で行う自分で組み立てる
検索との連携自動的に行われる場面がある明示的に組み込む必要がある
データの扱いプランと設定に従う有料利用では入力・出力が学習に使われない扱いが基本
安全機能アプリ側の対策込み自分で設定・検証する必要がある

5つの観点をそろえて並べると、判断が変わる行が浮かび上がります。

料金・下ごしらえ・検索との連携・データの扱い・安全機能という5つの観点でGeminiアプリ利用とGemini API利用を比べ、データの扱いの行を強調した図

4行目を見てください。個人向けアプリでは会話が保存され、一部が改善のために使われることがあります(第14章)。一方、有料のAPI利用では、送ったデータをモデルの学習に使わない扱いが基本です。無料枠の扱いは条件が違うことがあるので、必ず利用規約で確認してください。

業務データをAIに渡してよいか。この判断は、同じGeminiでも入口によって答えが変わります

課金の考え方

課金はトークン単位です。入力トークンと出力トークンで単価が違い、出力のほうが高いのが一般的。

見落とすのは次の2点です。

  1. 思考トークンも課金対象。短い回答でも、裏で長く考えていれば費用がかかります
  2. 長い文脈は毎回課金される。同じ資料を毎回送ると、そのぶん毎回請求されます

2つめの対策がコンテキストキャッシュです。繰り返し使う長い資料をキャッシュしておくと、キャッシュされた入力トークンの単価が下がります。ただしトークン課金がなくなるわけではありません。出力トークンやキャッシュされていない入力は別途課金されますし、キャッシュ方式によっては保存時間に応じた料金も出ます。

見落としと、費用を下げる順序を1枚にまとめます。

思考トークンも課金対象であることと長い文脈が毎回課金されることという2つの見落としと、軽いモデルを試す・思考レベルを下げる・長い文脈をキャッシュする・不要な履歴を見直すという費用を下げる4段階を並べた図

費用を下げる基本の順序はこうなります。

  1. まずFlash-Lite系やFlash系で足りないか試す(第2章
  2. 思考レベルを下げられないか試す
  3. 繰り返す長い文脈をキャッシュする
  4. 不要な履歴を送っていないか見直す

長く動かすシステムでの注意

注意点対処
モデルが提供終了するモデルIDを設定として外に出し、差し替え可能にする
プレビュー版は挙動が変わる本番は安定版を使う
出力形式が揺れる構造化出力の指定と、受け取り側での検証を入れる
応答時間が読めないタイムアウトと再試行を設計する
入力に外部データが混ざるプロンプトインジェクション対策を入れる(第13章

起きることと対処を、対にして並べます。

モデルの提供終了・プレビュー版の変更・出力形式の揺れ・応答時間のばらつき・外部データの混入という5つの出来事と、それぞれの対処を対にして並べた図

実務で効くのは1行目です。モデルの提供終了は必ず起きます。1か所直せば切り替わる構造にしておけば、移行が数分で済みます。

要点

参考資料


シリーズ目次前章: 11. Gemini Google製品への広がり次章: 13. Geminiの限界とリスク


Share this post:

Previous Post
13. Geminiの限界とリスク
Next Post
11. Gemini Google製品への広がり