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 verarbeitetcontinuation_tokenautomatisch für alle Anfragen. Alternativ können Siecontinuation_tokenin einer eigenen Fortsetzungsschleife verwalten. - Denk-Levels:
LOW,MEDIUM(Standard fürgemini-4-argon) undHIGH(Standard fürgemini-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.
Python (SDK – empfohlen)
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_tokenseinen Wert über1,048,576festlegen, wird ein HTTP-Fehler400zurü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).
- Das Kontextfenster mit 1.048.576 Tokens wird für Eingabe-, Denk- und Ausgabetokens verwendet. Wenn Sie für
Lange Decodes:
- Funktionsweise langer Decodes: Bei langen Decodes wird eine Generierung von bis zu
1.048.576 Tokens auf mehrere
GenerateContentInferenzvorgänge aufgeteilt. Wenn eine Anfrage das Ausgabelimit pro Anfrage erreicht, bevor sie abgeschlossen ist, gibt die APIfinish_reason=CONTINUATIONund ein verschlüsseltescontinuation_tokenzurück, das einen Hash des ursprünglichen Prompts und den Generierungsstatus bis zu diesem Zeitpunkt enthält. Fügen Siecontinuation_tokenin nachfolgende Anfragen mit dem ursprünglichen Prompt ein, biscontinuation_tokennicht mehr ausgegeben wird undfinish_reason=STOPist. 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-argonundgemini-4-argon-cyber-permissiveerreicht.
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=Truestandardmäßig). Legen Sie fürmax_output_tokenseinen 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:
v1beta1API-Anforderung (bekanntes Problem): Lange Decodes (continuation_token) fürGenerateContent(generateContentundstreamGenerateContent) werden nur in derv1beta1-API unterstützt (nichtv1). Das Google Gen AI SDK verwendet standardmäßigv1beta1, es sei denn,api_version='v1'ist inhttp_optionsangegeben. Verwenden Sie für direkte REST -Aufrufe den Endpunktpfadv1beta1. 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.1für Python,@google/genai >= 2.29.1für JavaScript,>= 1.74.0für Go,>= 1.77.0für Java,>= 1.26.0für .NET oder>= 1.6.0fü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ürmax_output_tokenseinen 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ürcontents,system_instructionundtoolszusammen mit dem neuestencontinuation_token(ein Feld der obersten Ebene inGenerateContentRequestin REST oder inGenerateContentConfigim Google Gen AI SDK). Fügen Sie keine Teilausgabe des Modells ancontentsan 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_reasonaufCONTINUATIONgesetzt ist undcontinuation_tokenvorhanden ist,auch wenn bei einer Anfrage alle 32.768 oder 65.536 Tokens für Schlussfolgerungen verwendet wurden (parts: [{"text": ""}]). Wennfinish_reasonaufMAX_TOKENSgesetzt ist,währendcontinuation_tokenvorhanden ist, hat die Generierung das angeforderte Limit fürmax_output_tokenserreicht. Erhöhen Siemax_output_tokensin der Anfrage. Kombinieren Sie die gesammelten Teile erst nachSTOPzu einem einzelnenmodel-Schritt für den mehrstufigen Verlauf. - Tokenzählung, Komprimierung und 95% Rabatt auf implizites Caching:
- Im Python Google Gen AI SDK (
generate_contentundgenerate_content_stream) werden inusage_metadatader 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 sichprompt_token_countkumulativ für alle Fortsetzungsanfragen. Verwenden Sieprompt_token_countnicht, um die Kontextkomprimierung in Agenten-Frameworks auszulösen. Lesen Sie stattdesseninitial_prompt_token_count(inGenerateContentResponseoderusage_metadata) und warten Sie, bisGenerateContentabgeschlossen ist (keincontinuation_tokenvorhanden), bevor Sie die Komprimierung durchführen. - In benutzerdefinierten REST-Schleifen ist
usage_metadatafür jede Anfrage kumulativ. Summieren Sie die endgültigen Werte fürprompt_token_count,cached_content_token_count,candidates_token_countundthoughts_token_countfü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.
streamGenerateContentundgenerateContentgeben am Ende jeder Anfragecontinuation_tokenundusage_metadatazurück (65.536 für Streaming, 32.768 für unär). Die Abrechnung erfolgt am Ende der Anfrage.
- Im Python Google Gen AI SDK (
- Funktionsweise langer Decodes: Bei langen Decodes wird eine Generierung von bis zu
1.048.576 Tokens auf mehrere
Ignorierte Sampling-Parameter (
temperature,top_k,top_p): Das Backend ignoriert benutzerdefinierte Werte. Steuern Sie den Detailgrad der Schlussfolgerungen mitthinking_levelund das Ausgabeformat mitresponse_schema.Nicht unterstützte Parameter (
frequency_penalty,presence_penalty,candidate_count): Diese Parameter führen zu einem HTTP-Fehler400. 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 Siemedia_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
FunctionResponsemuss mit derid,name, und der Reihenfolge des vorherigenFunctionCallübereinstimmen. - Sequenzielle Ausführung: Bevorzugen Sie sequenzielle Toolausführungsschritte in mehrstufigen Toolschleifen.
- Formatierung vor dem Toolaufruf: Trennen Sie Inline-Anweisungen mit
\n\nund vermeiden Sie unstrukturierten Text vor Toolaufrufen.
- Symmetrie der Schritte: Jede
Validierung der Chatsequenz:
- Verlaufsnutzlasten dürfen nicht mit einem
model-Schritt enden. - Vorausgefüllte Modellschritte werden nicht unterstützt.
- Verlaufsnutzlasten dürfen nicht mit einem
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
GenerateContentauf bis zu 1.048.576 Tokens erweitert werden. Dies wird automatisch im Google Gen AI SDK verarbeitet oder mitcontinuation_tokenin benutzerdefinierten Schleifen. thinking_budgetgibt einen HTTP-Fehler400zurück, anstatt einem Denk-Level zugeordnet zu werden.MINIMALgibt 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:
- Aktualisieren Sie die Modell-ID auf
gemini-4-argon(odergemini-4-argon-cyber-permissivefür von Fairwind genehmigte Cybersicherheitsarbeitslasten). - 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ürGenerateContentmehr als 65.536 Tokens umfasst (bis zu 1.048.576 Tokens), legen Sie fürmax_output_tokenseinen Wert über 65.536 fest, damit das Google Gen AI SDK automatisch für alle Anfragen fortfährt. Alternativ können Siecontinuation_tokenin einer eigenen REST-Schleife verarbeiten. - Ersetzen Sie den Parameter für das Budget für Schlussfolgerungen: Ersetzen Sie
thinking_budgetundMINIMALdurchthinking_levelund legen Sie einen der folgenden Werte fest:HIGH: Standard fürgemini-4-argon-cyber-permissive. Softwareentwicklung mit mehreren Dateien, formale Beweise, Architekturdesign und Erkennung von Sicherheitslücken.MEDIUM: Standard fürgemini-4-argon. Allgemeine Programmierung, Toolnutzung, Fragen und Antworten zu Dokumenten und Videoverständnis.LOW: Klassifizierung, Zusammenfassung und Extraktion von Metadaten.
- Entfernen Sie das explizite Caching und laden Sie statische Prompt-Inhalte (6.144 Tokens oder mehr) vorab,um das automatische implizite Caching zu nutzen.
- Entfernen Sie Parameter, die keine Wirkung haben oder nicht unterstützt werden:
- Entfernen Sie
temperature,top_pundtop_k, die ignoriert werden. - Entfernen Sie
candidate_count,frequency_penaltyundpresence_penalty. - Entfernen Sie alle vorausgefüllten Modellschritte aus den Unterhaltungsverläufen.
- Entfernen Sie
Checkliste für Entwickler
Bekannte Probleme
- Lange Decodes für
GenerateContenterfordernv1beta1: Lange Decodes (continuation_token) für dieGenerateContent-API (generateContentundstreamGenerateContent) werden nur in derv1beta1-API unterstützt (nicht inv1). Das Google Gen AI SDK verwendet standardmäßigv1beta1, es sei denn,api_version='v1'ist inhttp_optionsfestgelegt. Verwenden Sie für direkte REST-Aufrufe den Endpunktpfadv1beta1.