Entwicklerleitfaden für Gemini 4 Argon

Gemini 4 Argon ist das Frontier-Modell von Google, das sich für komplexe Aufgaben in verschiedenen Bereichen wie Programmierung, Finanzen, Recht, Cybersicherheit und Wissenschaft eignet. Es ist das erste Modell der Gemini 4-Familie.

In diesem Dokument erfahren Sie, was es Neues bei Gemini 4 Argon gibt, welche API-Konventionen es erzwingt, wie Sie zu diesem Modell migrieren und wie Sie es schnell ausprobieren können. Eine Übersicht über die Gemini 4-Familie finden Sie unter Erste Schritte mit Gemini 4.

Neuerungen bei Gemini 4 Argon

  • Kontextfenster: Das Kontextfenster mit 1.048.576 Tokens wird für Eingabe-, Denk- und Ausgabetokens verwendet.
  • Lange Decodes mit bis zu 1.048.576 Tokens: Die Generierung wird über das Ausgabelimit für einzelne Anfragen hinaus erweitert (65.536 Tokens für Streaming-Anfragen oder 32.768 Tokens für direkte HTTP-Anfragen ohne Streaming) auf bis zu 1.048.576 Tokens für GenerateContent. Das Google Gen AI SDK verarbeitet continuation_token automatisch für alle Anfragen. Alternativ können Sie continuation_token in einer eigenen Fortsetzungsschleife verwalten.
  • Denk-Levels: LOW, MEDIUM (Standard für gemini-4-argon) und HIGH (Standard für gemini-4-argon-cyber-permissive).
  • Implizites Caching mit dauerhaftem Caching: Das implizite Caching wird automatisch auf gemeinsame Prompt-Präfixe mit 6.144 Tokens oder mehr angewendet. Das dauerhafte Caching ist standardmäßig aktiviert. Explizites Kontext-Caching wird nicht unterstützt.
  • Agentisches Videoverständnis: Allgemein verfügbar und standardmäßig deaktiviert.

Kurzanleitung

Bevor Sie beginnen, müssen Sie sich mit 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

Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK durch (google-genai >= 2.30.1 für Python, @google/genai >= 2.29.1 für JavaScript, >= 1.74.0 für Go, >= 1.77.0 für Java, >= 1.26.0 für .NET oder >= 1.6.0 für Kotlin):

pip install --upgrade "google-genai>=2.30.1"

Einfache Anfrage

Python (GenerateContent)

from google import genai

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
  model="gemini-4-argon",
  contents="How does AI work?",
)
print(response.text)

Python (Interactions API)

from google import genai

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

turn1 = client.interactions.create(
    model="gemini-4-argon",
    input="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
    store=True,
)
print(turn1.output_text)

turn2 = client.interactions.create(
    model="gemini-4-argon",
    input="Add a bounded backpressure policy and unit tests for concurrent writers.",
    previous_interaction_id=turn1.id,
)
print(turn2.output_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-4-argon:generateContent \
-d '{
  "contents": {
    "role": "USER",
    "parts": { "text": "Why is the sky blue?" }
  }
}'

Strukturierte Ausgabe

from pydantic import BaseModel, Field
from google import genai
from google.genai import types

class ArchitectureReview(BaseModel):
    component: str = Field(description="Service or module name")
    bottlenecks: list[str] = Field(description="Throughput or latency bottlenecks")
    recommended_changes: list[str] = Field(description="Concrete refactoring steps")

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
    model="gemini-4-argon",
    contents="Review a synchronous order-processing pipeline backed by a single primary database at 15,000 writes/sec.",
    config=types.GenerateContentConfig(
        response_mime_type="application/json",
        response_schema=ArchitectureReview,
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
    ),
)
print(response.text)

Lange Decodes

Standardmäßig werden bei einer einzelnen API-Anfrage bis zu 65.536 Denk- und Ausgabetokens generiert (oder 32.768 Tokens für direkte HTTP-Anfragen ohne Streaming). Wenn Sie mit GenerateContent (v1beta1) Vervollständigungen mit bis zu 1.048.576 Tokens generieren möchten, legen Sie für max_output_tokens einen Wert über 65.536 fest (bis zu 1.048.576). Das Google Gen AI SDK folgt automatisch continuation_token für alle Anfragen, wenn finish_reason auf CONTINUATION gesetzt ist. Sie können automatic_continuation=False in GenerateContentConfig festlegen, um die automatische Fortsetzung zu deaktivieren. Alternativ können Sie continuation_token in einer benutzerdefinierten Schleife übergeben.

from google import genai
from google.genai import types

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

# Automatic continuation is enabled by default in google-genai >= 2.30.1.
# Chunks across all continuation requests are yielded as a single stream.
for chunk in client.models.generate_content_stream(
    model="gemini-4-argon",
    contents="Write a complete formal proof of the prime number theorem.",
    config=types.GenerateContentConfig(
        max_output_tokens=256000,
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
    ),
):
    print(chunk.text, end="")

# Set automatic_continuation=False to disable automatic continuation
# and stop at a single request.
single_request_response = client.models.generate_content(
    model="gemini-4-argon",
    contents="Write a complete formal proof of the prime number theorem.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
        automatic_continuation=False,
    ),
)
print(single_request_response.text)

REST (benutzerdefinierte Fortsetzungsschleife)

# Request 1: Initial request with maxOutputTokens > 32,768
curl -s -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
    }],
    "generationConfig": {
      "maxOutputTokens": 131072,
      "thinkingConfig": {"thinkingLevel": "HIGH"}
    }
  }'

# Request 2: Resend the original request with top-level continuationToken
# from Request 1 (candidates[0].continuationToken)
curl -s -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
    }],
    "continuationToken": "CONTINUATION_TOKEN_FROM_REQUEST_1",
    "generationConfig": {
      "maxOutputTokens": 131072,
      "thinkingConfig": {"thinkingLevel": "HIGH"}
    }
  }'

Obligatorische API-Regeln und Verhaltenskonventionen

Gemini 4 Argon erzwingt die folgenden Konventionen:

  • Kontextfenster und Ausgabelimits für einzelne Anfragen:
    • Das Kontextfenster mit 1.048.576 Tokens wird für Eingabe-, Denk- und Ausgabetokens verwendet. Wenn Sie für max_output_tokens einen Wert über 1,048,576 festlegen, wird ein HTTP-Fehler 400 zurückgegeben.
    • Um unbeabsichtigte lange Vervollständigungen zu vermeiden, beträgt das Standardausgabelimit für einzelne Anfragen (Denken + Modellantwort) 65.536 Tokens (oder 32.768 Tokens für direkte HTTP-Anfragen ohne Streaming).
  • Lange Decodes:

    • Funktionsweise langer Decodes: Bei langen Decodes wird eine Generierung von bis zu 1.048.576 Tokens auf mehrere GenerateContent Inferenzvorgänge aufgeteilt. Wenn eine Anfrage das Ausgabelimit pro Anfrage erreicht, bevor sie abgeschlossen ist, gibt die API finish_reason=CONTINUATION und ein verschlüsseltes continuation_token zurück, das einen Hash des ursprünglichen Prompts und den Generierungsstatus bis zu diesem Zeitpunkt enthält. Fügen Sie continuation_token in nachfolgende Anfragen mit dem ursprünglichen Prompt ein, bis continuation_token nicht mehr ausgegeben wird und finish_reason=STOP ist. In Agent Studio werden Fortsetzungstokens automatisch verarbeitet, wenn Sie das Ausgabetokenlimit auf einen Wert zwischen 65.536 und 1.048.576 festlegen.
    • Wann sollten lange Decodes verwendet werden?: Die meisten Anfragen werden innerhalb des Limits pro Anfrage abgeschlossen (65.536 Tokens oder 32.768 Tokens für REST-Aufrufe ohne Streaming). Lange Decodes geben dem Modell mehr Spielraum für Schlussfolgerungen. Sie führen nicht zu längeren Antworten. Verwenden Sie thinking_level, um den Detailgrad der Schlussfolgerungen zu steuern.
    Arbeitslast Lange Decodes verwenden? Warum
    Schwierige Mathematik, Wissenschaft, Forschung und formale Beweise Ja Das Modell kann mehr als 65.536 Tokens verwenden,um seine Schlussfolgerungen zu untersuchen und zu überprüfen.
    Die schwierigsten Programmier- und agentischen Aufgaben Ja Für einige Aufgaben sind mehr als 65.536 Tokens für Schlussfolgerungen und Code in einer Antwort erforderlich. Die meisten Programmier- und agentischen Aufgaben werden mit weniger als 65.536 Tokens abgeschlossen.
    Evaluierungstests, die am Ausgabelimit enden Ja Lange Decodes verhindern abgeschnittene Antworten, wenn das Modell eine gesamte Anfrage mit 65.536 oder 32.768 Tokens für Schlussfolgerungen verwendet.
    Chat, Fragen und Antworten, Zusammenfassung, Klassifizierung und Extraktion Nein Diese Aufgaben werden mit deutlich weniger als 32.768 Tokens abgeschlossen.
    Anfragen mit einer festen Länge, z. B. „Schreibe ein Buch mit 700.000 Wörtern“ Nein Das Modell berücksichtigt keine Längenangaben.
    Agents, die Tools in vielen kurzen Schritten aufrufen Nein Jeder Schritt ist kurz. Große Ausgaben in jedem Schritt füllen das gemeinsame Eingabe- und Ausgabefenster mit 1.048.576 Tokens schnell.
    Prompts, die sich in der Nähe des Eingabelimits von 1.048.576 Tokens befinden Nein Für die Ausgabe können nur 1.048.576 Tokens abzüglich der Eingabe verwendet werden.
    Anfragen mit geringer Latenz Nein Lange Decodes können mehrere Minuten dauern.
    • Option für die Fortsetzung auswählen: Bei allen Optionen wird das gleiche Limit von 1.048.576 Tokens für gemini-4-argon und gemini-4-argon-cyber-permissive erreicht.
    Dimension Option 1: Google Gen AI SDK (empfohlen) Option 2: Eigene Streaming-Schleife (streamGenerateContent) Option 2: Eigene Schleife ohne Streaming (generateContent)
    Wer startet jedes Segment? Das SDK (automatic_continuation=True standardmäßig). Legen Sie für max_output_tokens einen Wert über 65.536 fest (bis zu 1.048.576), wenn die Ausgabe mehr als 65.536 Tokens umfasst. Ihr Code an jedem Prüfpunkt oder nach einem abgebrochenen Stream Ihr Code alle 32.768 Tokens
    Tokens pro Anfrage Bis zu 65.536 pro Segment 65.536 pro Stream 32.768 pro Anfrage
    Zeitlimit pro Anfrage 20 Minuten 20 Minuten 20 Minuten
    Speicher und ZDR Kein Serverspeicher (ZDR-konform) Kein Serverspeicher (ZDR-konform) Kein Serverspeicher (ZDR-konform)
    Optimal für Die meisten Anwendungen REST-Aufrufer und benutzerdefinierte Tests, die streamen Einfache Evaluierungstests
    • Implementierungsregeln und -beschränkungen:
      • v1beta1 API-Anforderung (bekanntes Problem): Lange Decodes (continuation_token) für GenerateContent (generateContent und streamGenerateContent) werden nur in der v1beta1-API unterstützt (nicht v1). Das Google Gen AI SDK verwendet standardmäßig v1beta1, es sei denn, api_version='v1' ist in http_options angegeben. Verwenden Sie für direkte REST -Aufrufe den Endpunktpfad v1beta1. Lange Decodes werden in der Interactions API nicht unterstützt.
      • SDK-Versionen und OpenAI-Kompatibilität: Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK (google-genai >= 2.30.1 für Python, @google/genai >= 2.29.1 für JavaScript, >= 1.74.0 für Go, >= 1.77.0 für Java, >= 1.26.0 für .NET oder >= 1.6.0 für Kotlin) durch. Mit älteren SDK-Versionen und der OpenAI-Kompatibilitätsebene können keine langen Vervollständigungen mit Fortsetzungstokens abgerufen werden. Informationen zu benutzerdefinierten Clientimplementierungen finden Sie in der Referenzimplementierung des Google Gen AI SDK .
      • Ursprüngliche Anfrage mit continuation_token: Legen Sie in einer benutzerdefinierten Schleife für max_output_tokens einen Wert über 65.536 (Streaming) oder 32.768 (unär) bis zu 1.048.576 fest und senden Sie bei jeder Fortsetzungsanfrage die ursprünglichen Werte für contents, system_instruction und tools zusammen mit dem neuesten continuation_token (ein Feld der obersten Ebene in GenerateContentRequest in REST oder in GenerateContentConfig im Google Gen AI SDK). Fügen Sie keine Teilausgabe des Modells an contents an und senden Sie keinen Folgeprompt, in dem das Modell aufgefordert wird, fortzufahren.
      • Mit Anfragen nur für Schlussfolgerungen fortfahren: Führen Sie eine Schleife aus, solange finish_reason auf CONTINUATION gesetzt ist und continuation_token vorhanden ist,auch wenn bei einer Anfrage alle 32.768 oder 65.536 Tokens für Schlussfolgerungen verwendet wurden (parts: [{"text": ""}]). Wenn finish_reason auf MAX_TOKENS gesetzt ist,während continuation_token vorhanden ist, hat die Generierung das angeforderte Limit für max_output_tokens erreicht. Erhöhen Sie max_output_tokens in der Anfrage. Kombinieren Sie die gesammelten Teile erst nach STOP zu einem einzelnen model-Schritt für den mehrstufigen Verlauf.
      • Tokenzählung, Komprimierung und 95% Rabatt auf implizites Caching:
        • Im Python Google Gen AI SDK (generate_content und generate_content_stream) werden in usage_metadata der endgültigen Antwort oder des endgültigen Chunks die insgesamt in Rechnung gestellten Tokens für alle Fortsetzungsanfragen zusammengefasst. Da bei jeder Fortsetzungsanfrage vorherige Teilausgaben als Eingabetokens neu eingefügt werden, erhöht sich prompt_token_count kumulativ für alle Fortsetzungsanfragen. Verwenden Sie prompt_token_count nicht, um die Kontextkomprimierung in Agenten-Frameworks auszulösen. Lesen Sie stattdessen initial_prompt_token_count (in GenerateContentResponse oder usage_metadata) und warten Sie, bis GenerateContent abgeschlossen ist (kein continuation_token vorhanden), bevor Sie die Komprimierung durchführen.
        • In benutzerdefinierten REST-Schleifen ist usage_metadata für jede Anfrage kumulativ. Summieren Sie die endgültigen Werte für prompt_token_count, cached_content_token_count, candidates_token_count und thoughts_token_count für alle Anfragen.
        • Bei jeder Fortsetzungsanfrage wird der Prompt zusammen mit den zuvor decodierten Tokens neu eingefügt. Außerdem wird automatisch der Rabatt von 95% auf das implizite Kontext-Caching angewendet (mindestens 6.144 Tokens), wenn Anfragen innerhalb der TTL des Caches von 15 bis 20 Minuten direkt nacheinander ausgeführt werden.
        • streamGenerateContent und generateContent geben am Ende jeder Anfrage continuation_token und usage_metadata zurück (65.536 für Streaming, 32.768 für unär). Die Abrechnung erfolgt am Ende der Anfrage.
  • Ignorierte Sampling-Parameter (temperature, top_k, top_p): Das Backend ignoriert benutzerdefinierte Werte. Steuern Sie den Detailgrad der Schlussfolgerungen mit thinking_level und das Ausgabeformat mit response_schema.

  • Nicht unterstützte Parameter (frequency_penalty, presence_penalty, candidate_count): Diese Parameter führen zu einem HTTP-Fehler 400. Entfernen Sie sie aus Ihren Anfragen.

  • Kontext-Caching: Explizites Kontext-Caching wird nicht unterstützt. Implizites Caching (mit standardmäßig aktiviertem dauerhaftem Caching) wird automatisch auf gemeinsame Prompt-Präfixe mit 6.144 Tokens oder mehr angewendet. Platzieren Sie statische Inhalte daher am Anfang Ihres Prompts.

  • Agentisches Video: Für hochgeladene Videos ist standardmäßig media_processing="static" festgelegt. Legen Sie media_processing="agentic" fest, um die agentische Videoverarbeitung zu aktivieren.

  • Tokenzählung und Abrechnung: Jedes Token, das vom Modell verarbeitet wird, wird gezählt und in Rechnung gestellt, einschließlich der Denk-Tokens und der Systemanweisungen für interne Tools und Funktionsdeklarationen bei der Fundierung. Die Fundierung mit der Google Suche wird weiterhin pro Abfrage in Rechnung gestellt.

  • Funktionsaufrufe:

    • Symmetrie der Schritte: Jede FunctionResponse muss mit der id, name, und der Reihenfolge des vorherigen FunctionCall übereinstimmen.
    • Sequenzielle Ausführung: Bevorzugen Sie sequenzielle Toolausführungsschritte in mehrstufigen Toolschleifen.
    • Formatierung vor dem Toolaufruf: Trennen Sie Inline-Anweisungen mit \n\n und vermeiden Sie unstrukturierten Text vor Toolaufrufen.
  • Validierung der Chatsequenz:

    • Verlaufsnutzlasten dürfen nicht mit einem model-Schritt enden.
    • Vorausgefüllte Modellschritte werden nicht unterstützt.

