Gemini 3.5 Flash の新機能

Gemini 3.5 Flash は一般提供(GA)されており、安定していて、大規模な 本番環境での使用に対応しています。最もインテリジェントな Flash モデルとして、エージェント実行、コーディング、長期的なタスクで、最先端のパフォーマンスを大規模に実現します。

このガイドでは、Gemini 3.5 Flash の改善点、API の変更点、移行ガイドの概要について説明します。

新しいモデル

モデル モデル ID 説明
Gemini 3.5 Flash gemini-3.5-flash エージェント タスクとコーディング タスクで最先端のパフォーマンスを維持するための最もインテリジェントなモデル。

Gemini 3.5 Flash は、100 万トークンのコンテキスト ウィンドウ、最大 65,000 トークンの出力トークン、思考、Gemini 3 Flash と同じツールとプラットフォーム機能をサポートしています。 コンピュータの使用は現時点ではサポートされていません。

完全な仕様については、モデルの概要をご覧ください。 料金については、料金ページをご覧ください。

クイックスタート

このガイドの例はすべて、Interactions API を使用しています。GenerateContent API もサポートされています。同じ構成オプションと推奨事項が適用されます。

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.5-flash",
    input="Explain how parallel agentic execution works in three sentences."
)
print(interaction.output_text)

JavaScript

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

const client = new GoogleGenAI({});

async function main() {
  const interaction = await client.interactions.create({
    model: "gemini-3.5-flash",
    input: "Explain how parallel agentic execution works in three sentences.",
  });
  console.log(interaction.output_text);
}

main();

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3.5-flash",
    "input": "Explain how parallel agentic execution works in three sentences."
  }'

最新情報

  • 最先端のパフォーマンスを維持: 最もインテリジェントな Flash モデル。大規模なエージェント タスクとコーディング タスク向けに最適化されています。
  • エージェント実行: サブエージェントのデプロイ、問題解決、大規模な高速エージェント ループ。
  • コーディング: 反復的なコーディング サイクル、迅速な探索、プロトタイピングにより、代替パスをテストし、ソリューションを動的に探索できます。
  • 長期的な視点: 大規模な複数ステップのワークフローとツールの使用。
  • 思考の保持: モデルは、マルチターンの会話全体で中間推論を自動的に維持します。API の変更は必要ありません。
  • 新しいデフォルトの労力レベル: デフォルトの思考労力が high から medium に変更されました。詳細については、新しいデフォルトの労力レベルをご覧ください。
  • low 思考の改善: low が大幅に改善され、ステップ数が少ないコード とエージェント タスクで、低 レイテンシと低コストで高品質を実現できるようになりました。
  • 一般提供リリース: 大規模な本番環境での使用に対応した安定版モデル。

適切な Flash モデルを選択する

Gemini 3.5 Flash は、最もインテリジェントで高性能な Flash モデルです。ただし、ユースケースによって費用とレイテンシの要件が異なる場合があります。

  • Gemini 3.1 Flash-Lite: 3.5 Flash の高度な推論の深さを必要としない、低コストで 大量のタスクには、Gemini 3.1 Flash-Liteを使用することをおすすめします。 効率性を重視して最適化された、安定した長期的なモデルです。詳細については、 Flash-Lite デベロッパー ガイド をご覧ください。
  • Gemini 3 Flash プレビュー: GA の安定性と推論の改善のために 3.5 Flash への移行をおすすめしますが、Gemini 3 Flash(プレビュー)も引き続きご利用いただけます。

動作の変更点

新しいデフォルトの労力レベル: medium

デフォルトの思考労力が high から medium に変更されました(Gemini 3 Flash プレビュー)。medium は、幅広いタスクで非常に優れた結果が得られ、高速かつ費用対効果に優れています。複雑な問題の場合、high を使用すると、モデルがより深く思考するようになります。

労力レベル 使用する場面
minimal レスポンス速度を重視して最適化されています。チャットのようなユースケース、事実に基づく迅速な回答、シンプルなツール呼び出し。
low 低レイテンシと少ないステップ数を必要とするコードとエージェント タスク。思考が必要な分析タスクや書き込みタスクにも適しています。
medium(デフォルト) ほとんどのタスクで最高の品質を実現します。複雑なコードとエージェントのユースケースにおすすめします。
high モデルの思考能力とツール使用能力を最大限に高めます。複雑な推論、難しい数学、最も難しいコードやエージェント タスクに最適です。思考と関数呼び出しを拡張できます。

デフォルトをオーバーライドするには、構成で thinking_level を設定します。

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.5-flash",
    input="Prove that the square root of 2 is irrational.",
    generation_config={"thinking_level": "high"},
)
print(interaction.output_text)

JavaScript

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

const client = new GoogleGenAI({});

async function main() {
  const interaction = await client.interactions.create({
    model: "gemini-3.5-flash",
    input: "Prove that the square root of 2 is irrational.",
    generationConfig: { thinkingLevel: "high" },
  });
  console.log(interaction.output_text);
}

main();

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3.5-flash",
    "input": "Prove that the square root of 2 is irrational.",
    "generation_config": {"thinking_level": "high"}
  }'

次の表に、モデルごとにサポートされている思考レベルを示します。

思考レベル Gemini 3.5 Flash Gemini 3.1 Pro Gemini 3.1 Flash-Lite Gemini 3 Flash 説明
minimal サポート対象 サポート対象外 サポート対象(デフォルト) サポート対象 ほとんどのクエリで「思考なし」の設定と一致します。なお、minimal は思考がオフになっていることを保証するものではありません。複雑なタスクでは、モデルが最小限の推論を行うことがあります。
low サポート対象 サポート対象 サポート対象 サポート対象 レイテンシと費用を最小限に抑えます。
medium サポート対象(デフォルト) サポート対象 サポート対象 サポート対象 ほとんどのタスクでバランスの取れた思考。
high サポート対象(動的) サポート対象(デフォルト、動的) サポート対象(動的) サポート対象(デフォルト、動的) 推論の深さを最大化します。

思考の保持

モデルは、マルチターンの会話全体で中間推論を自動的に維持します。会話履歴に存在する場合、推論コンテキストが引き継がれるため、反復デバッグやコード リファクタリングなどの複雑な複数ステップのタスクのパフォーマンスが向上します。API の変更は必要ありません。

  • Interactions API: 思考はすでに自動的に保持されています。動作に変更はありません。
  • GenerateContent API: Gemini 3.5 Flash 以降では、会話履歴に思考シグネチャが存在する場合、モデルは以前のすべてのターンの 推論コンテキストを使用します。これを有効にするには、完全な 会話履歴( 思考シグネチャを含む)を contents で渡します。 SDK が自動的に処理します。

Gemini 3.x のパラメータの更新とベスト プラクティス

以下は、Gemini 3.5 Flash を含むすべての Gemini 3.x モデル に適用されます。

  • temperaturetop_ptop_k: デフォルト値を変更しないことを強くおすすめします。Gemini 3 の推論機能は、デフォルト設定用に最適化されています。
  • thinking_budget ではなく thinking_level を使用します。
  • 関数呼び出しレスポンスのマッチング: idname、レスポンス数 は、前の呼び出しと一致する必要があります。
  • マルチモーダル関数レスポンス: マルチモーダル コンテンツを 関数レスポンスの外部ではなく内部に含めます。
  • 関数レスポンスのインライン指示: 個別の部分としてではなく、関数 レスポンス テキストに追加します。
  • 不要なツール呼び出しを減らす: 思考レベルを下げるか、 システム指示を試して、エージェント ワークフローでのツール呼び出しを減らします。

コードを更新する方法については、以下のセクションをご覧ください。

サンプリング パラメータ(非推奨)

temperaturetop_ptop_k は、すべての Gemini 3.x モデルで非推奨になりました。Gemini 3 の推論機能は、デフォルト設定用に最適化されています。すべてのリクエストからこれらのパラメータを削除してください。

# ⚠️ Remove these parameters (not recommended)
generation_config = {
    "temperature": 0.7,
    "top_p": 0.9,
    "top_k": 40,
}

決定性を確保するには、特定のユースケースの明示的なルールを使用してシステム指示を定義することをおすすめします。

thinking_budget(非推奨)

生の数値 thinking_budget パラメータは、すべての Gemini 3.x モデルで非推奨になりました。代わりに、thinking_level 文字列列挙型を使用してください。

# ⚠️ Before (not recommended)
generation_config = {
    "thinking": {"thinking_budget": 7500},
}

# ✅ After
generation_config = {
    "thinking": {"thinking_level": "medium"},
}

使用可能な値: minimallowmedium(デフォルト)、high

関数呼び出し: 厳密なレスポンス マッチング

Interactions API では、関数レスポンスが一致しない場合にエラーが発生します。GenerateContent API ではまだエラーは発生しませんが、レスポンスが一致しない場合、ほとんどのケースでモデルは finish_reason: STOP の空のレスポンスを返します。常に次の規則に従ってください。

要件 詳細
id を含む すべての FunctionResponse に、対応する FunctionCallid を含める必要があります。
name を一致させる レスポンスの name は、呼び出しの name と一致する必要があります。
一致数 受信した FunctionCall ごとに 1 つの FunctionResponse を返します。

Python

# ✅ Include matching call_id and name in the function_result
final_interaction = client.interactions.create(
    model="gemini-3.5-flash",
    previous_interaction_id=interaction.id,
    tools=[my_tool],
    input=[{
        "type": "function_result",
        "name": fc_step.name,
        "call_id": fc_step.id,
        "result": [{"type": "text", "text": json.dumps(result)}],
    }],
)

JavaScript

// ✅ Include matching call_id and name in the function_result
const finalInteraction = await client.interactions.create({
  model: "gemini-3.5-flash",
  previousInteractionId: interaction.id,
  tools: [myTool],
  input: [{
    type: "function_result",
    name: fcStep.name,
    call_id: fcStep.id,
    result: [{ type: "text", text: JSON.stringify(result) }],
  }],
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3.5-flash",
    "previous_interaction_id": "<INTERACTION_ID>",
    "tools": [...],
    "input": [{
      "type": "function_result",
      "name": "my_function",
      "call_id": "<CALL_ID>",
      "result": [{"type": "text", "text": "..."}]
    }]
  }'

マルチモーダル関数レスポンス

クライアントが関数レスポンスの外部に画像を提供することがよくあります。これにより、モデルの動作が予期しないものになり(思考の漏洩など)、出力の品質が低下する可能性があります。代わりに、 マルチモーダル関数レスポンス API ドキュメント の推奨事項に従い、 モデルに送信する関数レスポンス部分にマルチモーダル コンテンツを含めます。モデルは、次のターンでこのマルチモーダル コンテンツを処理して、より多くの情報に基づいたレスポンスを生成できます。

Python

# ✅ Include multimodal content in the function response
final_interaction = client.interactions.create(
    model="gemini-3.5-flash",
    previous_interaction_id=interaction.id,
    input=[
        {
            "type": "function_result",
            "name": tool_call.name,
            "call_id": tool_call.id,
            "result": [
                {"type": "text", "text": "instrument.jpg"},
                {
                    "type": "image",
                    "mime_type": "image/jpeg",
                    "data": base64_image_data,
                },
            ],
        }
    ],
)

JavaScript

// ✅ Include multimodal content in the function response
const finalInteraction = await client.interactions.create({
  model: "gemini-3.5-flash",
  previousInteractionId: interaction.id,
  input: [{
    type: "function_result",
    name: toolCall.name,
    call_id: toolCall.id,
    result: [
      { type: "text", text: "instrument.jpg" },
      {
        type: "image",
        mime_type: "image/jpeg",
        data: base64ImageData,
      },
    ],
  }],
});

関数レスポンスのインライン指示

クライアントが、後続の Parts として関数レスポンスとともに追加の指示を提供することがよくあります。これにより、モデルの動作が予期しないものになり(思考の漏洩など)、出力の品質が低下する可能性があります。代わりに、追加の指示を関数レスポンス テキストの末尾に 2 つの改行で区切って追加します。個別の部分として追加しないでください。

Python

# ✅ Append inline instructions to the end of the function response separated by two newlines
result_text = f"{json.dumps(result)}\n\n<your inline instructions>"

final_interaction = client.interactions.create(
    model="gemini-3.5-flash",
    previous_interaction_id=interaction.id,
    tools=[my_tool],
    input=[{
        "type": "function_result",
        "name": fc_step.name,
        "call_id": fc_step.id,
        "result": [{"type": "text", "text": result_text}],
    }],
)

JavaScript

// ✅ Append inline instructions to the end of the function response separated by two newlines
const resultText = `${JSON.stringify(result)}\n\n<your inline instructions>`;

const finalInteraction = await client.interactions.create({
  model: "gemini-3.5-flash",
  previousInteractionId: interaction.id,
  tools: [myTool],
  input: [{
    type: "function_result",
    name: fcStep.name,
    call_id: fcStep.id,
    result: [{ type: "text", text: resultText }],
  }],
});

不要なツール呼び出しを減らす

ツール呼び出しが過剰に使用されている場合は、次の 2 つの方法で最小限に抑えることができます。

  1. まず、思考レベルを下げますmediumlowminimal)。思考レベルが高いほど、モデルはより多くのツールを使用して探索と検証を行うため、レベルを下げることでツール呼び出しを減らすことができます。

  2. システム指示を追加する: 思考レベルを調整しても過剰な使用が続く場合は、ツールの使用を制限するプロンプトを検討してください。次に例を示します。

    You have a limited action budget of <n> tool calls. Use them efficiently.
    

移行チェックリスト

を実行します。

google-genai SDK v2.0.0 以降に更新することを強くおすすめします。このバージョンでは、Interactions API に互換性を破る変更が導入されています。詳細については、 互換性を破る変更の移行ガイドをご覧ください。

Gemini 3 Flash プレビューから移行する

  • モデル名を更新します: gemini-3-flash-previewgemini-3.5-flash
  • 料金を確認します。Gemini 3.5 Flash は Gemini 3 Flash プレビューよりも高価です。ユースケースで費用が重視される場合は、代わりに Gemini 3.1 Flash-Lite への移行を検討してください。詳細については、料金ページをご覧ください。
  • 構成から temperaturetop_ptop_k を削除します(非推奨)。
  • thinking_budgetthinking_level に置き換えます。
  • すべての FunctionResponse 部分に id と一致する name を追加します。
  • プロンプトをテストします。デフォルトの労力が highmedium に変更されました。品質、速度、費用を確認してください。
  • 思考の保持がデフォルトでオンになりました。推論コンテキストがターン間で引き継がれるため、パフォーマンスは向上しますが、トークンの使用量が増加する可能性があります。
  • 不要なツール呼び出しを減らします。まず、思考レベル(mediumlowminimal)を下げます。過剰な使用が続く場合は、ツールの使用を制限するシステム指示を追加します。
  • コンピュータの使用は、現時点では Gemini 3.5 Flash でサポートされていません。コンピュータの使用ワークロードでは、Gemini 3 Flash プレビューを引き続き使用してください。

Gemini 2.5 から移行する

上記のすべてに加えて、次の操作を行います。

  • プロンプトを簡素化します。思考連鎖プロンプト エンジニアリングを使用して 推論を強制していた場合は、代わりにシンプルなプロンプト で thinking_level: "medium" または "high" を試してください。
  • PDF とメディアのワークロードをテストします。高密度ドキュメントの解析で特定の動作に依存していた場合は、新しい media_resolution_high 設定をテストして、精度が維持されることを確認してください。Gemini 3 のデフォルトに移行すると、PDF のトークン使用量が増加する可能性がありますが、動画のトークン使用量は減少する可能性があります。リクエストがコンテキスト ウィンドウを超える場合は、media_resolution を明示的に減らします。詳細については、 メディアの解像度のドキュメントを ご覧ください。
  • 組み合わせたツールの使用を活用します。Google 検索、URL コンテキスト、コード実行、カスタム関数は、同じリクエストで使用できます。
  • マルチモーダル関数レスポンスを使用する場合は、マルチモーダル コンテンツを関数レスポンス部分の内部に移動します。並列に配置しないでください。
  • 関数レスポンスでインライン指示を使用する場合は、個別の部分としてではなく、2 つの改行で区切って関数レスポンス テキストに追加します。
  • Gemini 3.x では、画像セグメンテーションはサポートされていません。セグメンテーション ワークロードでは、思考をオフにした Gemini 2.5 Flash または Gemini Robotics-ER 1.6 を引き続き使用してください。
  • 構成から candidate_count を削除します(Gemini 3.x ではサポートされていません)。

Gemini 3 ファミリーの機能

Gemini 3.5 Flash は、コンピュータの使用を除くすべての Gemini 3 ファミリーの機能を継承しています。 Gemini 3 で導入され、引き継がれる機能は次のとおりです。

  • 思考: API 呼び出し全体で保持される暗号化された 推論コンテキスト。Interactions API では自動。GenerateContent では暗黙的。
  • ツールを使用した構造化出力: JSON モードと 組み込みツール(検索、URL コンテキスト、コード実行、関数呼び出し)を組み合わせます。
  • マルチモーダル関数レスポンス: 関数呼び出しの結果で 画像、音声、その他のメディアを返します。
  • 画像を使用したコード実行: 画像を 処理して生成するコードを実行します。
  • 組み合わせたツールの使用: 同じリクエストで組み込みツールと カスタム関数呼び出しを使用します。
  • メディアの解像度: 画像、動画、PDF 入力のトークン割り当てを細かく制御します。 Gemini 3 モデルは、混合忠実度プロンプトのコンテンツ アイテムごとの解像度設定(low, medium, high, ultra_high)をサポートしています。
  • 思考シグネチャ: モデルの内部推論を暗号化したもの。ステートレス モードでのマルチターンの関数呼び出しに必要です。Interactions API と公式 SDK によって自動的に管理されます。

プロンプトのベスト プラクティス

Gemini 3.x モデルは推論モデルであるため、プロンプトの作成方法が変わります。

  • 正確な指示: 簡潔にしてください。Gemini 3.x は、明確で直接的な指示に最適に応答します。古いモデル向けに設計された冗長または複雑なプロンプト エンジニアリング手法では、モデルが過剰に分析する可能性があります。
  • 出力の冗長性: デフォルトでは、Gemini 3 と 3.1 は冗長性が低く、直接的で効率的な回答を好みます。ユースケースで会話調のトーンが必要な場合は、プロンプトでモデルを明示的に誘導します(例: 「親しみやすく、おしゃべりなアシスタントとして説明してください」)。
  • コンテキスト管理: 大規模なデータセット(書籍全体、コードベース、長い動画など)を扱う場合は、データ コンテキストの後に、プロンプトの末尾に具体的な指示や質問を配置します。「上記の情報を基に...」などのフレーズで質問を開始して、モデルの推論を固定します。

プロンプト設計戦略の詳細については、 プロンプト エンジニアリング ガイドをご覧ください。

制限事項

  • Gemini 3.x では、画像セグメンテーションはサポートされていません。セグメンテーション ワークロードでは、思考をオフにした Gemini 2.5 Flash または Gemini Robotics-ER 1.6 を引き続き使用してください。

よくある質問

  1. Gemini 3.5 Flash のナレッジ カットオフはいつですか?Gemini 3.5 Flash のナレッジ カットオフは 2025 年 1 月です。最新情報については、 Search Grounding ツールを使用してください。

  2. コンテキスト ウィンドウの上限はどのくらいですか?Gemini 3.5 Flash は、100 万トークンの入力コンテキスト ウィンドウと最大 65,000 トークンの出力トークンをサポートしています。

  3. 古い thinking_budget コードは引き続き機能しますか?はい。下位互換性のために thinking_budget は引き続きサポートされていますが、より予測可能なパフォーマンスを得るために thinking_level への移行をおすすめします。同じリクエストで両方を使用しないでください。

  4. Gemini 3.5 Flash は Batch API をサポートしていますか?はい。詳細については、 Batch API ガイドをご覧ください。

  5. コンテキスト キャッシュ保存はサポートされていますか?はい。 コンテキスト キャッシュ保存はサポートされています。

  6. どのツールがサポートされていますか?Gemini 3.5 Flash は、 Google 検索Google マップによるグラウンディングファイル検索コード実行URL コンテキスト、および 標準の関数呼び出し組み合わせたツールの使用を含む)をサポートしています。コンピュータの使用サポートされていません (Gemini 3.5 Flash)。

次のステップ