GEMINI LABEN
LOGS — Interactions APIの開発者ログがGoogle AI Studioのダッシュボードで閲覧できるようになりました。対応する呼び出しのログをそのまま確認できますOMNI — Gemini Omni Flashが公開プレビューで登場。テキストや静止画から720pの3〜10秒動画を生成でき、会話形式での動画編集にも対応しますNANO — Nano Banana 2 Liteが登場。Geminiの画像モデルの中で最速・最も低コストと位置づけられ、大量生成やコスト重視の用途に向きますSSRF — Gemini Enterprise Agent PlatformのAgent Studioで、7月1日以前に作成されたアプリに影響するSSRF脆弱性が修正されましたSTUDIO — Google AI StudioからGemini Omni FlashをAPI経由で試せます。動的な動画ワークフローを自作できますVERTEX — Vertex AIのリリースノートが更新を続け、生成AI機能の追加が進んでいますLOGS — Interactions APIの開発者ログがGoogle AI Studioのダッシュボードで閲覧できるようになりました。対応する呼び出しのログをそのまま確認できますOMNI — Gemini Omni Flashが公開プレビューで登場。テキストや静止画から720pの3〜10秒動画を生成でき、会話形式での動画編集にも対応しますNANO — Nano Banana 2 Liteが登場。Geminiの画像モデルの中で最速・最も低コストと位置づけられ、大量生成やコスト重視の用途に向きますSSRF — Gemini Enterprise Agent PlatformのAgent Studioで、7月1日以前に作成されたアプリに影響するSSRF脆弱性が修正されましたSTUDIO — Google AI StudioからGemini Omni FlashをAPI経由で試せます。動的な動画ワークフローを自作できますVERTEX — Vertex AIのリリースノートが更新を続け、生成AI機能の追加が進んでいます
記事一覧/高度な活用
高度な活用/2026-04-07上級

Gemini 2.5 Flash Thinking — 思考プロセスの可視化と高度推論を本番システムに組み込む

Gemini 2.5 Flash Thinking Experimental の思考トレース機能・高度推論能力をAPIから活用する完全ガイド。コスト最適化・思考バジェット設定・ストリーミング対応まで実装例付きで解説します。

Gemini 2.5 Flash5Thinking3推論4思考トレースGoogle AI15Gemini API192プロダクション6

プレミアム記事

2025年後半から2026年にかけて、Google の「Thinking」モデルシリーズは急速に実用段階に達しました。Gemini 2.5 Flash Thinking は、軽快なレスポンス速度を保ちながら「推論」を行うモデルです。単に答えを返すのではなく、内部で思考プロセスを実行し、その過程を API から取得できるという点が最大の特徴です。

Gemini 2.5 Flash Thinking とは何か

通常の言語モデルは「入力 → 出力」の1ステップで回答を生成します。Thinking モデルは、その前に「内部推論(internal reasoning)」のステップを実行します。

具体的には、問いに対して「どのように考えるべきか」「どの情報が重要か」「矛盾はないか」といった思考プロセスを内部で展開してから最終的な回答を生成します。この思考トレースは thoughtsContent として API から取得できます。

使うべきシーン:

  • 複雑な数学的証明や計算問題
  • 多段階のロジックが必要なコード生成・デバッグ
  • 情報の矛盾を検出するファクトチェック
  • 複数の選択肢を比較・評価する意思決定支援

通常モードで十分なシーン:

  • シンプルな Q&A や情報検索
  • 短いテキスト要約・翻訳
  • テンプレートベースのコンテンツ生成

基本的な実装

Python SDK での実装

import google.generativeai as genai
 
genai.configure(api_key="YOUR_GEMINI_API_KEY")
 
# Gemini 2.5 Flash Thinking モデルを使用
model = genai.GenerativeModel(
    model_name="gemini-2.5-flash-thinking-exp-01-21",
)
 
# 思考プロセスを含む応答を取得
response = model.generate_content(
    "次の数列のn番目の一般項を求めて、その導出過程を説明してください: 1, 4, 9, 16, 25, ...",
    generation_config=genai.types.GenerationConfig(
        # thinking_config で思考を有効化
    )
)
 
# 通常の応答テキスト
print("=== 最終回答 ===")
print(response.text)
 
# 思考トレース(候補が複数ある場合は candidates[0])
if response.candidates[0].content.parts:
    for part in response.candidates[0].content.parts:
        if hasattr(part, 'thought') and part.thought:
            print("\n=== 思考プロセス ===")
            print(part.text)

TypeScript / Node.js での実装

import { GoogleGenerativeAI } from '@google/generative-ai';
 
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
 
const model = genAI.getGenerativeModel({
  model: 'gemini-2.5-flash-thinking-exp-01-21',
});
 
interface ThinkingResponse {
  thoughts: string;
  answer: string;
  inputTokens: number;
  outputTokens: number;
  thinkingTokens: number;
}
 
const generateWithThinking = async (
  prompt: string
): Promise<ThinkingResponse> => {
  const result = await model.generateContent(prompt);
  const response = result.response;
 
  let thoughts = '';
  let answer = '';
 
  for (const part of response.candidates?.[0]?.content?.parts ?? []) {
    if ('thought' in part && part.thought) {
      thoughts += part.text ?? '';
    } else {
      answer += part.text ?? '';
    }
  }
 
  const usage = response.usageMetadata;
 
  return {
    thoughts,
    answer,
    inputTokens: usage?.promptTokenCount ?? 0,
    outputTokens: usage?.candidatesTokenCount ?? 0,
    thinkingTokens: usage?.thoughtsTokenCount ?? 0,
  };
};
 
// 使用例
const result = await generateWithThinking(
  "Pythonコードのバグを特定して修正してください:\n\ndef fibonacci(n):\n    if n <= 0:\n        return []\n    elif n == 1:\n        return [0]\n    seq = [0, 1]\n    for i in range(2, n):\n        seq.append(seq[i-1] + seq[i-2])\n    return seq\n\nprint(fibonacci(0))  # 期待値: []\nprint(fibonacci(1))  # 期待値: [0]\nprint(fibonacci(5))  # 期待値: [0, 1, 1, 2, 3]"
);
 
console.log('思考プロセス:', result.thoughts);
console.log('最終回答:', result.answer);
console.log(`思考トークン: ${result.thinkingTokens}`);

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

この記事の続きを読む

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

この記事で得られること
Gemini 2.5 Flash Thinking の思考バジェット(thinkingBudget)を制御してコストと推論品質をバランスさせる設計を今日から実現できる
ストリーミング対応の思考トレース実装 — ユーザーに「考えている様子」をリアルタイムで見せるUX
複雑な数学・コード・多ステップ推論タスクで Thinking モードが最大効果を発揮するユースケース設計を今日から実現できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

高度な活用2026-07-04
Gemini 3 × Function Calling + Built-in Tools + Context Circulation: プロダクション向けマルチツールエージェント設計と実装
Gemini 3の最新ツール機能を深掘り。Built-in ToolsとFunction Callingの組み合わせ、Context Circulation、並列ツール呼び出しIDによる本番エージェント設計を、実測とつまずきの記録を交えて解説します。
高度な活用2026-07-03
夜間バッチが朝の 429 を連れてくる — 1 プロジェクト内で対話機能の Gemini クォータを守る優先度つきアドミッション制御
同一プロジェクトの RPM/TPM をバルク処理と対話機能が奪い合う問題を、機能タグつき計測と優先度つきトークンバケットで解消した設計と実測を記録します。429率3.2%→0.03%。
高度な活用2026-03-25
Gemini API で構築する自動収益化インフラ — マルチモーダル×Function Callingで実現する6つの収益エンジン
Gemini APIのマルチモーダル処理・Function Calling・コンテキストキャッシュを活用した6つの自動収益化エンジンの設計・実装・運用を網羅的に解説。SaaS・API・コンテンツ・データ分析・Workspace連携・教育の全パイプラインを構築します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →