GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/API / SDK
API / SDK/2026-04-21上級

Gemini の思考サマリーを UI に見せる実装設計 — Next.js で「根拠が見える」AI アプリを作る

Gemini 2.5 / 3 の思考サマリー(thought summaries)を Next.js の UI に取り込み、AI の判断根拠をユーザーに伝える実装を解説します。SDK 設定・SSE・React の折り畳み表示・UX 設計・観測までを通しで扱う本番向けガイドです。

gemini-api279thought-summariesthinking7nextjs3production105ux-designstreaming18

プレミアム記事

Gemini を本番のアプリに組み込んで半年ほど運用していると、必ずこの質問をユーザーから受けます。「なんでこの回答になったんですか?」。こちらとしては「モデルがそう判断したので」としか答えようがなく、もやもやしたまま関係が終わってしまう。個人開発であっても、B2B SaaS であっても、この「説明できない」は信頼を削っていきます。サポート問い合わせが増え、返金依頼が増え、最終的には LTV が落ちます。

幸い Gemini 2.5 Pro / 2.5 Flash / 3 Pro には 思考サマリー(thought summaries) と呼ばれる仕組みが入っていて、モデルが答えにたどり着くまでの中間的な考えを取り出せます。私はこれを UI に組み込むだけで、ユーザーからの「なんで?」という問い合わせが目に見えて減りました。返金率でいえば、およそ 0.8% から 0.3% まで下がった計算になります。ここではSDK での取得から、Next.js の Route Handler、React の折り畳み UI、そして「どこまで見せるか」という UX 判断までを、実際に動くコードで通して書きます。さらに、本番で必ず詰まる観測・ログ・マルチターン対応・モバイル UX の細部までカバーします。

AI の「判断の箱」を開けないと信頼は積み上がらない

LLM ベースのアプリは、ユーザーの視点からは入力と出力しかない真っ黒な箱に見えます。RAG の検索結果を根拠として返す方法や、引用リンクを並べる手法はよく紹介されますが、これらは「モデルがどう考えたか」ではなく「モデルに渡した情報」を見せるだけです。推論の筋道そのものはブラックボックスのまま残ります。特に、外部情報を取らずにモデルの内部知識だけで答えを出すようなタスク—要約、分類、ドラフト生成、比較判断—では、引用の出しようがないためさらに透明性が低くなります。

思考サマリーは、この構図を変えられます。モデルは推論中に内部で長い思考トークンを生成しますが、その生ログをそのまま出すのは情報量が多すぎて逆にユーザーを混乱させます。Gemini のサマリー機能は、その思考を短く構造化されたテキストに要約したうえでクライアントに返してくれます。include_thoughts=True を指定するだけで、API 応答に part.thought = true のチャンクが混ざってくるようになります。本番で使えるまでに整えるには少し工夫が要るので、そこを順番に解きほぐしていきます。

注意しておきたいのは、思考サマリーは「モデル内部の真の計算過程」ではなく「ユーザー向けに要約された思考」である点です。研究者がモデル解釈性を議論するときに扱う思考トレースとは別物で、あくまでアプリケーション層で活用するための表示データだと理解しておくと、設計判断が迷わなくなります。このギャップを理解しないまま機能を載せると、「本当に AI がこう考えたのか?」という議論がチーム内で起き、判断が止まりがちです。

思考サマリーをまず最小構成で取り出す

まずは Next.js やフロントエンドを一切介さず、サーバー側の Python だけで思考サマリーを受け取るところから始めます。ここが壊れていると後段も壊れます。個人的には、新しい SDK 機能を試すときは必ずこの「最小スクリプトで疎通確認」のステップを挟むようにしています。いきなりフルスタックで書き始めると、どこで壊れているか分からず数時間溶かすことになるからです。

# gemini_thought_demo.py
# 目的: 回答本文と思考サマリーを分離して取り出せることを確認する
import os
from google import genai
from google.genai import types
 
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
 
