Gemini denkt nach

Die Modelle der Gemini 3- und 2.5-Serie nutzen einen internen „Denkprozess“, der ihre Fähigkeiten zum logischen Schlussfolgern und zur mehrstufigen Planung erheblich verbessert. Dadurch eignen sie sich hervorragend für komplexe Aufgaben wie Programmieren, fortgeschrittene Mathematik und Datenanalyse.

In diesem Leitfaden erfahren Sie, wie Sie die Denkfunktionen von Gemini mit der Gemini API nutzen können.

Inhalte mit „Thinking“ generieren

Eine Anfrage mit einem Denkmodell zu starten, ähnelt jeder anderen Anfrage zur Inhaltserstellung. Der Hauptunterschied besteht darin, dass Sie im Feld model eines der Modelle mit Denkunterstützung angeben:

Python

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

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

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Explain the concept of Occam'\''s Razor and provide a simple example."
  }'

Zusammenfassungen von Gedanken

Zusammenfassungen des Denkprozesses geben Einblicke in den internen Prozess der Problemlösung des Modells. Standardmäßig wird nur die endgültige Ausgabe zurückgegeben. Sie können Zusammenfassungen von Gedanken mit thinking_summaries aktivieren:

Python

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:")
        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

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?",
    generationConfig: {
        thinkingSummaries: "auto"
    }
});

for (const step of interaction.steps) {
    if (step.type === "thought") {
        console.log("Thought 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

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "What is the sum of the first 50 prime numbers?",
    "generationConfig": {
      "thinkingSummaries": "auto"
    }
  }'

Streamen mit Köpfchen

Streaming verwenden, um während der Generierung Zusammenfassungen von Gedanken zu erhalten. Dadurch werden fortlaufende, inkrementelle Zusammenfassungen zurückgegeben, sobald sie generiert werden:

Python

from google import genai

client = genai.Client()

prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?
"""

thoughts = ""
answer = ""

stream = client.interactions.create(
    model="gemini-3-flash-preview",
    input=prompt,
    generation_config={
        "thinking_summaries": "auto"
    },
    stream=True
)

thoughts = ""
answer = ""

for event in stream:
    if event.event_type == "step.delta":
        if event.delta.type == "thought":
            if not thoughts:
                print("Thinking...")
            summary_text = getattr(event.delta, 'text', '')
            print(f"[Thought] {summary_text}", end="")
            thoughts += summary_text
        elif event.delta.type == "text" and event.delta.text:
            if not answer:
                print("\nAnswer:")
            print(event.delta.text, end="")
            answer += event.delta.text

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?`;

let thoughts = "";
let answer = "";

const stream = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: prompt,
    generationConfig: {
        thinkingSummaries: "auto"
    },
    stream: true
});

for await (const event of stream) {
    if (event.type === "step.delta") {
        if (event.delta.type === "thought") {
            if (!thoughts) console.log("Thinking...");
            process.stdout.write(`[Thought] ${event.delta.text || ""}`);
            thoughts += event.delta.text || "";
        } else if (event.delta.type === "text" && event.delta.text) {
            if (!answer) console.log("\nAnswer:");
            process.stdout.write(event.delta.text);
            answer += event.delta.text;
        }
    }
}

Kontrollgruppe

Gemini-Modelle verwenden standardmäßig dynamisches Denken und passen den Aufwand für das Reasoning automatisch an die Komplexität der Anfrage an. Sie können dieses Verhalten jedoch mit Konfigurationsparametern steuern.

Denkaufwand (Gemini 3)

Mit dem Parameter thinking_level, der für Gemini 3-Modelle und höher empfohlen wird, können Sie das Verhalten beim Schlussfolgern steuern.

Denkaufwand Gemini 3.1. Pro Gemini 3 Pro (eingestellt) Gemini 3 Flash Beschreibung
minimal Nicht unterstützt Nicht unterstützt Unterstützt Entspricht für die meisten Anfragen der Einstellung „Kein Denken“. Das Modell denkt bei komplexen Programmieraufgaben möglicherweise sehr minimalistisch. Minimiert die Latenz für Chat- oder Anwendungen mit hohem Durchsatz. Hinweis: minimal garantiert nicht, dass die Funktion „Denken“ deaktiviert ist.
low Unterstützt Unterstützt Unterstützt Minimiert Latenz und Kosten. Am besten geeignet für Anwendungen, die Anweisungen befolgen, Chat oder Anwendungen mit hohem Durchsatz.
medium Unterstützt Nicht unterstützt Unterstützt Ausgewogene Denkweise für die meisten Aufgaben.
high Unterstützt (Standard, dynamisch) Unterstützt (Standard, dynamisch) Unterstützt (Standard, dynamisch) Maximiert die Tiefe des logischen Schlussfolgerns. Es kann deutlich länger dauern, bis das Modell das erste Ausgabetoken (nicht „thinking“) erreicht, aber die Ausgabe ist sorgfältiger begründet.

Python

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

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",
    generationConfig: {
        thinkingLevel: "low"
    }
});
console.log(interaction.steps.at(-1).content[0].text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -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"
    }
  }'

Sie können die Denkfunktion für Gemini 3 Pro nicht deaktivieren. Gemini 3 Flash unterstützt auch nicht das vollständige Deaktivieren von „Thinking“, aber die Einstellung minimal bedeutet, dass das Modell wahrscheinlich nicht denkt (obwohl es das immer noch tun kann).

Gedankensignaturen

Die Gemini API ist zustandslos. Das Modell behandelt jede API-Anfrage unabhängig und hat keinen Zugriff auf den Kontext von vorherigen Runden in Multi-Turn-Interaktionen.

Damit der Kontext des Denkprozesses bei Interaktionen mit mehreren Durchgängen beibehalten werden kann, gibt Gemini Denkprozess-Signaturen zurück. Das sind verschlüsselte Darstellungen des internen Denkprozesses des Modells.

  • Gemini 2.5-Modelle geben Denkprozess-Signaturen zurück, wenn der Denkprozess aktiviert ist und die Anfrage Funktionsaufrufe, insbesondere Funktionsdeklarationen, enthält.
  • Gemini 3-Modelle können für alle Arten von Teilen Gedanken-Signaturen zurückgeben. Wir empfehlen, alle Signaturen immer so zurückzugeben, wie sie empfangen wurden. Bei Signaturen für Funktionsaufrufe ist dies jedoch erforderlich. Weitere Informationen finden Sie auf der Seite Thought Signatures.
  • Signaturen werden vom Modell in anderen Teilen der Antwort zurückgegeben, z. B. bei Funktionsaufrufen oder in Textteilen. Geben Sie die gesamte Antwort mit allen Teilen in nachfolgenden Zügen an das Modell zurück.
  • Verketten Sie keine Teile mit Signaturen.
  • Führen Sie keinen Teil mit einer Signatur mit einem anderen Teil ohne Signatur zusammen.

Preise

Wenn der Thinking-Modus aktiviert ist, setzt sich der Preis für die Antwort aus der Summe der Ausgabe-Tokens und der Thinking-Tokens zusammen. Die Gesamtzahl der generierten Denk-Tokens finden Sie im Feld total_thought_tokens.

Python

# ...
print("Thoughts tokens:", interaction.usage.total_thought_tokens)
print("Output tokens:", interaction.usage.total_output_tokens)

JavaScript

// ...
console.log(`Thoughts tokens: ${interaction.usage.totalThoughtTokens}`);
console.log(`Output tokens: ${interaction.usage.totalOutputTokens}`);

Denkmodelle generieren vollständige Gedanken, 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 Thought-Tokens, die das Modell generieren muss, obwohl nur die Zusammenfassung von der API ausgegeben wird.

Weitere Informationen zu Tokens finden Sie im Leitfaden Tokens zählen.

Best Practices

In diesem Abschnitt finden Sie Anleitungen für den effizienten Einsatz von Denkmodellen.

Debuggen und steuern

  • Schlussfolgerung überprüfen: Wenn Sie nicht die erwartete Antwort von Denkmodellen erhalten, kann es hilfreich sein, die Zusammenfassungen der Gedanken von Gemini sorgfältig zu analysieren. Sie können sehen, wie die Aufgabe aufgeschlüsselt wurde und wie die KI zu ihrer Schlussfolgerung gelangt ist. Anhand dieser Informationen können Sie die Ergebnisse korrigieren.

  • Anleitung für die Argumentation geben: Wenn Sie sich einen besonders langen Output wünschen, können Sie in Ihrem Prompt eine Anleitung geben, um die Denkleistung des Modells einzuschränken. So können Sie mehr Token für Ihre Antwort reservieren.

Komplexität der Aufgabe

  • Einfache Aufgaben (Denken kann deaktiviert werden): Bei einfachen Anfragen, bei denen kein komplexes Denken erforderlich ist, ist das Denken nicht erforderlich. Beispiele:
    • „Wo wurde DeepMind gegründet?“
    • Wird in dieser E‑Mail um eine Besprechung gebeten oder werden nur Informationen bereitgestellt?
  • Mittlere Aufgaben (Standard/Etwas Nachdenken): Viele gängige Anfragen profitieren von einer schrittweisen Verarbeitung oder einem tieferen Verständnis. Beispiele:
    • Vergleiche die Fotosynthese mit dem Erwachsenwerden.
    • Vergleiche Elektroautos und Hybridautos und stelle sie einander gegenüber.
  • Schwierige Aufgaben (maximale Denkfähigkeit): Für wirklich komplexe Herausforderungen empfehlen wir, ein hohes Denkbudget festzulegen. Für diese Arten von Aufgaben muss das Modell seine gesamten Denk- und Planungsfähigkeiten einsetzen. Beispiele:
    • Löse Aufgabe 1 des AIME 2025: Finde die Summe aller ganzzahligen Basen b > 9...
    • Python-Code für eine Webanwendung schreiben, die Echtzeit-Börsendaten visualisiert, einschließlich der Nutzerauthentifizierung Sorgen Sie für einen möglichst effizienten Ablauf.

Unterstützte Modelle

Modell Standardüberlegung Unterstützte Stufen
gemini-3.1-pro-preview Ein (hoch) niedrig, mittel, hoch
gemini-3-flash-preview Ein (hoch) minimal, niedrig, mittel, hoch
gemini-3-pro-preview Ein (hoch) niedrig, hoch
gemini-2.5-pro An Budget: 128–32.768
gemini-2.5-flash An Budget: 0–24.576
gemini-2.5-flash-lite Aus Budget: 0–24.576

Thinking-Modelle sind mit allen Tools und Funktionen von Gemini kompatibel. So können Modelle mit externen Systemen interagieren, Code ausführen oder auf Echtzeitinformationen zugreifen und die Ergebnisse in ihre Argumentation einbeziehen.

Nächste Schritte