ニュース

Gemini 3.1 Flash-Liteとは — 速度64%向上の実装ガイド

Gemini 3.1 Flash-Liteとは — 速度64%向上の実装ガイド

この記事の結論

Gemini 3.1 Flash-Liteは毎秒382トークンで2.5 Flashの64%高速。チャットボット・バッチ処理の実装コードとThinkingモードの使いどころを開発者向けに解説。

「高速なLLMが欲しいけれど、Proクラスのコストは払えない。」開発者から最もよく聞かれる悩みだ。

2026年3月3日にGoogleがリリースしたGemini 3.1 Flash-Liteは、その問いに対する現時点での回答かもしれない。毎秒382トークン、コスト$0.25/M入力トークンという数字を見て、どんなプロジェクトに使えるか気になった開発者も多いはずだ。

そもそもGemini 3.1 Flash-Liteとは何か

Gemini 3.1 Flash-Liteは、Googleが「最もコスト効率の高いモデル」と位置づける軽量系モデルだ。Gemini 3.1ファミリーの中でも最小クラスに属し、主に以下の条件下での使用を想定して設計されている。

  • 大量のリクエストを同時並行で処理する高ボリュームシステム
  • レイテンシが直接ユーザー体験に影響するリアルタイムアプリ
  • コスト制約が厳しいスタートアップやSaaS企業

何が新しいのか

指標 Gemini 2.5 Flash Gemini 3.1 Flash-Lite 変化
出力速度(tokens/sec) 232 382 +64%
Time to First Token 基準値 2.5倍高速 +150%
入力コスト $0.15/M $0.25/M +67%(やや高い)
出力コスト $0.60/M $1.50/M +150%
Thinkingモード なし あり(AI Studio/Vertex) 新機能

料金情報の最終確認: 2026-04-14

注目すべきは出力速度の+64%だ。毎秒382トークン(約1,500文字/秒)という数字は、500ワードの回答を約4秒で生成できる速さを意味する。チャットアプリで「返答を待っている感覚」をほぼ消せるレベルだ。

一方、コスト面は必ずしも安くなっているわけではない。入力・出力ともに2.5 Flashより高くなっている。「安い」という印象を持つとしたら、それはGemini 3.1 Proと比較した場合の話だ(Proはおよそ$2/$8/Mトークン前後)。

具体的に何ができるようになるのか

ユースケース1: リアルタイムチャットボット

Gemini 3.1 Flash-Lite APIを使ったストリーミング応答の実装例を示す。382 tokens/secの速度を活かすには、ストリーミングが必須だ。

"""
Gemini 3.1 Flash-Lite ストリーミングチャットボット

動作環境: Python 3.11+, google-generativeai>=0.8.0
必要パッケージ: pip install google-generativeai
注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
"""

import google.generativeai as genai
import os

# APIキーは環境変数から取得(ハードコーディングNG)
genai.configure(api_key=os.environ["GEMINI_API_KEY"])

model = genai.GenerativeModel(
    model_name="gemini-3.1-flash-lite-preview",
    generation_config={
        "temperature": 0.7,
        "max_output_tokens": 1024,
    }
)

def stream_response(user_message: str) -> str:
    """ストリーミングで応答を生成し、リアルタイムに出力する"""
    full_response = []

    # stream=True でストリーミング有効化
    response = model.generate_content(user_message, stream=True)

    for chunk in response:
        if chunk.text:
            print(chunk.text, end="", flush=True)  # リアルタイム表示
            full_response.append(chunk.text)

    print()  # 改行
    return "".join(full_response)

# 使用例
if __name__ == "__main__":
    result = stream_response("AIエージェントの設計パターンを3つ教えてください")
    print(f"n総文字数: {len(result)}")

ユースケース2: 大量データの一括処理(バッチ推論)

高スループットが求められる一括処理の例。100件のリクエストを並列処理する構成だ。

"""
Gemini 3.1 Flash-Lite バッチ処理サンプル

動作環境: Python 3.11+, asyncio対応
注意: APIレート制限(Free: 15req/min、Pay-as-you-go: 1000req/min)を確認すること
"""

import asyncio
import google.generativeai as genai
import os
from typing import list

genai.configure(api_key=os.environ["GEMINI_API_KEY"])

async def process_single(model, text: str, semaphore: asyncio.Semaphore) -> str:
    """セマフォで同時リクエスト数を制御"""
    async with semaphore:
        # 同期APIを非同期で実行
        loop = asyncio.get_event_loop()
        response = await loop.run_in_executor(
            None,
            lambda: model.generate_content(f"以下を要約してください(100字以内):n{text}")
        )
        return response.text

async def batch_process(texts: list[str], max_concurrent: int = 10) -> list[str]:
    """
    複数テキストを並列処理

    Args:
        texts: 処理対象テキストのリスト
        max_concurrent: 同時処理数(デフォルト10)
    """
    model = genai.GenerativeModel("gemini-3.1-flash-lite-preview")
    semaphore = asyncio.Semaphore(max_concurrent)

    tasks = [process_single(model, text, semaphore) for text in texts]
    results = await asyncio.gather(*tasks, return_exceptions=True)

    # エラーをフィルタリング
    return [r if isinstance(r, str) else f"Error: {r}" for r in results]

# 使用例
if __name__ == "__main__":
    sample_texts = [f"サンプルテキスト{i}: AIエージェントに関する内容..." for i in range(50)]
    results = asyncio.run(batch_process(sample_texts, max_concurrent=10))
    print(f"処理完了: {len(results)}件")

ユースケース3: Thinkingモードを活用した段階的推論

Flash-Liteの新機能である「Thinkingモード」は、AI Studio/Vertex AI上で利用可能だ。単純なリクエストには不要だが、多段階の論理が必要なタスクで精度を上げられる。

"""
Gemini 3.1 Flash-Lite Thinking Mode(Vertex AI経由)

動作環境: Python 3.11+, google-cloud-aiplatform>=1.70.0
注意: Vertex AI利用にはGCPプロジェクトとIAM権限設定が必要
"""

from google.cloud import aiplatform
from google.cloud.aiplatform.gapic import PredictionServiceClient
import vertexai
from vertexai.generative_models import GenerativeModel, GenerationConfig

# プロジェクト設定(環境変数推奨)
PROJECT_ID = os.environ["GCP_PROJECT_ID"]
LOCATION = "us-central1"

vertexai.init(project=PROJECT_ID, location=LOCATION)

model = GenerativeModel(
    "gemini-3.1-flash-lite-preview",
    generation_config=GenerationConfig(
        temperature=1.0,  # Thinkingモードでは1.0推奨
        thinking_config={"thinking_budget": 1024}  # 思考トークン上限
    )
)

response = model.generate_content(
    "AIエージェントのメモリ設計において、短期・長期・エピソード記憶の使い分けをどう決めるべきか、理由とともに説明してください"
)

print(response.text)

よくある誤解

「Flash-Liteは精度が低い」

前世代(Gemini 2.5 Flash)と比較すれば精度は向上している。ただしGemini 3.1 ProやClaude Opus相当のベンチマークスコアは期待しないこと。軽量モデルの位置づけは変わらない。

「Proより安い」

Flash-LiteはGemini 3.1 Proより安いが、前世代の2.5 Flashより高い。「安さ」を強調する記事の多くは3.1 Pro比較なので注意。用途に応じて2.5 Flash(低コスト重視)と3.1 Flash-Lite(低レイテンシ重視)を使い分けるべきだ。

「チャットアプリにはProの方がいい」

単純なQ&Aや要約、データ抽出のような定型的なタスクであれば、Flash-Liteの速度と低コストの方がユーザー体験を大きく改善できる。Proが必要なのは、複雑な推論や長文コンテキストが必要な場合だ。

結局どうすればいいのか

以下の判断フローで選択してほしい。

  • レイテンシ最優先 + コスト許容 → Flash-Liteを試す
  • コスト最優先 + 速度は二の次 → Gemini 2.5 Flashが依然有力
  • 精度最優先 + スループット重要 → Gemini 3.1 Flash(Lite非対応の機能が必要か確認)
  • 精度最優先 + コスト度外視 → Gemini 3.1 Proまたは他のフロンティアモデル

実際の選定にあたっては、自分のユースケースで各モデルにA/Bテストをかけることが一番確実だ。Gemini API Developer Consoleでは無料枠の範囲でテストできるので、まずはコードを試してみてほしい。

AIエージェントにおけるモデル選定全般については、AIエージェントツール比較ガイドも参照してほしい。フロンティアモデルとの使い分けについてはAIエージェント構築完全ガイドでも解説している。

実装に関するご相談は お問い合わせフォーム からどうぞ。

出典


この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年4月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事