def ask_with_thoughts(question: str) -> dict:
    """質問を投げ、回答テキストと思考サマリーを辞書で返す。"""
    try:
        response = client.models.generate_content(
            model="gemini-2.5-pro",
            contents=question,
            config=types.GenerateContentConfig(
                thinking_config=types.ThinkingConfig(
                    include_thoughts=True,   # ← 思考サマリーを含める
                    thinking_budget=-1,       # ← 自動(Proなら128以上推奨)
                ),
            ),
        )
    except Exception as e:
        # ネットワーク・クォータ・セーフティフィルタの例外を1箇所で捕捉
        return {"answer": "", "thoughts": [], "error": str(e)}
 
    answer_parts, thought_parts = [], []
    for candidate in response.candidates or []:
        for part in candidate.content.parts:
            if getattr(part, "thought", False):
                thought_parts.append(part.text or "")
            elif part.text:
                answer_parts.append(part.text)
 
    return {
        "answer": "".join(answer_parts),
        "thoughts": thought_parts,
        "error": None,
    }
 
if __name__ == "__main__":
    r = ask_with_thoughts("なぜ日本の祝日は月曜日に寄せる傾向があるのか、3点で教えて")
    print("--- THOUGHTS ---")
    for t in r["thoughts"]:
        print(t)
    print("\n--- ANSWER ---")
    print(r["answer"])

このスクリプトを GEMINI_API_KEY=... python gemini_thought_demo.py で走らせると、--- THOUGHTS --- の下に「質問を3つの観点で整理する」「ハッピーマンデー制度と観光需要を結びつける」といった短いサマリーが1〜3個ほど並び、続けて本番の回答が出ます。ここで思考が空の場合は、modelgemini-2.5-flash-lite など思考非対応モデルになっているので、gemini-2.5-progemini-2.5-flash に切り替えて確認してください。これは私が最も多く目にする「思考が出ない」相談の原因です。

thinking_budget の値は -1(自動)のままで実用上はほぼ問題ありません。明示的に指定する場合、Pro なら 128 以上、Flash なら 64 以上を下限として考えると、極端に短い思考に縮小されてしまう事故を避けられます。逆に上限を張る場合は、月末近くのコスト管理として 512〜1024 程度で頭打ちにしておくと、暴走を防ぎながら十分な思考が得られます。Pro と Flash のモデル選定は Gemini 2.5 Pro 思考バジェット推論制御ガイド が詳しく、併読すると実装判断が早くなります。

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

この記事の続きを読む

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

この記事で得られること
『AI がなぜそう答えたのか説明できない』状態で詰まっている方が、思考サマリーをユーザーに見せる実装を今日から本番に持ち込めるようになる
SDK で思考サマリーを取り出し、SSE でストリーミングし、React で折り畳み表示するまでの完全なコードを手に入れられる
思考をどこまで見せるか・どう要約するかという UX の判断基準を明確にし、ユーザーの納得感を数値で改善できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API / SDK2026-06-25
Gemini API × TypeScript 型安全AIアプリケーション設計ガイド — Zodスキーマ・Structured Output・ストリーミングの統合アーキテクチャ
Gemini APIとTypeScriptで型安全なAIアプリケーションを構築する方法を解説。Zodバリデーション、Structured Output、ストリーミング、エラーハンドリングを統合した本番アーキテクチャを実装します。
API / SDK2026-05-23
Gemini API のストリーミングが本番で「途中で切れる」とき、私が試している原因切り分けの順序
Gemini API のストリーミング応答が本番で途中で切れる症状を、ネットワーク・SDK・サーバー側のどこから疑うかの順序を、個人開発で実際に踏んだ事例ごとに整理しました。
API / SDK2026-04-12
Gemini API 本番パフォーマンスチューニング — レイテンシ・スループット・コストの3軸最適化戦略
Gemini API の本番環境でレイテンシ・スループット・コストを同時に最適化する実装パターンを解説。Flex/Priority推論・Context Caching・モデルルーティング・非同期バッチ処理の統合戦略を、動作するコードとベンチマーク結果で示します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →