Gemini-Denkprozess

Die Modelle der Gemini 3- und 2.5-Serie verwenden einen „Denkprozess“, der ihre Fähigkeiten zur logischen Schlussfolgerung und mehrstufigen Planung erheblich verbessert. Dadurch sind sie sehr effektiv für komplexe Aufgaben wie Programmieren, fortgeschrittene Mathematik und Datenanalyse.

Wenn Sie ein Denkmodell verwenden, führt Gemini intern einen Denkprozess durch, bevor es antwortet. Die Interactions API stellt diesen Denkprozess über thought-Schritte dar. Das sind spezielle Schritte, die chronologisch neben Funktionsaufrufen, Nutzereingaben oder Modellausgaben im steps-Array angezeigt werden.

Jeder Denkprozessschritt enthält zwei Felder:

Feld Erforderlich? Beschreibung
signature ✅ Ja Eine verschlüsselte Darstellung des internen Denkzustands des Modells. Immer vorhanden, auch wenn das Modell nur minimal logisch schlussfolgert.
summary ❌ Nein Ein Array mit Inhalten (Text und/oder Bilder), die den Denkprozess zusammenfassen. Je nach der thinking_summaries-Konfiguration, ob das Modell ausreichend logisch schlussfolgert hat oder dem Inhaltstyp kann es leer sein. Für Bild-Latents gibt es beispielsweise keine Textzusammenfassungen.

Interaktionen mit Denkprozessen

Das Initiieren einer Interaktion mit einem Denkmodell ähnelt jeder anderen Interaktionsanfrage. Geben Sie im Feld model eines der Modelle mit Unterstützung für Denkprozesse an:

Python

# This will only work for SDK newer than 2.0.0
from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Explain the concept of Occam's Razor and provide a simple, everyday example."
)
print(interaction.steps[-1].content[0].text)

JavaScript

// This will only work for SDK newer than 2.0.0
import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Explain the concept of Occam's Razor and provide a simple, everyday example."
});
console.log(interaction.steps.at(-1).content[0].text);

REST

# Specifies the API revision to avoid breaking changes when they become default
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Explain the concept of Occam'\''s Razor and provide a simple example."
  }'

Sie können Denkprozessinteraktionen streamen, um während der Generierung inkrementelle Zusammenfassungen und Signaturen zu erhalten. Eine umfassende Anleitung zu Ereignistypen, Deltatyps und Codebeispielen finden Sie in der Anleitung zu Streaming-Interaktionen.

Zusammenfassungen von Denkprozessen

Zusammenfassungen von Denkprozessen geben Einblicke in den internen Denkprozess des Modells. Standardmäßig wird nur die endgültige Ausgabe zurückgegeben. Sie können Zusammenfassungen von Denkprozessen mit thinking_summaries aktivieren:

Python

# This will only work for SDK newer than 2.0.0
from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="What is the sum of the first 50 prime numbers?",
    generation_config={
        "thinking_summaries": "auto"
    }
)

for step in interaction.steps:
    if step.type == "thought":
        print("Thought summary:")
        if step.summary:
            for content_block in step.summary:
                if content_block.type == "text":
                    print(content_block.text)
        print()
    elif step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print("Answer:")
                print(content_block.text)
                print()

JavaScript

// This will only work for SDK newer than 2.0.0
import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "What is the sum of the first 50 prime numbers?",
    generation_config: {
        thinking_summaries: "auto"
    }
});

for (const step of interaction.steps) {
    if (step.type === "thought") {
        console.log("Thought summary:");
        if (step.summary) {
            for (const contentBlock of step.summary) {
                if (contentBlock.type === "text") console.log(contentBlock.text);
            }
        }
    } else if (step.type === "model_output") {
        for (const contentBlock of step.content) {
            if (contentBlock.type === "text") {
                console.log("Answer:");
                console.log(contentBlock.text);
            }
        }
    }
}

REST

# Specifies the API revision to avoid breaking changes when they become default
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "What is the sum of the first 50 prime numbers?",
    "generation_config": {
      "thinking_summaries": "auto"
    }
  }'

Ein Denkprozessblock kann in den folgenden Fällen nur eine Signatur ohne Zusammenfassung enthalten:

  • Einfache Anfragen, bei denen das Modell nicht ausreichend logisch schlussfolgert hat, um eine Zusammenfassung zu erstellen
  • thinking_summaries: "none", wobei Zusammenfassungen explizit deaktiviert sind
  • Bestimmte Arten von Denkprozessinhalten, z. B. Bilder, haben möglicherweise keine Textzusammenfassungen

Ihr Code sollte immer Denkprozessblöcke verarbeiten können, bei denen summary leer oder nicht vorhanden ist.

Denkprozesse steuern

Gemini-Modelle führen standardmäßig dynamische Denkprozesse durch und passen den Aufwand für die logische Schlussfolgerung automatisch an die Komplexität der Anfrage an. Sie können dieses Verhalten mit dem Parameter thinking_level steuern.

