7月23日、Google AIが「Gemini 3.6 Flash & 3.5 Flash-Lite: Developer guide」と題した記事をdev.to/googleaiに公開した。Gemini 3.6 FlashおよびGemini 3.5 Flash-Liteの正式リリース(GA)に伴い、既存コードへの影響を伴うAPIの仕様変更・移行手順をまとめたデベロッパー向けガイドだ。本記事はGA発表の一次ソースではなく、開発者向け移行情報の整理を目的とした公式ブログ記事であることに留意されたい。
見逃せないAPI破壊的変更:temperatureが段階的に廃止へ
今回のガイドで最も実装に影響するのが、APIの仕様変更だ。Gemini 3.6 FlashおよびGemini 3.5 Flash-Lite以降、以下のパラメータが廃止対象となった。
temperaturetop_ptop_k
現時点ではAPIがこれらのパラメータを無視するだけで、エラーにはならない。ただし、将来のモデル世代ではHTTP 400エラーを返すようになる段階的な廃止スケジュールが予告されている。早期に対応しておくことで将来の移行コストを抑えられる。
# ⚠️ 将来的に400エラーとなるため削除推奨(現時点は無視されるのみ)
generation_config = {
"temperature": 0.7,
"top_p": 0.9,
"top_k": 40,
}
出力の決定性を高めたい場合は、temperatureで調整するのではなく、system_instructionにルールを明記する方式に切り替える。
もう一つの変更がprefilled model turnの禁止だ。会話履歴の末尾をmodelロールのターンで終わらせるリクエストは、即座にHTTP 400エラーになる(こちらは現時点で有効な破壊的変更)。
/* ❌ NG: contentsの末尾がmodelロール */
{
"contents": [
{"role": "user", "parts": [{"text": "Translate 'Hello world' to Spanish."}]},
{"role": "model", "parts": [{"text": "Translation:"}]}
]
}
従来、前置きテキストを抑制したりJSON形式を強制するためにこのパターンを使っていた場合は、system_instructionまたはStructured outputsに置き換える。
# ✅ 推奨: system_instructionで出力形式を指定
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="Translate 'Hello world' to Spanish.",
system_instruction="Output only the translation without introductory text.",
)
※上記コードスニペットは元記事に掲載されているサンプルをそのまま引用している。client.interactions.create()は元記事が対象とするAPIインターフェースに基づくものであり、現行のgoogle-generativeai Python SDKの標準インターフェースとは異なる場合がある。実装時は公式SDKのリファレンスも合わせて確認されたい。
2つのモデルの概要
| モデル | モデルID | デフォルトthinking | 入力価格(/1Mトークン) | 出力価格(/1Mトークン) |
|---|---|---|---|---|
| Gemini 3.6 Flash | gemini-3.6-flash |
medium | $1.50 | $7.50 |
| Gemini 3.5 Flash-Lite | gemini-3.5-flash-lite |
minimal | $0.30 | $2.50 |
両モデルとも100万トークンのコンテキストウィンドウ、最大64kの出力トークン、Computer Useを含むすべてのビルトインツールに対応する。
Gemini 3.6 Flash
コード生成・エージェント系タスク向けの強化が中心だ。
- トークン・ターン数の削減:マルチステップのワークフローを、Gemini 3.5より少ない推論ステップとツール呼び出しで完了する
- コード生成品質の向上:不要な編集やデバッグループが減少し、本番投入しやすいコードを生成
- マルチモーダル・空間推論:チャート解釈、視覚的な設計図変換、複数要素を含むWebレイアウト生成での性能が向上
- 価格:出力トークンが3.5 Flashの$9.00/1Mから**$7.50/1Mに値下がり**
注意点として、UIのビジュアルレイアウトとスタイリングについては人間評価者による評価が旧モデルより低い傾向がある。明示的なデザインガイドラインをプロンプトに含めることで緩和できるとされている。
Gemini 3.5 Flash-Lite
高スループットの大量処理向けに最適化されたモデルだ。
- 推論ベンチマーク:HLEで18.0%(旧世代比11.0%)、マルチモーダルベンチマークCharXIVで74.5%(旧世代比63.7%)
- 文書解析・構造化データ抽出の精度向上
- サブエージェント・MCP連携でのツール実行信頼性が向上
- デフォルトのthinking levelは
minimalで最大スループットを重視。自律エージェント用途ではmediumまたはhighに引き上げを推奨
移行チェックリスト(要点)
gemini-3.6-flashへの移行
- モデルIDを
gemini-3.6-flashに変更 temperature、top_p、top_kをコードから削除(現時点は無視されるが、将来のモデルで400エラーになるため早期対応を推奨)thinking_budget(数値)をthinking_level(文字列enum:"medium"or"high")に置き換えcandidate_countを削除(Gemini 3.x系で非対応)- マルチモーダルアセットをresponseペイロード内に配置
generateContentAPIを使用している場合、すべてのFunctionResponseにcall_idとnameを含める
gemini-3.5-flash-liteへの移行
- 大量抽出・分類・ルーティング用途は
thinking_level: "minimal"(デフォルト)のまま - 自律サブエージェントやマルチステップ推論が必要な場合は
"medium"または"high"に設定
なお、記事ではこれらの移行作業をAntigravityエージェントで自動化できるとも紹介されている。AntigravityはGemini Managed Agents上で動作するコーディングエージェントで、Gemini 3.6 Flashがそのデフォルトモデルにアップデートされた。/gemini-interactions-api migrate my app to Gemini 3.6 Flashのようなコマンドを入力することで、移行に必要なコード変更を自動的に提案・実行してくれるとされている。Antigravityが具体的に何者かについては、元記事内のリンク先ドキュメントに詳細が記されている。
詳細はGemini 3.6 Flash & 3.5 Flash-Lite: Developer guideを参照していただきたい。