Neues bei Gemini 3.5 Flash
Gemini 3.5 Flash ist allgemein verfügbar, stabil und für den Einsatz in der Produktion in großem Maßstab geeignet. Als unser intelligentestes Flash-Modell bietet es eine nachhaltige Spitzenleistung bei der agentischen Ausführung, beim Programmieren und bei Aufgaben mit langem Horizont in großem Maßstab.
Dieser Leitfaden enthält einen Überblick über Verbesserungen, API-Änderungen und Migrationsanleitungen für Gemini 3.5 Flash.
Neues Modell
| Modell | Modell-ID | Beschreibung |
|---|---|---|
| Gemini 3.5 Flash | gemini-3.5-flash |
Unser intelligentestes Modell für nachhaltige Spitzenleistungen bei Agent- und Programmieraufgaben. |
Gemini 3.5 Flash unterstützt das Kontextfenster mit 1 Million Tokens, maximal 65.000 Ausgabetokens, Thinking und dieselben Tools und Plattformfunktionen wie Gemini 3 Flash. Computer Use wird derzeit nicht unterstützt.
Die vollständigen Spezifikationen finden Sie in der Modellübersicht. Informationen zu den Preisen finden Sie auf der Preisseite.
Kurzanleitung
In allen Beispielen in dieser Anleitung wird die GenerateContent API verwendet. Die Interactions API wird ebenfalls unterstützt. Es gelten dieselben Konfigurationsoptionen und Empfehlungen.
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explain how parallel agentic execution works in three sentences.",
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Explain how parallel agentic execution works in three sentences.",
});
console.log(response.text);
}
main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Explain how parallel agentic execution works in three sentences."}]
}]
}'
Das ist neu
- Dauerhaft erstklassige Leistung:Unser intelligentestes Flash-Modell, das für Agent- und Programmieraufgaben im großen Maßstab optimiert ist.
- Agentenbasierte Ausführung:Bereitstellung von Sub-Agents, Problemlösung und schnelle agentenbasierte Schleifen im großen Maßstab.
- Programmieren:Iterative Programmierzyklen, schnelle Erkundung und Prototyping, um alternative Pfade zu testen und Lösungen dynamisch zu erkunden.
- Langer Zeitraum:Mehrstufige Workflows und Tool-Nutzung im großen Maßstab.
- Gedankenerhalt:Das Modell behält Zwischenüberlegungen in mehrteiligen Unterhaltungen automatisch bei. Es sind keine API-Änderungen erforderlich.
- Neuer Standardaufwand: Der Standardaufwand für das Denken wurde von
highinmediumgeändert. Weitere Informationen finden Sie unter Neuer Standardaufwand. - Verbessertes
low-Denken:lowwurde für Code- und Agent-Aufgaben, die weniger Schritte erfordern, deutlich verbessert und bietet eine hohe Qualität bei geringerer Latenz und geringeren Kosten. - GA-Release:Stabiles Modell für die skalierte Produktion.
Verhaltensänderungen
Neuer Standardaufwand: medium
Der standardmäßige Denkaufwand ist jetzt medium. In der Vorabversion von Gemini 3 Flash war er high. medium liefert bei einer Vielzahl von Aufgaben sehr gute Ergebnisse und ist dabei schneller und kostengünstiger. Bei komplexen Problemen wird das Modell durch high
angeregt, genauer nachzudenken.
| Aufwand | Anwendung |
|---|---|
minimal |
Für schnelle Antworten optimiert. Chatähnliche Anwendungsfälle, schnelle sachliche Antworten, einfachere Tool-Aufrufe. |
low |
Code und Agent-Aufgaben, die eine geringere Latenz und weniger Schritte erfordern. Eignet sich auch gut für Analyse- und Schreibaufgaben, die etwas Nachdenken erfordern. |
medium (Standard) |
Beste Qualität für die meisten Aufgaben. Für komplexen Code und agentische Anwendungsfälle empfohlen. |
high |
Maximiert die Fähigkeit des Modells, zu denken und Tools zu verwenden. Am besten geeignet für komplexes Reasoning, schwierige mathematische Aufgaben und die schwierigsten Code- oder Agent-Aufgaben. Ermöglicht erweiterte Überlegungen und Funktionsaufrufe. |
Um die Standardeinstellung zu überschreiben, legen Sie thinking_level in Ihrer Konfiguration fest:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Prove that the square root of 2 is irrational.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Prove that the square root of 2 is irrational.",
config: {
thinkingConfig: {
thinkingLevel: "HIGH",
},
},
});
console.log(response.text);
}
main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Prove that the square root of 2 is irrational."}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
Gedanken bewahren
Das Modell behält automatisch Zwischenüberlegungen in Multi-Turn-Unterhaltungen bei. Wenn der Kontext für logisches Schlussfolgern im Unterhaltungsverlauf vorhanden ist, wird er weitergeführt, was die Leistung bei komplexen mehrstufigen Aufgaben wie iterativem Debugging und Refactoring von Code verbessert. Keine API-Änderungen erforderlich:
- Interactions API: Gedanken werden bereits automatisch beibehalten. Keine Verhaltensänderung.
- GenerateContent API: Ab Gemini 3.5 Flash verwendet das Modell den Reasoning-Kontext aus allen vorherigen Turns, wenn im Chatverlauf Gedanken-Signaturen vorhanden sind. Übergeben Sie dazu den vollständigen, unveränderten Unterhaltungsverlauf (einschließlich Gedankensignaturen) in
contents. Die SDKs erledigen das automatisch.
Parameterupdates und Best Practices in Gemini 3.x
Das Folgende gilt für alle Gemini 3.x-Modelle, einschließlich Gemini 3.5 Flash.
temperature,top_p,top_k: Wir empfehlen dringend, die Standardwerte nicht zu ändern. Die Reasoning-Funktionen von Gemini 3 sind für die Standardeinstellungen optimiert.- Verwenden Sie
thinking_levelanstelle vonthinking_budget. - Abgleich von Funktionsaufrufantworten:
id,nameund die Anzahl der Antworten müssen mit den vorherigen Aufrufen übereinstimmen. - Multimodale Funktionsantworten: Multimodale Inhalte müssen in der Funktionsantwort enthalten sein, nicht außerhalb.
- Inline-Anweisungen in Funktionsantworten: An den Antworttext der Funktion anhängen, nicht als separate Teile.
- Unnötige Tool-Aufrufe reduzieren: Verwenden Sie niedrigere Denkebenen oder experimentieren Sie mit Systemanweisungen, um Tool-Aufrufe in Agent-Workflows zu reduzieren.
In den folgenden Abschnitten erfahren Sie, wie Sie Ihren Code aktualisieren.
Sampling-Parameter (nicht mehr empfohlen)
temperature, top_p und top_k werden für alle Gemini 3.x-Modelle nicht mehr empfohlen. Die Reasoning-Funktionen von Gemini 3 sind für die Standardeinstellungen optimiert. Entfernen Sie diese Parameter aus allen Anfragen.
# ⚠️ Remove these parameters (not recommended)
config = types.GenerateContentConfig(
temperature=0.7,
top_p=0.9,
top_k=40
)
Um die Deterministik zu gewährleisten, empfehlen wir, eine Systemanweisung mit expliziten Regeln für Ihren spezifischen Anwendungsfall zu definieren.
thinking_budget (nicht mehr empfohlen)
Der numerische Rohparameter thinking_budget wird für alle Gemini 3.x-Modelle nicht mehr empfohlen. Verwenden Sie stattdessen das String-Enum thinking_level.
# ⚠️ Before (not recommended)
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_budget=7500)
)
# ✅ After
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="medium")
)
Verfügbare Werte: minimal, low, medium (Standard) und high.
Funktionsaufrufe: Strikter Abgleich von Antworten
Die Interactions API gibt bereits Fehler bei nicht übereinstimmenden Funktionsantworten zurück. Die GenerateContent API gibt noch keinen Fehler zurück, aber bei nicht übereinstimmenden Antworten gibt das Modell in den meisten Fällen leere Antworten mit finish_reason: STOP zurück. Beachten Sie immer die folgenden Konventionen:
| Anforderung | Details |
|---|---|
id einschließen |
Jeder FunctionResponse muss die id aus dem entsprechenden FunctionCall enthalten. |
name. Partie |
Der name in der Antwort muss mit dem name im Aufruf übereinstimmen. |
| Anzahl der Übereinstimmungen | Gibt für jedes empfangene FunctionCall genau ein FunctionResponse zurück. |
Python
# ✅ Include matching id and name in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include matching id and name in the function response
const functionResponsePart = {
functionResponse: {
name: toolCall.name,
response: { result: result },
id: toolCall.id,
},
};
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{ role: "user", parts: [functionResponsePart] },
],
config: config,
});
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{"role": "user", "parts": [{"text": "..."}]},
{"role": "model", "parts": [{"functionCall": {"name": "my_function", "args": {...}}}]},
{"role": "user", "parts": [{"functionResponse": {"name": "my_function", "id": "call_id", "response": {"result": "..."}}}]}
]
}'
Multimodale Funktionsantworten
Wir stellen häufig fest, dass Clients Bilder außerhalb der Funktionsantwort bereitstellen. Dies kann zu unerwartetem Modellverhalten (z.B. Gedankenlecks) und zu Ausgaben von geringerer Qualität führen. Folgen Sie stattdessen der Empfehlung in der API-Dokumentation zu multimodalen Funktionsantworten und fügen Sie multimodale Inhalte in die Teile der Funktionsantwort ein, die Sie an das Modell senden. Das Modell kann diese multimodalen Inhalte in seinem nächsten Zug verarbeiten, um eine fundiertere Antwort zu geben.
Python
# ✅ Include multimodal content in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={
"result": "instrument.jpg",
"image": base64_image_data,
},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include multimodal content in the function response
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: {
result: "instrument.jpg",
image: base64ImageData,
},
},
}],
},
],
config: config,
});
Inline-Anweisungen in Funktionsantworten
Wir sehen oft, dass Clients zusammen mit Funktionsantworten zusätzliche Anweisungen als nachfolgende Parts bereitstellen. Dies kann zu unerwartetem Modellverhalten (z.B. Offenlegung von Gedanken) und zu Ausgaben von geringerer Qualität führen. Hängen Sie stattdessen alle zusätzlichen Anweisungen an das Ende des Funktionsantworttexts an und trennen Sie sie durch zwei Zeilenumbrüche.
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_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result_text},
id=tool_call.id,
)
]),
],
)
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 finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: { result: resultText },
},
}],
},
],
config: config,
});
Unnötige Tool-Aufrufe reduzieren
Wenn es zu einem übermäßigen Gebrauch von Tool-Aufrufen kommt, können Sie mit zwei Techniken die Anzahl der Tool-Aufrufe minimieren:
Denkstufe reduzieren (
medium,lowoderminimal): Bei höheren Denkstufen wird das Modell dazu angeregt, mehr Tools zum Erkunden und Überprüfen zu verwenden. Durch Senken der Stufe kann die Anzahl der Tool-Aufrufe reduziert werden.Systemanweisung hinzufügen:Wenn die Überbeanspruchung nach dem Anpassen der Denkebene weiterhin besteht, sollten Sie einen Prompt in Betracht ziehen, der die Toolnutzung einschränkt. Beispiel:
You have a limited action budget of <n> tool calls. Use them efficiently.
Checkliste für die Migration
Von Gemini 3 Flash (Vorabversion) migrieren
- Modellname aktualisieren:
gemini-3-flash-preview→gemini-3.5-flash - Preise prüfen. Gemini 3.5 Flash ist teurer als Gemini 3 Flash (Vorabversion). Weitere Informationen finden Sie auf der Preisseite.
- Entfernen Sie
temperature,top_pundtop_kaus Ihrer Konfiguration (nicht mehr empfohlen). - Ersetzen Sie
thinking_budgetdurchthinking_level. - Fügen Sie allen
FunctionResponse-Teilenidund das entsprechendenamehinzu. - Prompts testen Der Standardaufwand wurde von
highinmediumgeändert. Überprüfen Sie Qualität, Geschwindigkeit und Kosten. - Die Funktion zum Speichern von Gedanken ist jetzt standardmäßig aktiviert. Der Kontext für die Begründung wird über mehrere Züge hinweg beibehalten, was die Leistung verbessert, aber die Tokennutzung erhöhen kann.
- Reduzieren Sie unnötige Tool-Aufrufe: Beginnen Sie damit, die Denkebene zu reduzieren (
medium,lowoderminimal). Fügen Sie eine Systemanweisung hinzu, um die Tool-Nutzung einzuschränken, wenn es weiterhin zu einer Überbeanspruchung kommt. - Computer Use wird in Gemini 3.5 Flash derzeit nicht unterstützt. Für Arbeitslasten zur Computernutzung verwenden Sie weiterhin Gemini 3 Flash Preview.
Von Gemini 2.5 migrieren
Alle oben genannten Punkte plus:
- Prompts vereinfachen Wenn Sie Chain-of-Thought-Prompt-Engineering verwendet haben, um das Reasoning zu erzwingen, versuchen Sie es stattdessen mit
thinking_level: "medium"oder"high"und einfacheren Prompts. - PDF- und Media-Arbeitslasten testen Wenn Sie sich beim Parsen von dichten Dokumenten auf ein bestimmtes Verhalten verlassen haben, testen Sie die Einstellung
media_resolution_high, um die Genauigkeit beizubehalten. Durch die Migration zu Gemini 3-Standardeinstellungen kann sich die Anzahl der verwendeten Tokens für PDFs erhöhen, für Videos jedoch verringern. Wenn Anfragen das Kontextfenster überschreiten, sollten Sie diemedia_resolutionexplizit verringern. Weitere Informationen finden Sie in der Dokumentation zur Media-Auflösung. - Kombinierte Tools nutzen Google Suche, URL-Kontext, Codeausführung und benutzerdefinierte Funktionen können in derselben Anfrage verwendet werden.
- Wenn Sie multimodale Funktionsantworten verwenden, verschieben Sie multimodale Inhalte in die Teile der Funktionsantwort und nicht daneben.
- Wenn Sie Inline-Anweisungen mit Funktionsantworten verwenden, hängen Sie sie an den Text der Funktionsantwort an und trennen Sie sie durch zwei Zeilenumbrüche, nicht als separate Teile.
- Die Bildsegmentierung wird in Gemini 3.x nicht unterstützt. Für Segmentierungs-Workloads verwenden Sie weiterhin Gemini 2.5 Flash ohne Thinking oder Gemini Robotics-ER 1.6.
Funktionen der Gemini 3-Familie
Gemini 3.5 Flash übernimmt alle Funktionen der Gemini 3-Familie, mit Ausnahme von „Computer Use“. Funktionen, die in Gemini 3 eingeführt wurden und weiterhin verfügbar sind:
- Thinking:Der verschlüsselte Kontext für die Begründung wird über API-Aufrufe hinweg beibehalten. Automatisch in der Interactions API; implizit in GenerateContent.
- Strukturierte Ausgaben mit Tools:Kombinieren Sie den JSON-Modus mit integrierten Tools (Suche, URL-Kontext, Codeausführung, Funktionsaufruf).
- Multimodale Funktionsantworten:Bilder, Audio und andere Medien in Funktionsaufrufergebnissen zurückgeben.
- Codeausführung mit Bildern:Code ausführen, der Bilder verarbeitet und generiert.
- Kombinierte Tool-Nutzung:Verwenden Sie integrierte Tools und benutzerdefinierte Funktionsaufrufe in derselben Anfrage.
Nächste Schritte
- Weitere Informationen zur Gemini 3-Familie finden Sie im Entwicklerleitfaden für Gemini 3.
- Weitere Informationen zu Strategien für das Design von Prompts finden Sie im Leitfaden zum Prompt-Engineering.
- Gemini 3 Cookbook
- Informationen zur Optimierung und Inferenz der Gemini API