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
- Janela de contexto: a janela de contexto de 1.048.576 tokens é compartilhada entre tokens de entrada, pensamento e saída.
- 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 para solicitações de streaming ou 32.768
tokens para solicitações HTTP diretas não transmitidas) até 1.048.576 tokens 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, autentique-se 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.
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
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 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?" }
}
}'
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 pensamento e saída (ou 32.768 tokens para solicitações HTTP diretas não transmitidas). Para gerar conclusões de até 1.048.576 tokens no GenerateContent (v1beta1), defina max_output_tokens como maior que 65.536 (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
# 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 (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 comportamentais
O Gemini 4 Argon aplica as seguintes convenções:
- Janela de contexto e limites de saída de solicitação única:
- A janela de contexto de 1.048.576 tokens é compartilhada entre tokens de entrada, pensamento e saída. Definir
max_output_tokensmaior 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 (pensamento + resposta do modelo) é de 65.536 tokens (ou 32.768 tokens para solicitações HTTP diretas não transmitidas).
- A janela de contexto de 1.048.576 tokens é compartilhada entre tokens de entrada, pensamento e saída. Definir
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. Quando uma solicitação atinge o limite de saída por solicitação antes de terminar, a API retornafinish_reason=CONTINUATIONe umcontinuation_tokencriptografado contendo um hash do comando original e o estado de geração até esse ponto. Incluacontinuation_tokenem solicitações subsequentes com o comando original 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 os 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).
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 difíceis 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 pensamento 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 pensamento. 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 "escrever um livro de 700.000 palavras" Não O modelo não segue metas de comprimento. Agentes que chamam ferramentas em muitos turnos curtos Não Cada turno é curto. Grandes saídas em cada turno preenchem rapidamente a janela compartilhada 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. - Como escolher uma opção de continuação: 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 O SDK ( automatic_continuation=Truepor padrão). Definamax_output_tokensmaior que 65.536 (até 1.048.576) para saídas acima de 65.536 tokens.Seu código, em cada ponto de verificação ou após um fluxo descartado Seu código, a cada 32.768 tokens Tokens por solicitação Até 65.536 por segmento 65.536 por fluxo 32.768 por solicitação Limite de tempo por solicitação 20 minutos 20 minutos 20 minutos Armazenamento e ZDR Sem armazenamento do servidor (compatível com ZDR) Sem armazenamento do servidor (compatível com ZDR) Sem armazenamento do 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 a implementação de referência do SDK de IA generativa do Google . - Reenviar a solicitação original com
continuation_token: em um loop personalizado, definamax_output_tokensmaior que 65.536 (streaming) ou 32.768 (unário) até 1.048.576, e reenvie oscontents,system_instructionetoolsoriginais em cada solicitação de continuação junto 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 pensamento: 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 um único turno 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 ou do bloco final 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 e 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.
streamGenerateContentegenerateContentretornamcontinuation_tokeneusage_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 de tokens e faturamento: cada token processado pelo modelo é contado e faturado, incluindo tokens de raciocínio e instruções e declarações de função do sistema de ferramentas internas ao usar o embasamento. O embasamento com a Pesquisa Google também continua sendo faturado por consulta.
Chamadas de função:
- Simetria de turno: cada
FunctionResponseprecisa corresponder aoid,name, e ordem doFunctionCallanterior. - Execução sequencial: prefira turnos 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.
- Simetria de turno: cada
Validação da sequência de chat:
- Os payloads de histórico não podem terminar com um turno de função
model. - Os turnos de modelo preenchidos automaticamente não são aceitos.
- Os payloads de histórico não podem terminar com um turno de função
Migrar para o 4 Argon do 3.1 Pro
O comportamento a seguir é diferente de gemini-3.1-pro-preview:
- A janela de contexto é uma janela de 1.048.576 tokens compartilhada por entrada, pensamento e saída, 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 pensamento.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 do sistema de ferramentas internas e declarações de função ao usar o embasamento.
Para uma comparação lado a lado, consulte Migrar do Gemini 3.1 Pro.
Para migrar do 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 a janela de contexto
compartilhada: faça upgrade para
google-genai >= 2.30.1(Python) ou o SDK de IA generativa do Google mais recente equivalente. Os tokens de entrada, pensamento e saída compartilham a janela de contexto de 1.048.576 tokens. Para saídas que excedam 65.536 tokens (até 1.048.576 tokens) emGenerateContent, definamax_output_tokensmaior 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 como um dos seguintes valores:HIGH: padrão emgemini-4-argon-cyber-permissive. Engenharia de software de 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.LOW: classificação, resumo e extração de metadados.
- 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.