O Gemini 4 Argon é o modelo de fronteira do Google que se destaca no trabalho aprofundado em tarefas complexas do mundo real em vários domínios, incluindo programação, finanças, jurídico, segurança cibernética e ciência. É o primeiro modelo da família Gemini 4.
Este documento aborda as novidades do 4 Argon, as convenções de API que ele aplica, como migrar para ele e um guia de início rápido. Para uma visão geral da família Gemini 4, consulte Introdução ao Gemini 4.
Novidades do Gemini 4 Argon
- Limite unificado de tokens de entrada e saída: o 4 Argon tem um limite unificado de 1.048.576 tokens que inclui tokens de entrada e saída (em que a saída inclui raciocínio, chamadas de função e a resposta final) .
- Decodificações longas de até 1.048.576 tokens: estende a geração além do
limite de saída de solicitação única (65.536 tokens ou 32.768 tokens para
solicitações HTTP diretas não transmitidas) até 1.048.576 tokens (menos os tokens de entrada)
em
GenerateContent. O SDK de IA generativa do Google processacontinuation_tokenautomaticamente em todas as solicitações, ou você pode gerenciarcontinuation_tokenno seu próprio loop de continuação. - Níveis de raciocínio:
LOW,MEDIUM(padrão emgemini-4-argon) eHIGH(padrão emgemini-4-argon-cyber-permissive). - Armazenamento em cache implícito com armazenamento em cache durável: o armazenamento em cache implícito é aplicado automaticamente a prefixos de comandos compartilhados de 6.144 tokens ou mais, com o armazenamento em cache durável ativado por padrão. O armazenamento em cache de contexto explícito não é aceito.
- Compreensão agêntica de vídeos: disponibilidade geral e desativada por padrão.
Guia de início rápido
Antes de começar, você precisa se autenticar na Agent Platform usando o Application Default Credentials (ADC) ou uma chave de API. Consulte Introdução à plataforma de agentes do Gemini Enterprise para mais informações.
Nos blocos de código a seguir, substitua PROJECT_ID pelo ID do seu projeto.
Teste no Agent Studio
Para testar comandos e configurar gemini-4-argon na
interface do UI Studio:
- Abra o Agent Studio
no seu Cloud de Confiance by S3NS projeto e selecione
gemini-4-argonno grupo Gemini. - Em Detalhes do modelo, configure:
- Nível de raciocínio: escolha
Low,Medium(padrão) ouHigh. - Região: selecione
Global,usoueu. - Limite de token de saída: defina entre
32,768e1,048,576(1,048,576padrão). O Agent Studio processa tokens de continuação automaticamente para respostas acima do limite de solicitação única.
- Nível de raciocínio: escolha
Instalação
Faça upgrade para o SDK de IA generativa do Google mais recente (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 ou >= 1.6.0 para Kotlin):
pip install --upgrade "google-genai>=2.30.1"
Solicitação 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 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"
}
}
}'
Resposta estruturada
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)
Decodificações longas
Por padrão, uma única solicitação de API gera até 65.536 tokens de saída (ou 32.768 tokens para solicitações HTTP diretas não transmitidas), em que a saída inclui raciocínio, chamadas de função e a resposta final. Para gerar conclusões de até 1.048.576 tokens em GenerateContent (v1beta1), defina max_output_tokens como maior que 65.536 para solicitações de streaming ou maior que 32.768 para solicitações não transmitidas (até 1.048.576). O SDK de IA generativa do Google segue automaticamente continuation_token em todas as solicitações quando finish_reason é CONTINUATION (defina automatic_continuation=False em GenerateContentConfig para desativar a continuação automática) ou você pode transmitir continuation_token em um loop 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 (loop de continuação 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"}
}
}'
Regras de API obrigatórias e convenções de comportamento
O Gemini 4 Argon aplica as seguintes convenções:
Níveis de raciocínio: o 4 Argon oferece suporte a três
thinking_levelvalores (thinking_budgeteMINIMALretornam um erro de validação HTTP400):Nível de pensamento Cargas de trabalho recomendadas HIGH(padrão emgemini-4-argon-cyber-permissive)Engenharia de software com vários arquivos, provas formais, design de arquitetura e descoberta de vulnerabilidades. MEDIUM(padrão emgemini-4-argon)Programação geral, uso de ferramentas, perguntas e respostas de documentos e compreensão de vídeos. LOWClassificação, resumo e extração de metadados. Limite unificado de tokens de entrada e saída e limites de saída de solicitação única:
1,048,576é o limite geral de tokens do modelo e inclui tokens de entrada e saída (em que a saída inclui raciocínio, chamadas de função e a resposta final).max_output_tokenscontrola o limite de tokens de saída para a geração (até1,048,576menos os tokens de entrada). Definirmax_output_tokenscomo maior que1,048,576retorna um erro HTTP400.- Para evitar conclusões longas não intencionais, o limite de saída de solicitação única padrão (raciocínio + resposta do modelo) é de 65.536 tokens (ou 32.768 tokens para solicitações HTTP diretas não transmitidas).
Decodificações longas:
- Como a decodificação longa funciona: a decodificação longa divide uma geração de até
1.048.576 tokens em várias inferências
GenerateContent. Por exemplo, se uma tarefa exigir 256.000 tokens de saída (incluindo pensamentos, chamadas de função e a resposta final), a primeira solicitação de streaming vai gerar até 65.536 tokens de saída e emitirfinish_reason=CONTINUATIONcom umcontinuation_tokencriptografado contendo um hash do comando original e o estado de geração até esse ponto. Incluircontinuation_tokenem solicitações subsequentes com o comando original continua a geração de onde ela parou até quecontinuation_tokennão seja mais emitido efinish_reason=STOP. No Agent Studio, definir o limite de tokens de saída maior que 65.536 até 1.048.576 processa tokens de continuação automaticamente. - Quando usar a decodificação longa: a maioria das solicitações termina dentro do limite por solicitação (65.536 tokens ou 32.768 tokens para chamadas REST não transmitidas). Use a decodificação longa apenas quando uma resposta precisar de mais saída do que isso. A decodificação longa oferece mais espaço para o modelo raciocinar. Ela não torna as respostas mais longas (use
thinking_levelpara controlar a profundidade do raciocínio).
Carga de trabalho Usar decodificação longa? Por quê? Matemática, ciência, pesquisa e provas formais Sim O modelo pode gastar mais de 65.536 tokens para explorar e verificar o raciocínio. As tarefas de programação e agênticas mais difíceis Sim Algumas tarefas precisam de mais de 65.536 tokens de raciocínio e código em uma resposta. A maioria das tarefas de programação e agênticas termina com menos de 65.536 tokens. Aproveitamentos de avaliação que param no limite de saída Sim A decodificação longa evita respostas cortadas quando o modelo gasta uma solicitação inteira de 65.536 ou 32.768 tokens no raciocínio. Chat, perguntas e respostas, resumo, classificação e extração Não Essas tarefas terminam bem abaixo de 32.768 tokens. Solicitações de um comprimento fixo, como "escreva um livro de 700.000 palavras" Não O modelo não segue metas de comprimento. Agentes que chamam ferramentas em muitas rodadas curtas Não Cada rodada é curta. Grandes saídas em cada rodada preenchem rapidamente o limite unificado de entrada e saída de 1.048.576 tokens. Comandos próximos ao limite de entrada de 1.048.576 tokens Não A saída só pode usar 1.048.576 tokens menos a entrada. Solicitações sensíveis à latência Não A decodificação longa pode ser executada por vários minutos. - Escolher uma opção de continuação: escolha uma das duas opções. A maioria dos desenvolvedores usa a opção 1. Todas as opções atingem o mesmo limite de 1.048.576 tokens em
gemini-4-argonegemini-4-argon-cyber-permissive.
Dimensão Opção 1: SDK de IA generativa do Google (recomendado) Opção 2: seu próprio loop de streaming ( streamGenerateContent)Opção 2: seu próprio loop não transmitido ( generateContent)Quem inicia cada segmento SDKs de IA generativa do 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 e Kotlin 1.6.0. Você definemax_output_tokens.Seu código, em cada ponto de verificação ou após um stream descartado Seu código, a cada 32.768 tokens Tokens por solicitação Até 65.536 por segmento 65.536 por stream, com um ponto de verificação a cada 5.000 tokens após 32.768 32.768 por solicitação Limite de tempo por solicitação 20 minutos 20 minutos 20 minutos Armazenamento Sem armazenamento no servidor (compatível com ZDR) Sem armazenamento no servidor (compatível com ZDR) Sem armazenamento no servidor (compatível com ZDR) Ideal para A maioria dos aplicativos Chamadores REST e aproveitamentos personalizados que transmitem Aproveitamentos de avaliação simples - Regras e limitações de implementação:
v1beta1requisito da API (problema conhecido): a decodificação longa (continuation_token) emGenerateContent(generateContentestreamGenerateContent) é aceita apenas na APIv1beta1(nãov1). O SDK de IA generativa do Google usav1beta1por padrão, a menos queapi_version='v1'seja especificado emhttp_options; para chamadas REST diretas, use o caminho do endpointv1beta1. A decodificação longa não é aceita na API Interactions.- Versões do SDK e compatibilidade com a OpenAI: faça upgrade para o
SDK de IA generativa do Google mais recente (
google-genai >= 2.30.1para Python,@google/genai >= 2.29.1para JavaScript,>= 1.74.0para Go,>= 1.77.0para Java,>= 1.26.0para .NET ou>= 1.6.0para Kotlin). Versões mais antigas do SDK e a camada de compatibilidade com a OpenAI não podem recuperar conclusões longas usando tokens de continuação. Para implementações de clientes personalizados, consulte as implementações de referência do SDK de IA generativa do Google em Python e JavaScript/TypeScript. - Reenvie a solicitação original com
continuation_token: em um loop personalizado, definamax_output_tokenscomo maior que 65.536 (streaming) ou 32.768 (unário) até 1.048.576 e reenvie ocontents,system_instructionetoolsoriginais em cada solicitação de continuação, juntamente com ocontinuation_tokenmais recente (um campo de nível superior emGenerateContentRequestno REST ou emGenerateContentConfigno SDK de IA generativa do Google). Não anexe a saída parcial do modelo acontentsnem envie um comando de acompanhamento pedindo que o modelo continue. - Continue com solicitações somente de raciocínio: faça um loop enquanto
finish_reasonforCONTINUATIONecontinuation_tokenestiver presente, mesmo que uma solicitação tenha gasto todos os 32.768 ou 65.536 tokens pensando (parts: [{"text": ""}]). Sefinish_reasonforMAX_TOKENSquandocontinuation_tokenestiver presente, a geração atingiu o limite demax_output_tokenssolicitado. Aumentemax_output_tokensna solicitação. Combine as partes acumuladas em uma única rodada demodelpara o histórico multiturno somente apósSTOP. - Contagem de tokens, compactação e desconto de cache implícito de 95%:
- No SDK de IA generativa do Google para Python (
generate_contentegenerate_content_stream), ousage_metadatada resposta final ou do bloco acumula o total de tokens faturados em solicitações de continuação. Como cada solicitação de continuação preenche novamente as conclusões parciais anteriores como tokens de entrada,prompt_token_countaumenta cumulativamente em todas as solicitações de continuação. Não useprompt_token_countpara acionar a compactação de contexto em estruturas de agentes. Em vez disso, leiainitial_prompt_token_count(emGenerateContentResponseouusage_metadata) e aguarde até queGenerateContentseja concluído (nenhumcontinuation_tokenpresente) antes de compactar. - Em loops REST personalizados,
usage_metadataé cumulativo em cada solicitação. Some oprompt_token_count,cached_content_token_count,candidates_token_countethoughts_token_countfinais em todas as solicitações. - Cada solicitação de continuação preenche novamente o comando mais os tokens decodificados anteriores e recebe automaticamente o desconto de armazenamento em cache de contexto implícito de 95% (mínimo de 6.144 tokens) quando as solicitações são executadas consecutivamente no TTL de cache de 15 a 20 minutos.
streamGenerateContentegenerateContentretornamusage_metadatano final de cada solicitação (65.536 streaming / 32.768 unário), e o faturamento ocorre no final da solicitação.
- No SDK de IA generativa do Google para Python (
- Como a decodificação longa funciona: a decodificação longa divide uma geração de até
1.048.576 tokens em várias inferências
Parâmetros de amostragem ignorados (
temperature,top_k,top_p): o back-end ignora valores personalizados. Controle a profundidade do raciocínio comthinking_levele o formato de saída comresponse_schema.Parâmetros não aceitos (
frequency_penalty,presence_penalty,candidate_count): eles retornam um erro de HTTP400. Remova-os das suas solicitações.Armazenamento em cache de contexto: o armazenamento em cache de contexto explícito não é aceito. O armazenamento em cache implícito (com o armazenamento em cache durável ativado por padrão) é aplicado automaticamente a prefixos de comandos compartilhados de 6.144 tokens ou mais. Portanto, coloque conteúdo estático no início do comando.
Vídeo agêntico: os vídeos enviados são definidos como
media_processing="static"por padrão. Definamedia_processing="agentic"para ativar o processamento de vídeo agêntico.Contagem e faturamento de tokens: cada token processado pelo modelo é contado e faturado, incluindo tokens de raciocínio e instruções internas do sistema de ferramentas e declarações de função ao usar o embasamento. O embasamento com a Pesquisa Google também continua sendo faturado por consulta.
Chamadas de função:
- Simetria de rodada: cada
FunctionResponseprecisa corresponder aoid,name, e ordem doFunctionCallanterior. - Execução sequencial: prefira rodadas de execução de ferramentas sequenciais em loops de ferramentas de várias etapas.
Formatação pré-ferramenta: separe as instruções inline com
\n\ne evite texto não estruturado antes das chamadas de ferramenta. Para registrar o estado intermediário antes de uma chamada de ferramenta, use uma declaração de função 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"] } }
- Simetria de rodada: cada
Validação da sequência de chat:
- Os payloads de histórico não podem terminar com uma rodada de função
model. - Turnos de modelo preenchidos automaticamente não são aceitos.
- Os payloads de histórico não podem terminar com uma rodada de função
Migrar para o 4 Argon do 3.1 Pro
O comportamento a seguir é diferente de gemini-3.1-pro-preview:
- O 4 Argon tem um limite unificado de 1.048.576 tokens na entrada e na saída (em que a saída inclui raciocínio, chamadas de função e a resposta final), em vez de limites de entrada e saída separados. A saída de solicitação única
é limitada a 65.536 tokens (ou 32.768 tokens para solicitações HTTP diretas não transmitidas)
e pode ser estendida até 1.048.576 tokens usando
decodificações longas em
GenerateContent(processadas automaticamente no SDK de IA generativa do Google ou usandocontinuation_tokenem loops personalizados). thinking_budgetretorna um erro HTTP400em vez de ser mapeado para um nível de raciocínio.MINIMALtambém retorna um erro.- O armazenamento em cache de contexto explícito não é aceito.
- Cada token processado pelo modelo é faturado, incluindo instruções internas do sistema de ferramentas e declarações de função ao usar o embasamento.
Para uma comparação lado a lado, consulte Migrar do 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 de gemini-3.1-pro-preview, faça o seguinte:
- Atualize o ID do modelo para
gemini-4-argon(ougemini-4-argon-cyber-permissivepara cargas de trabalho de cibersegurança aprovadas pelo Fairwind). - Faça upgrade para o SDK de IA generativa do Google mais recente e considere o limite unificado de tokens de entrada e saída: faça upgrade para
google-genai >= 2.30.1(Python),@google/genai >= 2.29.1(JavaScript) ou o SDK de IA generativa do Google mais recente equivalente. Os tokens de entrada e saída (incluindo raciocínio e chamadas de função) compartilham o limite unificado de 1.048.576 tokens. Para saídas que excedam 65.536 tokens (até 1.048.576 tokens) emGenerateContent, definamax_output_tokenscomo maior que 65.536 para que o SDK de IA generativa do Google continue automaticamente em todas as solicitações (ou processecontinuation_tokenno seu próprio loop REST). - Substitua o parâmetro de orçamento de raciocínio: substitua
thinking_budgeteMINIMALporthinking_leveldefinido comoLOW,MEDIUM(padrão emgemini-4-argon) ouHIGH(padrão emgemini-4-argon-cyber-permissive). - Remova o armazenamento em cache explícito e carregue o conteúdo estático do comando (6.144 tokens ou mais) para o armazenamento em cache implícito automático.
- Remova parâmetros que não têm efeito ou não são aceitos:
- Remova
temperature,top_petop_k, que são ignorados. - Remova
candidate_count,frequency_penaltyepresence_penalty. - Remova todos os turnos de modelo preenchidos automaticamente dos históricos de conversas.
- Remova
Lista de verificação de resumo para desenvolvedores
Problemas conhecidos
- Decodificações longas em
GenerateContentexigemv1beta1: a decodificação longa (continuation_token) na APIGenerateContent(generateContentestreamGenerateContent) é aceita apenas na APIv1beta1(nãov1). O SDK de IA generativa do Google usav1beta1por padrão, a menos queapi_version='v1'seja definido emhttp_options; para chamadas REST diretas, use o caminho do endpointv1beta1.