Von Gemini 3.1 Pro zu Gemini 4 Argon migrieren

Das folgende Verhalten unterscheidet sich von gemini-3.1-pro-preview:

  • Das Kontextfenster ist ein Fenster mit 1.048.576 Tokens, das für Eingabe-, Denk- und Ausgabetokens verwendet wird, anstelle von separaten Eingabe- und Ausgabelimits. Die Ausgabe für einzelne Anfragen ist auf 65.536 Tokens begrenzt (oder 32.768 Tokens für direkte HTTP-Anfragen ohne Streaming) und kann mit langen Decodes für GenerateContent auf bis zu 1.048.576 Tokens erweitert werden. Dies wird automatisch im Google Gen AI SDK verarbeitet oder mit continuation_token in benutzerdefinierten Schleifen.
  • thinking_budget gibt einen HTTP-Fehler 400 zurück, anstatt einem Denk-Level zugeordnet zu werden. MINIMAL gibt ebenfalls einen Fehler zurück.
  • Explizites Kontext-Caching wird nicht unterstützt.
  • Jedes Token, das vom Modell verarbeitet wird, wird in Rechnung gestellt, einschließlich der Systemanweisungen und Funktionsdeklarationen für interne Tools bei der Fundierung.

Einen direkten Vergleich finden Sie unter Von Gemini 3.1 Pro migrieren.

