Gemini 4 Argon es el modelo de frontera de Google que se destaca en el trabajo profundo en tareas complejas del mundo real en varios dominios, como programación, finanzas, derecho, 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?
- Ventana de contexto: La ventana de contexto de 1,048,576 tokens se comparte entre los tokens de entrada, pensamiento y salida.
- 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 para solicitudes de transmisión o 32,768
tokens para solicitudes HTTP directas que no son de transmisión) hasta 1,048,576 tokens 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.
Instalación
Actualiza a la versión más reciente del SDK de IA generativa de Google (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
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 (API de Interactions)
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?" }
}
}'
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 pensamiento y salida (o 32,768 tokens para solicitudes HTTP directas que no son de transmisión). Para generar finalizaciones de hasta 1,048,576 tokens en GenerateContent (v1beta1), establece max_output_tokens en un valor superior a 65,536 (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
# 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 (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:
- Ventana de contexto y límites de salida de una sola solicitud:
- La ventana de contexto de 1,048,576 tokens se comparte entre los tokens de entrada, pensamiento y salida. Si se establece
max_output_tokensen un valor superior a1,048,576, se muestra un error HTTP400. - 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).
- La ventana de contexto de 1,048,576 tokens se comparte entre los tokens de entrada, pensamiento y salida. Si se establece
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. Cuando una solicitud alcanza su límite de salida por solicitud antes de finalizar, la API muestrafinish_reason=CONTINUATIONy uncontinuation_tokenencriptado que contiene un hash de la instrucción original y el estado de generación hasta ese punto. Incluyecontinuation_tokenen las solicitudes posteriores con la instrucción original hasta quecontinuation_tokenya no se emita 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).
La decodificación larga le da al modelo más espacio para razonar, pero 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 programació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 programació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 mucho 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 la ventana compartida de entrada y salida de 1,048,576 tokens. Instrucciones 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: 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 El SDK ( automatic_continuation=Truede forma predeterminada). Establecemax_output_tokensen un valor superior a 65,536 (hasta 1,048,576) para salidas de más de 65,536 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 32,768 por solicitud Límite de tiempo por solicitud 20 minutos 20 minutos 20 minutos Almacenamiento y ZDR 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 REST directas, 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 a la versión más reciente del
SDK de IA generativa de Google (
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 implementaciones de clientes personalizadas, consulta la implementación de referencia del SDK de IA generativa de Google. - Vuelve a enviar 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 vuelve a enviar 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 una salida parcial del modelo acontentsni envíes una instrucción de seguimiento para pedirle 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. - Recuento 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 compactar. - 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 la instrucción 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.
streamGenerateContentygenerateContentmuestrancontinuation_tokenyusage_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 admitidos (
frequency_penalty,presence_penalty,candidate_count): Estos muestran un error de HTTP400. 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 la instrucción.
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.Recuento de tokens y facturación: Se cuenta cada token que procesa el modelo y se factura, 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 en línea con
\n\ny evita el texto no estructurado antes de las llamadas a herramientas.
- 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 modelo 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:
- La ventana de contexto es una ventana de 1,048,576 tokens compartida por la entrada, el pensamiento y la salida, 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 error HTTP400en 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.
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 cargas de trabajo de ciberseguridad aprobadas por Fairwind). - Actualiza a la versión más reciente del SDK de IA generativa de Google y ten en cuenta la ventana de contexto
compartida: Actualiza a
google-genai >= 2.30.1(Python) o al SDK de IA generativa de Google más reciente equivalente. Los tokens de entrada, pensamiento y salida comparten la ventana de contexto de 1,048,576 tokens. Para las salidas que superen 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 en uno de los siguientes valores: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. Programación general, uso de herramientas, preguntas y respuestas de documentos y comprensión de video.LOW: Clasificación, resumen y extracción de metadatos.
- Quita el almacenamiento en caché explícito y carga previamente el contenido estático de la instrucción (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 modelo precompletados de los historiales de conversación.
- 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 REST directas, usa la ruta de acceso del extremov1beta1.