Gemini 4 Argon es el modelo de frontera de Google que se destaca en el trabajo profundo en tareas complejas y del mundo real en varios dominios, como programación, finanzas, asuntos legales, ciberseguridad y ciencia. Es el primer modelo de la familia Gemini 4.
En este documento, se abordan las novedades de 4 Argon, las convenciones de API que aplica, cómo migrar a él y una guía de inicio rápido. Para obtener una descripción general de la familia Gemini 4, consulta Comienza a usar Gemini 4.
¿Cuáles son las novedades de Gemini 4 Argon?
- Límite unificado de tokens de entrada y salida: 4 Argon tiene un límite unificado de 1,048,576 tokens que incluye tokens de entrada y salida (en los que la salida incluye el pensamiento, las llamadas a funciones y la respuesta final).
- Decodificaciones largas de hasta 1,048,576 tokens: Extiende la generación más allá del
límite de salida de una sola solicitud (65,536 tokens o 32,768 tokens para
solicitudes HTTP directas que no son de transmisión) hasta 1,048,576 tokens (menos los tokens de entrada)
en
GenerateContent. El SDK de IA generativa de Google controlacontinuation_tokenautomáticamente en las solicitudes, o bien puedes administrarcontinuation_tokenen tu propio bucle de continuación. - Niveles de pensamiento:
LOW,MEDIUM(predeterminado engemini-4-argon) yHIGH(predeterminado engemini-4-argon-cyber-permissive). - Almacenamiento en caché implícito con almacenamiento en caché duradero: El almacenamiento en caché implícito se aplica automáticamente a los prefijos de instrucciones compartidos de 6,144 tokens o más, con el almacenamiento en caché duradero habilitado de forma predeterminada. No se admite el almacenamiento en caché de contexto explícito.
- Comprensión de video de agentes: Está disponible de forma general y desactivada de forma predeterminada.
Guía de inicio rápido
Antes de comenzar, debes autenticarte en Agent Platform con las credenciales predeterminadas de la aplicación (ADC) o una clave de API. Consulta Comienza a usar Gemini Enterprise Agent Platform para obtener más información.
En los siguientes bloques de código, reemplaza PROJECT_ID por el ID de tu proyecto.
Probar en Agent Studio
Para probar los mensajes y configurar gemini-4-argon en la
IU
de Agent Studio, haz lo siguiente:
- Abre Agent Studio
en tu Cloud de Confiance by S3NS proyecto y selecciona
gemini-4-argonen el grupo Gemini. - En Ajustes del modelo, configura lo siguiente:
- Nivel de pensamiento: Elige
Low,Medium(predeterminado) oHigh. - Región: Selecciona
Global,us, oeu. - Límite de tokens de salida: Establece entre
32,768y1,048,576(1,048,576predeterminado). Agent Studio controla los tokens de continuación automáticamente para las respuestas que superan el límite de una sola solicitud.
- Nivel de pensamiento: Elige
Instalación
Actualiza al SDK de IA generativa de Google más reciente (google-genai >= 2.30.1 para Python,
@google/genai >= 2.29.1 para JavaScript, >= 1.74.0 para Go, >= 1.77.0 para
Java, >= 1.26.0 para .NET o >= 1.6.0 para Kotlin):
pip install --upgrade "google-genai>=2.30.1"
Solicitud básica
Python (GenerateContent)
from google import genai
from google.genai import types
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-4-argon",
contents="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(
thinking_level="MEDIUM", # Default: "MEDIUM" (Valid: "LOW", "MEDIUM", "HIGH")
),
),
)
print(response.text)
Python (API de Interactions)
from google import genai
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
# Turn 1: Initial request (stored server-side by default)
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)
# Turn 2: Continue the conversation using previous_interaction_id
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 application-default 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": "Provide an architectural review of this Go interface."
}
]
}
],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "MEDIUM"
}
}
}'
Resultados estructurados
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)
Decodificaciones largas
De forma predeterminada, una sola solicitud a la API genera hasta 65,536 tokens de salida (o 32,768 tokens para solicitudes HTTP directas que no son de transmisión), en los que la salida incluye el pensamiento, las llamadas a funciones y la respuesta final. Para generar finalizaciones de hasta 1,048,576 tokens en GenerateContent (v1beta1), establece max_output_tokens en un valor superior a 65,536 para las solicitudes de transmisión o superior a 32,768 para las solicitudes que no son de transmisión (hasta 1,048,576). El SDK de IA generativa de Google sigue automáticamente continuation_token en las solicitudes cuando finish_reason es CONTINUATION (establece automatic_continuation=False en GenerateContentConfig para inhabilitar la continuación automática), o bien puedes pasar continuation_token en un bucle personalizado.
Python (SDK, recomendado)
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.
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(
thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
automatic_continuation=False,
),
):
print(chunk.text, end="")
REST (bucle de continuación personalizado)
# 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"}
}
}'
Reglas obligatorias de la API y convenciones de comportamiento
Gemini 4 Argon aplica las siguientes convenciones:
Niveles de pensamiento: 4 Argon admite tres
thinking_levelvalores (thinking_budgetyMINIMALmuestran un error de validación400de HTTP):Nivel de pensamiento Cargas de trabajo recomendadas HIGH(predeterminado engemini-4-argon-cyber-permissive)Ingeniería de software de varios archivos, pruebas formales, diseño de arquitectura y descubrimiento de vulnerabilidades MEDIUM(predeterminado engemini-4-argon)Codificación general, uso de herramientas, preguntas y respuestas de documentos y comprensión de video LOWClasificación, resumen y extracción de metadatos Límite unificado de tokens de entrada y salida, y límites de salida de una sola solicitud:
1,048,576es el límite general de tokens del modelo e incluye tokens de entrada y salida (en los que la salida incluye el pensamiento, las llamadas a funciones y la respuesta final).max_output_tokenscontrola el límite de tokens de salida para la generación (hasta1,048,576menos los tokens de entrada); si se establecemax_output_tokensen un valor superior a1,048,576, se muestra un error400de HTTP.- Para evitar finalizaciones largas no deseadas, el límite de salida predeterminado de una sola solicitud (pensamiento + respuesta del modelo) es de 65,536 tokens (o 32,768 tokens para solicitudes HTTP directas que no son de transmisión).
Decodificaciones largas:
- Cómo funciona la decodificación larga: La decodificación larga divide una generación de hasta
1,048,576 tokens en varias inferencias
GenerateContent. Por ejemplo, si una tarea requiere 256,000 tokens de salida (incluidos los pensamientos, las llamadas a funciones y la respuesta final), la primera solicitud de transmisión genera hasta 65,536 tokens de salida y emitefinish_reason=CONTINUATIONcon uncontinuation_tokenencriptado que contiene un hash del mensaje original y el estado de generación hasta ese punto. Si se incluyecontinuation_tokenen las solicitudes posteriores con el mensaje original, se continúa la generación desde donde se dejó hasta quecontinuation_tokenya no se emite yfinish_reason=STOP. (En Agent Studio, si se establece el límite de tokens de salida en un valor superior a 65,536 hasta 1,048,576, se controlan los tokens de continuación automáticamente). - Cuándo usar la decodificación larga: La mayoría de las solicitudes finalizan dentro del límite por solicitud (65,536 tokens o 32,768 tokens para llamadas REST que no son de transmisión). Usa la decodificación larga solo cuando una respuesta necesite más salida que eso. La decodificación larga le da al modelo más espacio para razonar; no hace que las respuestas sean más largas (usa
thinking_levelpara controlar la profundidad del razonamiento).
Carga de trabajo ¿Usar decodificación larga? Por qué Matemáticas, ciencias, investigación y pruebas formales difíciles Sí El modelo puede usar más de 65,536 tokens para explorar y verificar su razonamiento. Las tareas de codificación y de agentes más difíciles Sí Algunas tareas necesitan más de 65,536 tokens de pensamiento y código en una respuesta. La mayoría de las tareas de codificación y de agentes finalizan con menos de 65,536 tokens. Aprovechamientos de evaluación que se detienen en el límite de salida Sí La decodificación larga evita las respuestas cortadas cuando el modelo usa una solicitud completa de 65,536 o 32,768 tokens para pensar. Chat, preguntas y respuestas, resumen, clasificación y extracción No Estas tareas finalizan con menos de 32,768 tokens. Solicitudes de una longitud fija, como "escribir un libro de 700,000 palabras" No El modelo no sigue los objetivos de longitud. Agentes que llaman a herramientas en muchos turnos cortos No Cada turno es corto. Las salidas grandes en cada turno llenan rápidamente el límite unificado de entrada y salida de 1,048,576 tokens. Mensajes cerca del límite de entrada de 1,048,576 tokens No La salida solo puede usar 1,048,576 tokens menos tu entrada. Solicitudes sensibles a la latencia No La decodificación larga puede ejecutarse durante varios minutos. - Cómo elegir una opción de continuación: Elige una de las dos opciones. La mayoría de los desarrolladores usan la opción 1. Todas las opciones alcanzan el mismo límite de 1,048,576 tokens en
gemini-4-argonygemini-4-argon-cyber-permissive.
Dimensión Opción 1: SDK de IA generativa de Google (recomendado) Opción 2: Tu propio bucle de transmisión ( streamGenerateContent)Opción 2: Tu propio bucle que no es de transmisión ( generateContent)Quién inicia cada segmento SDKs de IA generativa de Google: Python ( google-genai) 2.30.1, JavaScript (@google/genai) 2.29.1, Go 1.74.0, Java 1.77.0, .NET 1.26.0 y Kotlin 1.6.0 Establecesmax_output_tokens.Tu código, en cada punto de control o después de una transmisión interrumpida Tu código, cada 32,768 tokens Tokens por solicitud Hasta 65,536 por segmento 65,536 por transmisión, con un punto de control cada 5,000 tokens después de 32,768 32,768 por solicitud Límite de tiempo por solicitud 20 minutos 20 minutos 20 minutos Almacenamiento Sin almacenamiento del servidor (compatible con ZDR) Sin almacenamiento del servidor (compatible con ZDR) Sin almacenamiento del servidor (compatible con ZDR) Ideal para La mayoría de las aplicaciones Llamadores de REST y aprovechamientos personalizados que transmiten Aprovechamientos de evaluación simples - Reglas y limitaciones de implementación:
v1beta1requisito de la API (problema conocido): La decodificación larga (continuation_token) enGenerateContent(generateContentystreamGenerateContent) solo se admite en la API dev1beta1(no env1). El SDK de IA generativa de Google usav1beta1de forma predeterminada, a menos que se especifiqueapi_version='v1'enhttp_options; para las llamadas directas de REST usa la ruta de acceso del extremov1beta1. La decodificación larga no se admite en la API de Interactions.- Versiones del SDK y compatibilidad con OpenAI: Actualiza al
SDK de IA generativa de Google más reciente (
google-genai >= 2.30.1para Python,@google/genai >= 2.29.1para JavaScript,>= 1.74.0para Go,>= 1.77.0para Java,>= 1.26.0para .NET o>= 1.6.0para Kotlin). Las versiones anteriores del SDK y la capa de compatibilidad con OpenAI no pueden recuperar finalizaciones largas con tokens de continuación. Para las implementaciones de clientes personalizados, consulta las implementaciones de referencia del SDK de IA generativa de Google en Python y JavaScript/TypeScript. - Reenvía la solicitud original con
continuation_token: En un bucle personalizado, establecemax_output_tokensen un valor superior a 65,536 (transmisión) o 32,768 (unario) hasta 1,048,576 y reenvía elcontents,system_instructionytoolsoriginales en cada solicitud de continuación junto con elcontinuation_tokenmás reciente (un campo de nivel superior enGenerateContentRequesten REST o enGenerateContentConfigen el SDK de IA generativa de Google). No agregues la salida parcial del modelo acontentsni envíes un mensaje de seguimiento en el que se le pida al modelo que continúe. - Continúa con las solicitudes de solo pensamiento: Haz un bucle mientras
finish_reasonseaCONTINUATIONycontinuation_tokenesté presente, incluso si una solicitud usó los 32,768 o 65,536 tokens para pensar (parts: [{"text": ""}]). Sifinish_reasonesMAX_TOKENScuandocontinuation_tokenestá presente, la generación alcanzó el límite demax_output_tokenssolicitado. Aumentamax_output_tokensen la solicitud. Combina las partes acumuladas en un solo turnomodelpara el historial de varios turnos solo después deSTOP. - Conteo de tokens, compactación y descuento implícito del 95% en el caché:
- En el SDK de IA generativa de Google para Python (
generate_contentygenerate_content_stream), elusage_metadatade la respuesta final o del fragmento acumula los tokens facturados totales en las solicitudes de continuación. Dado que cada solicitud de continuación vuelve a completar las finalizaciones parciales anteriores como tokens de entrada,prompt_token_countaumenta de forma acumulativa en las solicitudes de continuación. No usesprompt_token_countpara activar la compactación de contexto en los aprovechamientos de agentes. En su lugar, leeinitial_prompt_token_count(enGenerateContentResponseousage_metadata) y espera hasta que se completeGenerateContent(no haycontinuation_tokenpresente) antes de la compactación. - En los bucles REST personalizados,
usage_metadataes acumulativo dentro de cada solicitud; suma elprompt_token_count,cached_content_token_count,candidates_token_countythoughts_token_countfinales en las solicitudes. - Cada solicitud de continuación vuelve a completar el mensaje más los tokens decodificados anteriores y recibe automáticamente el descuento implícito del 95% en el almacenamiento en caché de contexto (mínimo de 6,144 tokens) cuando las solicitudes se ejecutan de forma consecutiva dentro del TTL de caché de 15 a 20 minutos.
streamGenerateContentygenerateContentmuestranusage_metadataal final de cada solicitud (65,536 transmisión/32,768 unario), y la facturación se realiza al final de la solicitud.
- En el SDK de IA generativa de Google para Python (
- Cómo funciona la decodificación larga: La decodificación larga divide una generación de hasta
1,048,576 tokens en varias inferencias
Parámetros de muestreo ignorados (
temperature,top_k,top_p): El backend ignora los valores personalizados. Controla la profundidad del razonamiento conthinking_levely el formato de salida conresponse_schema.Parámetros no compatibles (
frequency_penalty,presence_penalty,candidate_count): Estos muestran un error400de HTTP. Quítalos de tus solicitudes.Almacenamiento en caché de contexto: No se admite el almacenamiento en caché de contexto explícito. El almacenamiento en caché implícito (con el almacenamiento en caché duradero habilitado de forma predeterminada) se aplica automáticamente a los prefijos de instrucciones compartidos de 6,144 tokens o más, por lo que debes colocar contenido estático al comienzo de tu mensaje.
Video de agentes: Los videos subidos se establecen de forma predeterminada en
media_processing="static". Establecemedia_processing="agentic"para habilitar el procesamiento de video de agentes.Conteo y facturación de tokens: Se cuenta y se factura cada token que procesa el modelo, incluidos los tokens de razonamiento y las instrucciones internas del sistema de herramientas y las declaraciones de funciones cuando se usa la fundamentación. La fundamentación con la Búsqueda de Google también se sigue facturando por consulta.
Llamada a función:
- Simetría de turnos: Cada
FunctionResponsedebe coincidir con elid,name, y el orden delFunctionCallanterior. - Ejecución secuencial: Prefiere los turnos de ejecución secuencial de herramientas en los bucles de herramientas de varios pasos.
Formato previo a la herramienta: Separa las instrucciones intercaladas con
\n\ny evita el texto no estructurado antes de las llamadas a herramientas. Para registrar el estado intermedio antes de una llamada a herramienta, usa una declaración de función dedicada:{ "name": "update", "description": "Update working notes before tool execution", "parameters": { "type": "OBJECT", "properties": { "previous_step": {"type": "STRING"}, "plan": {"type": "STRING"}, "next_step": {"type": "STRING"} }, "required": ["previous_step", "plan", "next_step"] } }
- Simetría de turnos: Cada
Validación de secuencia de chat:
- Las cargas útiles del historial no pueden terminar con un turno de rol
model. - No se admiten los turnos de modelos precompletados.
- Las cargas útiles del historial no pueden terminar con un turno de rol
Migra a 4 Argon desde 3.1 Pro
El siguiente comportamiento es diferente de gemini-3.1-pro-preview:
- 4 Argon tiene un límite unificado de 1,048,576 tokens en la entrada y la salida (en los que la salida incluye el pensamiento, las llamadas a funciones y la respuesta final), en lugar de límites de entrada y salida separados. La salida de una sola solicitud
está limitada a 65,536 tokens (o 32,768 tokens para solicitudes HTTP directas
que no son de transmisión) y se puede extender hasta 1,048,576 tokens con
decodificaciones largas en
GenerateContent(que se controlan automáticamente en el SDK de IA generativa de Google o concontinuation_tokenen bucles personalizados). thinking_budgetmuestra un error400de HTTP en lugar de asignarse a un nivel de pensamiento.MINIMALtambién muestra un error.- No se admite el almacenamiento en caché de contexto explícito.
- Se factura cada token que procesa el modelo, incluidas las instrucciones internas del sistema de herramientas y las declaraciones de funciones cuando se usa la fundamentación.
Para obtener una comparación en paralelo, consulta Migra desde Gemini 3.1 Pro.
client = genai.Client(
enterprise=True,
project="PROJECT_ID",
location="global", # Supports "global", "us", and "eu"
)
response = client.models.generate_content(
- model="gemini-3.1-pro-preview",
+ model="gemini-4-argon",
contents=prompt,
config=types.GenerateContentConfig(
- temperature=0.0,
- cached_content="projects/.../cachedContents/...", # Explicit caching unsupported
thinking_config=types.ThinkingConfig(
- thinking_budget=16384, # Returns HTTP 400 instead of mapping silently
- thinking_level="MINIMAL", # MINIMAL unsupported on Gemini 4 Argon
+ thinking_level="MEDIUM", # Valid: "LOW", "MEDIUM" (default), "HIGH"
),
),
)
Para migrar desde gemini-3.1-pro-preview, haz lo siguiente:
- Actualiza el ID del modelo a
gemini-4-argon(ogemini-4-argon-cyber-permissivepara las cargas de trabajo de ciberseguridad aprobadas por Fairwind). - Actualiza al SDK de IA generativa de Google más reciente y ten en cuenta el límite unificado de tokens de entrada y salida: Actualiza a
google-genai >= 2.30.1(Python),@google/genai >= 2.29.1(JavaScript) o el SDK de IA generativa de Google más reciente equivalente. Los tokens de entrada y salida (incluidos los pensamientos y las llamadas a funciones) comparten el límite unificado de 1,048,576 tokens. Para las salidas que superan los 65,536 tokens (hasta 1,048,576 tokens) enGenerateContent, establecemax_output_tokensen un valor superior a 65,536 para que el SDK de IA generativa de Google continúe automáticamente en las solicitudes (o controlacontinuation_tokenen tu propio bucle REST). - Reemplaza el parámetro de presupuesto de razonamiento: Reemplaza
thinking_budgetyMINIMALporthinking_levelestablecido enLOW,MEDIUM(predeterminado engemini-4-argon) oHIGH(predeterminado engemini-4-argon-cyber-permissive). - Quita el almacenamiento en caché explícito y carga previamente el contenido estático del mensaje (6,144 tokens o más) para el almacenamiento en caché implícito automático.
- Quita los parámetros que no tienen efecto o no son compatibles:
- Quita
temperature,top_pytop_k, que se ignoran. - Quita
candidate_count,frequency_penaltyypresence_penalty. - Quita los turnos de modelos precompletados de los historiales de conversaciones.
- Quita
Lista de tareas de resumen para desarrolladores
Problemas conocidos
- Las decodificaciones largas en
GenerateContentrequierenv1beta1: La decodificación larga (continuation_token) en la API deGenerateContent(generateContentystreamGenerateContent) solo se admite en la API dev1beta1(no env1). El SDK de IA generativa de Google usav1beta1de forma predeterminada, a menos que se establezcaapi_version='v1'enhttp_options; para las llamadas directas de REST, usa la ruta de acceso del extremov1beta1.