So migrieren Sie von gemini-3.1-pro-preview:

  1. Aktualisieren Sie die Modell-ID auf gemini-4-argon (oder gemini-4-argon-cyber-permissive für von Fairwind genehmigte Cybersicherheitsarbeitslasten).
  2. Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK durch und berücksichtigen Sie das gemeinsame Kontextfenster: Führen Sie ein Upgrade auf google-genai >= 2.30.1 (Python) oder das entsprechende aktuelle Google Gen AI SDK durch. Eingabe-, Denk- und Ausgabetokens verwenden das gemeinsame Kontextfenster mit 1.048.576 Tokens. Wenn die Ausgabe für GenerateContent mehr als 65.536 Tokens umfasst (bis zu 1.048.576 Tokens), legen Sie für max_output_tokens einen Wert über 65.536 fest, damit das Google Gen AI SDK automatisch für alle Anfragen fortfährt. Alternativ können Sie continuation_token in einer eigenen REST-Schleife verarbeiten.
  3. Ersetzen Sie den Parameter für das Budget für Schlussfolgerungen: Ersetzen Sie thinking_budget und MINIMAL durch thinking_level und legen Sie einen der folgenden Werte fest:
    • HIGH: Standard für gemini-4-argon-cyber-permissive. Softwareentwicklung mit mehreren Dateien, formale Beweise, Architekturdesign und Erkennung von Sicherheitslücken.
    • MEDIUM: Standard für gemini-4-argon. Allgemeine Programmierung, Toolnutzung, Fragen und Antworten zu Dokumenten und Videoverständnis.
    • LOW: Klassifizierung, Zusammenfassung und Extraktion von Metadaten.
  4. Entfernen Sie das explizite Caching und laden Sie statische Prompt-Inhalte (6.144 Tokens oder mehr) vorab,um das automatische implizite Caching zu nutzen.
  5. Entfernen Sie Parameter, die keine Wirkung haben oder nicht unterstützt werden:
    • Entfernen Sie temperature, top_p und top_k, die ignoriert werden.
    • Entfernen Sie candidate_count, frequency_penalty und presence_penalty.
    • Entfernen Sie alle vorausgefüllten Modellschritte aus den Unterhaltungsverläufen.

Checkliste für Entwickler

Bekannte Probleme

  • Lange Decodes für GenerateContent erfordern v1beta1: Lange Decodes (continuation_token) für die GenerateContent-API (generateContent und streamGenerateContent) werden nur in der v1beta1-API unterstützt (nicht in v1). Das Google Gen AI SDK verwendet standardmäßig v1beta1, es sei denn, api_version='v1' ist in http_options festgelegt. Verwenden Sie für direkte REST-Aufrufe den Endpunktpfad v1beta1 .

Zusätzliche Ressourcen