Modell Standard-Denkprozess Unterstützte Stufen
gemini-3.1-pro-preview An (hoch) niedrig, mittel, hoch
gemini-3-flash-preview An (hoch) minimal, niedrig, mittel, hoch
gemini-3-pro-preview An (hoch) niedrig, hoch
gemini-2.5-pro An niedrig, mittel, hoch
gemini-2.5-flash An niedrig, mittel, hoch
gemini-2.5-flash-lite Aus niedrig, mittel, hoch

Python

# This will only work for SDK newer than 2.0.0
from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Provide a list of 3 famous physicists and their key contributions",
    generation_config={
        "thinking_level": "low"
    }
)
print(interaction.steps[-1].content[0].text)

JavaScript

// This will only work for SDK newer than 2.0.0
import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Provide a list of 3 famous physicists and their key contributions",
    generation_config: {
        thinking_level: "low"
    }
});
console.log(interaction.steps.at(-1).content[0].text);

REST

# Specifies the API revision to avoid breaking changes when they become default
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Provide a list of 3 famous physicists and their key contributions",
    "generation_config": {
      "thinking_level": "low"
    }
  }'

Signaturen von Denkprozessen

Signaturen von Denkprozessen sind verschlüsselte Darstellungen des internen Denkprozesses des Modells. Sie sind erforderlich, um die Kontinuität der logischen Schlussfolgerung bei Interaktionen mit mehreren Schritten aufrechtzuerhalten.

Mit der Interactions API ist die Verarbeitung von Signaturen von Denkprozessen viel einfacher als mit der generateContent API.

Wenn Sie die Interactions API standardmäßig im zustandsorientierten Modus verwenden (indem Sie store: true festlegen und die previous_interaction_id in nachfolgenden Schritten übergeben), verwaltet der Server automatisch den Unterhaltungsstatus, einschließlich aller Denkprozessblöcke und Signaturen. In diesem Modus müssen Sie nichts in Bezug auf Signaturen tun. Sie werden vollständig serverseitig verarbeitet.

Zustandsloser Modus

Wenn Sie den Unterhaltungsstatus selbst verwalten (zustandsloser Modus) und die vollständige Historie der Ein- und Ausgaben in jeder Anfrage übergeben:

  • Sie MÜSSEN alle thought-Blöcke immer genau so noch einmal senden, wie sie vom Modell empfangen wurden.
  • Sie sollten Denkprozessblöcke nicht aus der Historie entfernen oder ändern, da sie die Signaturen enthalten, die das Modell für die Fortsetzung des Denkprozesses benötigt.
  • Wenn Sie das Modell innerhalb einer Sitzung wechseln, sollten Sie trotzdem die Denkprozessblöcke des vorherigen Modells noch einmal senden. Das Back-End verwaltet die Kompatibilität.

Preise

Wenn Denkprozesse aktiviert sind, setzt sich der Preis für die Antwort aus den Ausgabe-Tokens und den Denkprozess-Tokens zusammen. Die Gesamtzahl der generierten Denkprozess-Tokens finden Sie im Feld total_thought_tokens.

Python

# This will only work for SDK newer than 2.0.0
# ...
print("Thoughts tokens:", interaction.usage.total_thought_tokens)
print("Output tokens:", interaction.usage.total_output_tokens)

JavaScript

// This will only work for SDK newer than 2.0.0
// ...
console.log(`Thoughts tokens: ${interaction.usage.total_thought_tokens}`);
console.log(`Output tokens: ${interaction.usage.total_output_tokens}`);

Denkmodelle generieren vollständige Denkprozesse, um die Qualität der endgültigen Antwort zu verbessern, und geben dann Zusammenfassungen aus, um Einblicke in den Denkprozess zu geben. Die Preise basieren auf den vollständigen Denkprozess-Tokens, die das Modell generieren muss, obwohl nur die Zusammenfassung von der API ausgegeben wird.

Weitere Informationen zu Tokens finden Sie in der Anleitung zum Zählen von Tokens.

Best Practices

Beachten Sie diese Richtlinien, um Denkmodelle effizient zu nutzen.

  • Denkprozess überprüfen: Analysieren Sie Zusammenfassungen von Denkprozessen, um Fehler zu verstehen und Prompts zu verbessern.
  • Budget für Denkprozesse steuern: Fordern Sie das Modell auf, weniger zu denken, um bei langen Ausgaben Tokens zu sparen.
  • Einfache Aufgaben: Verwenden Sie minimale Denkprozesse für die Faktenabfrage oder Klassifizierung (z.B. „Wo wurde DeepMind gegründet?“).
  • Mittelkomplexe Aufgaben: Verwenden Sie den Standard-Denkprozess, um Konzepte zu vergleichen oder kreativ zu denken (z.B. „Vergleichen Sie Elektro- und Hybridautos“).
  • Komplexe Aufgaben: Verwenden Sie den maximalen Denkprozess für fortgeschrittene Programmierung, Mathematik oder mehrstufige Planung (z.B. „Lösen Sie AIME-Mathematikaufgaben“).

Nächste Schritte