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' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.5-flash",
"input": "Explain how parallel agentic execution works in three sentences."
}'
最新情報
- 最先端のパフォーマンスを維持: 最もインテリジェントな Flash モデルで、大規模なエージェント タスクとコーディング タスクに最適化されています。
- エージェント実行: サブエージェントのデプロイ、問題解決、大規模な高速エージェント ループ。
- コーディング: 反復的なコーディング サイクル、迅速な探索、プロトタイピングにより、代替パスをテストし、ソリューションを動的に探索できます。
- 長期的なタスク: 大規模な複数ステップのワークフローとツールの使用。
- 思考の保持: モデルは、マルチターンの会話全体で中間推論を自動的に保持します。API の変更は必要ありません。
- 新しいデフォルトの取り組みレベル: デフォルトの思考の取り組みが
highからmediumに変更されました。詳細については、新しいデフォルトの取り組みレベルをご覧ください。 lowの思考の改善:lowが大幅に改善され、コード とエージェント タスクで、ステップ数が少なく、低 レイテンシと低コストで高品質を実現できるようになりました。- 一般提供リリース: 大規模な本番環境での使用に適した安定版モデル。
動作の変更点
新しいデフォルトの取り組みレベル: medium
デフォルトの思考の取り組みが、Gemini 3
Flash プレビュー版の high から medium に変更されました。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' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.5-flash",
"input": "Prove that the square root of 2 is irrational.",
"generation_config": {"thinking_level": "high"}
}'
思考の保持
モデルは、マルチターンの会話全体で中間推論を自動的に保持します。会話履歴に存在する場合、推論コンテキストが引き継がれるため、反復デバッグやコード リファクタリングなどの複雑な複数ステップのタスクのパフォーマンスが向上します。API の変更は必要ありません。
- Interactions API: 思考は自動的に保持されます。動作に変更はありません。
- GenerateContent API: Gemini 3.5 Flash 以降では、会話履歴に思考シグネチャが存在する場合、モデルは以前のすべてのターンの
推論コンテキストを使用します。これを有効にするには、完全な
会話履歴(
思考シグネチャを含む)を
contentsで渡します。 SDK が自動的に処理します。
Gemini 3.x のパラメータの更新とベスト プラクティス
以下は、Gemini 3.5 Flash を含むすべての Gemini 3.x モデル に適用されます。
temperature、top_p、top_k: デフォルト値を変更しないことを強くおすすめします。Gemini 3 の推論機能は、デフォルト設定に最適化されています。thinking_budgetではなくthinking_levelを使用します。- 関数呼び出しレスポンスのマッチング:
id、name、レスポンス数 は、前の呼び出しと一致する必要があります。 - マルチモーダル関数レスポンス: マルチモーダル コンテンツは、 関数レスポンスの外部ではなく、内部に含めます。
- 関数レスポンスのインライン指示: 個別の部分としてではなく、関数 レスポンス テキストに追加します。
- 不要なツール呼び出しを減らす: 思考レベルを下げたり、 システム指示を試したりして、エージェント ワークフローでのツール呼び出しを減らします。
コードを更新する方法については、以下のセクションをご覧ください。
サンプリング パラメータ(非推奨)
temperature、top_p、top_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"},
}
使用可能な値: minimal、low、medium(デフォルト)、high。
関数呼び出し: 厳密なレスポンス マッチング
Interactions API では、関数レスポンスが一致しない場合、すでにエラーが発生しています。GenerateContent API ではまだエラーは発生しませんが、レスポンスが一致しない場合、ほとんどの場合、モデルは finish_reason: STOP の空のレスポンスを返します。常に次の規則に従ってください。
| 要件 | 詳細 |
|---|---|
id を含める |
すべての FunctionResponse に、対応する FunctionCall の id を含める必要があります。 |
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' \
-H "Api-Revision: 2026-05-20" \
-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 つの方法で最小限に抑えることができます。
まず思考レベルを下げる (
medium、low、minimal): 思考レベルが高いほど、モデルは探索と検証に多くのツールを使用するようになります。そのため、レベルを下げることでツール呼び出しを減らすことができます。システム指示を追加する: 思考レベルを調整しても過剰な使用が続く場合は、ツールの使用を制限するプロンプトを検討してください。次に例を示します。
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-preview→gemini-3.5-flash - 料金を確認する。Gemini 3.5 Flash は、Gemini 3 Flash プレビュー版よりも高価です。詳細については、料金ページをご覧ください。
- 構成から
temperature、top_p、top_kを削除します(非推奨)。 thinking_budgetをthinking_levelに置き換えます。- すべての
FunctionResponse部分にidと一致するnameを追加します。 - プロンプトをテストします。デフォルトの取り組みが
high→mediumに変更されました。品質、速度、コストを確認してください。 - 思考の保持がデフォルトで有効になりました。推論コンテキストがターン間で引き継がれるため、パフォーマンスは向上しますが、トークンの使用量が増加する可能性があります。
- 不要なツール呼び出しを減らす: まず思考レベルを下げる(
medium、low、minimal)。過剰な使用が続く場合は、ツールの使用を制限するシステム指示を追加します。 - コンピュータの使用は、現時点では 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 を引き続き使用してください。
Gemini 3 ファミリーの機能
Gemini 3.5 Flash は、コンピュータの使用を除くすべての Gemini 3 ファミリーの機能を継承しています。 Gemini 3 で導入された機能は次のとおりです。
- 思考: API 呼び出し全体で暗号化された 推論コンテキストが保持されます。Interactions API では自動的に行われます。GenerateContent では暗黙的に行われます。
- ツールを使用した構造化出力: JSON モードと 組み込みツール(検索、URL コンテキスト、コード実行、関数呼び出し)を組み合わせます。
- マルチモーダル関数レスポンス: 関数呼び出しの結果で 画像、音声、その他のメディアを返します。
- 画像を使用したコード実行: 画像を 処理して生成するコードを実行します。
- **ツールの組み合わせ**: 同じリクエストで組み込みツールと カスタム関数呼び出しを使用します。
次のステップ
- Gemini 3 デベロッパー ガイドで Gemini 3 ファミリーの詳細を確認する
- プロンプト エンジニアリング ガイドでプロンプト設計戦略の詳細を確認する。
- Gemini 3 クックブックを使ってみる
- Gemini API の最適化と推論について学習する