Gemini 3.6 Flash ist ein schnelles, kostengünstiges und leistungsstarkes Modell der Gemini 3-Familie. Es bietet nahezu die agentischen Funktionen von Gemini Pro, ohne Abstriche bei Leistung oder Wert. Das Modell ist jetzt allgemein verfügbar (GA) für Entwickler, die die Gemini API verwenden, und für Unternehmen, die die Gemini Enterprise Agent Platformnutzen.
In diesem Dokument erfahren Sie, was es Neues bei Gemini 3.6 Flash gibt, wie es in die Gemini-Modellfamilie passt und wie Sie zu Gemini 3.6 Flash migrieren. Außerdem finden Sie eine Kurzanleitung zur Verwendung von Gemini 3.6 Flash.
Wie passt es in die Gemini-Familie?
Gemini 3.6 Flash ist das wichtigste agentische Modell der Gemini 3-Familie. Es schließt die Lücke zwischen den Pro-Modellen mit umfassenden Schlussfolgerungen und den Flash-Lite-Modellen mit hohem Durchsatz. Im Vergleich zu Gemini 3.5 Flash bietet Gemini 3.6 Flash eine deutlich höhere Qualität bei der mehrstufigen Tool-Orchestrierung, dem Full-Stack-Code-Refactoring und der visuellen Schlussfolgerung, während weniger Tokens und Schlussfolgerungsschritte verwendet werden. Es bietet nahezu die Funktionen von Gemini Pro mit der Geschwindigkeit und den Preisen von Gemini Flash.
Modellspezifikationen und Vergleiche
In der folgenden Tabelle werden einige der Spezifikationen von Gemini 3.6 Flash, Gemini 3.5 Flash und Gemini 3.1 Pro verglichen:
| Gemini 3.6 Flash | Gemini 3.5 Flash | Gemini 3.1 Pro | |
|---|---|---|---|
| Modell-ID | gemini-3.6-flash |
gemini-3.5-flash |
gemini-3.1-pro-preview |
| Startphase | AV | GA | Vorschau |
| Eingabetypen | Text, Bild, Audio, Video | Text, Bild, Audio, Video | Text, Bild, Audio, Video |
| Ausgabetyp(en) | Text | Text | Text |
| Verlaufszeitraum | 1.048.576 | 1.048.576 | 1.048.576 |
| Maximale Ausgabetokenlänge | 65.536 | 65.536 | 65.536 |
| Unterstützte Regionen | Global, Multiregion | Global, mehrere Regionen, Amerika, Europa, Asien-Pazifik | Global |
| Unterstützte Denkaufwände |
MINIMAL, LOW, MEDIUM, HIGH(Standard: MEDIUM)
|
MINIMAL, LOW, MEDIUM, HIGH(Standard: MEDIUM)
|
LOW, MEDIUM, HIGH(Standard: HIGH)
|
| Schwerpunkt | Hocheffiziente agentische Workflows, mehrstufige Orchestrierung und Full-Stack-Programmierung | Ausgewogene Aufgaben, Toolaufrufe und Zwischenschlüsse | Umfassende Schlussfolgerungen, hochkomplexe Aufgaben |
Auf der Modellseite zu Gemini 3.6 Flash finden Sie eine vollständige Liste der unterstützten Funktionen, Tools und Nutzungsoptionen.
Neuerungen in Gemini 3.6 Flash
Gemini 3.6 Flash ist für die mehrstufige Orchestrierung, das Full-Stack-Code-Refactoring und allgemeine Schlussfolgerungen optimiert und bietet eine deutlich bessere Token-Effizienz als seine Vorgänger.
Funktionen und Leistungsverbesserungen
Im Folgenden finden Sie eine Liste der Änderungen bei den Funktionen und der Leistung von Gemini 3.6 Flash im Vergleich zu den Vorgängermodellen:
- Weniger Tokens und Schritte: Es werden weniger Tokens verbraucht und mehrstufige Workflows in weniger Schlussfolgerungsschritten und Unterhaltungsschritten abgeschlossen als bei Gemini 3.5 Flash.
- Verbesserte Codeerstellung: Es wird saubererer Code mit weniger Kompilierungsfehlern und Überarbeitungen in den Bereichen App-Entwicklung, Prototyping, und IDE-Agenten erstellt.
- Weniger Aktionsbias: Löst Diagnoseaufgaben mit Lesezugriff, ohne unerwünschte Änderungen am Arbeitsbereich vorzunehmen oder den Status vorzeitig zu ändern.
- Multimodale und räumliche Schlussfolgerungen: Die Leistung bei der Diagramm interpretation, der visuellen Blueprint-Konvertierung und der Web-Layout-Generierung mit mehreren Elementen wurde verbessert.
- Unterstützung für die Computernutzung: Wird als integriertes Tool für die agentische UI Automatisierung unterstützt.
- UI-Stilpräferenz: Es kann besser funktionaler Code erstellt werden. Menschliche Tester bevorzugten jedoch die vorherigen Modelle für die Frontend-Präsentation und das visuelle Layout. Dies kann durch die Bereitstellung expliziter Designrichtlinien gemildert werden.
Änderungen bei Verhaltensweisen und API-Parametern
Im Folgenden finden Sie eine Liste der Änderungen bei Verhaltensweisen und API-Parametern von Gemini 3.6 Flash im Vergleich zu den Vorgängermodellen:
- Kürzere Schritte: Es werden weniger Schlussfolgerungsschritte als bei Gemini 3.5 Flash verwendet. Dadurch werden Latenz und Kosten für Code-Refactoring und Tool-Workflows reduziert. Bei längeren Unterhaltungen mit mehreren Schritten kann es jedoch zu vorzeitigen Ausstiegen kommen, wenn längere Iterationsketten erforderlich sind.
- Vorab-Programmanalyse: Es werden häufiger Diagnose-Codeskripts
(
execute_code) ausgeführt, um Probleme zu untersuchen, bevor der Status geändert wird, als bei Gemini 3.5 Flash. Dadurch wird die Diagnosegenauigkeit bei komplexen Backend-Refaktorierungen verbessert. Gelegentlich kann es jedoch zu zusätzlichen explorativen Inspektionsschritten bei einfachen Frontend-Web- und Skripting-Aufgaben kommen, bei denen die vorherige Version direkt Code generiert hätte. - Standardaufwand: Die in Gemini 3.5 Flash eingeführte Standardstufe „Mittel“ wird beibehalten.
- Keine Überschreibungen der Stichprobenerhebung: Benutzerdefinierte Werte für
temperature,top-k, odertop-pParameter werden nicht mehr unterstützt. Das Festlegen benutzerdefinierter Werte wird in der API-Oberfläche ignoriert. Verwenden Sie stattdessenthinking_leveloder strukturierte JSON-Schemas, um den Determinismus der Ausgabe zu steuern. - Einschränkungen für Häufigkeits- und Präsenzstrafen: Benutzerdefinierte Werte für diese Parameter werden nicht mehr unterstützt. Wenn Sie sie festlegen, wird jetzt ein aktiver API-Fehler ausgelöst.
- API-Anfragen, bei denen der letzte Eingabeschritt die Rolle „Modell“ hat, werden nicht unterstützt.
- Leere Schritte im Unterhaltungsverlauf werden entfernt.
- Ungültige Gedanken-Signaturen führen jetzt zu Fehlern.
- Strikter Funktionsaufruf:
FunctionResponsemuss genau mit derid, demnameund der Anzahl der Ausführungen des vorherigenFunctionCallübereinstimmen. Fügen Sie Inline-Anweisungen direkt in den Text der Funktionsantwort ein, getrennt durch zwei Zeilenumbrüche (\n\n).
Kurzanleitung
Bevor Sie beginnen, müssen Sie sich mit den Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) oder einem API-Schlüssel bei der Agent Platform authentifizieren. Weitere Informationen finden Sie unter Erste Schritte mit der Gemini Enterprise Agent Platform.
Ersetzen Sie in den folgenden Codeblöcken PROJECT_ID durch Ihre Projekt-ID.
Installation
Achten Sie darauf, dass Sie das neueste google-genai SDK verwenden:
pip install --upgrade google-genai
Einfache Anfrage
Python
from google import genai
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-3.6-flash",
contents="How does AI work?",
)
print(response.text)
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.6-flash:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": { "text": "Why is the sky blue?" },
},
}'
Von Gemini 3.5 Flash oder Gemini 3.1 Pro zu Gemini 3.6 Flash migrieren
So migrieren Sie von Gemini 3.5 Flash oder Gemini 3.1 Pro zu Gemini 3.6 Flash:
- Modell-ID aktualisieren: Ändern Sie die Modellstring in Ihren API-Aufrufen in
gemini-3.6-flash. - Code an die neuen API-Regeln der Gemini 3-Familie anpassen:
Gemini 3.6 Flash erzwingt die Parameterregeln und API
Konventionen, die für die Gemini 3-Familie festgelegt wurden:
- Temperatur, Top‑K und Top‑P entfernen: Entfernen Sie diese benutzerdefinierten Parameter
aus Ihrer Nutzlast. Es wird zwar kein Fehler ausgelöst, aber das Modell ignoriert sie vollständig. Verwenden Sie stattdessen den Parameter
thinking_leveloder strukturierte Ausgaben vom Typjson_schema, um den Determinismus der Ausgabe zu steuern. - Häufigkeits- und Präsenzstrafen entfernen: Entfernen Sie alle benutzerdefinierten Konfigurationen für Häufigkeits- oder Präsenzstrafen, um zu verhindern, dass bei Ihren API Aufrufen Laufzeitfehler ausgelöst werden.
- Achten Sie darauf, dass Ihre Chatintegration keine Modellvorabfüllung versucht:
Prüfen Sie Ihre Nachrichtenverlaufs-Arrays, um sicherzustellen, dass Ihre API-Nutzlast nicht mit einem leeren Nutzerschritt oder Modellschritt endet.
Wenn das letzte Objekt in
Ihrem Verlaufs-Array die Rolle "
model" (GenerateContent API) oder den Typ "model_output" (Interactions API) hat, strukturieren Sie die Sequenz neu, um zu verhindern, dass ein Fehler bei der strikten Validierung ausgelöst wird. - Verwenden Sie
thinking_level: Entfernen Sie Instanzen des verworfenenthinking_budgetParameters und verwenden Sie stattdessenthinking_level. - Strikte Konventionen für Funktionsaufrufe erzwingen: Die
FunctionResponsemuss genau mit derid,nameund der Anzahl der Ausführungen des vorhergehendenFunctionCallübereinstimmen. Wenn Sie Inline-Anweisungen anhängen müssen, fügen Sie sie direkt in den Text der Funktionsantwort ein, getrennt durch zwei Zeilenumbrüche (\n\n).
- Temperatur, Top‑K und Top‑P entfernen: Entfernen Sie diese benutzerdefinierten Parameter
aus Ihrer Nutzlast. Es wird zwar kein Fehler ausgelöst, aber das Modell ignoriert sie vollständig. Verwenden Sie stattdessen den Parameter
- Workflow-Änderungen berücksichtigen:
- Wenn Ihre Anwendung auf Unterhaltungsschleifen mit mehreren Schritten basiert, testen Sie Ihre Workflows, um sicherzustellen, dass die neue Kürze der Schritte des Modells nicht zu vorzeitigen Ausstiegen führt.
- Wenn Sie Frontend- oder einfache Skripting-Agenten erstellen, achten Sie auf unnötige explorative
execute_code-Aufrufe, die durch die neue Vorliebe des Modells für die Vorab-Programmanalyse verursacht werden.
Behelfslösungen für Textanforderungen vor dem Tool
Wenn Ihr Prompt erfordert, dass das Modell unmittelbar vor einem Toolaufruf strukturierten Text (XLM, YAML, JSON, usw.) ausgibt (z. B. <UPDATE>...</UPDATE>), kann der Toolaufruf gelegentlich mit einem Malformed_Function_Call
Fehler fehlschlagen. Sie können das Problem mit einer der folgenden Behelfslösungen beheben:
- (Empfohlen) Weisen Sie das Modell an, seine Notizen vor dem Tool in einen dedizierten
update()-Funktionsaufruf anstelle von Rohtext zu setzen. Eine detaillierte Anleitung zur Implementierung finden Sie im nächsten Abschnitt. - Weisen Sie das Modell an, Notizen als Markdown-Überschriften (z. B.
# UPDATE,## PLAN) anstelle von strukturiertem Text zu schreiben. - Fordern Sie nicht, dass das Modell vor Toolaufrufen Text ausgibt.
Empfohlene Lösung: Arbeitsnotizen in einen dedizierten Funktionsaufruf einfügen
Anstelle der ursprünglichen Anweisung:
Before calling a tool, in every response you MUST first output a single
`<UPDATE>` part as specified, don't skip this part or any of required sub-tags
within `<UPDATE>`.
Verwenden Sie diese aktualisierte Anweisung:
Before calling any other tool, in every response you MUST first call `update`
with all required parameters (previous_step, plan, next_step, external).
Aktualisieren Sie alle Verweise auf das alte <UPDATE>-XML-Format in der Kundenanfrage.
Fügen Sie dann die entsprechende Funktionsdeklaration für die Update-Funktion hinzu:
{
"name": "update",
"description": "Update working notes (previous step analysis, plan, next step, external note).",
"parameters": {
"type": "OBJECT",
"properties": {
"previous_step": {
"type": "STRING",
"description": "Key findings and outcomes since the previous step."
},
"plan": {
"type": "STRING",
"description": "The current status of the plan."
},
"next_step": {
"type": "STRING",
"description": "Brief explanation of the immediate next action according to the plan."
},
"external": {
"type": "STRING",
"description": "A short, plain-language note shown to the User about what you are ABOUT TO DO next."
}
},
"required": [
"previous_step",
"plan",
"next_step",
"external"
]
}
}
Das Modell führt im selben Schritt zwei Aufrufe aus: den update()-Aufruf, der das strukturierte XML ersetzt, und den eigentlichen Funktionsaufruf.