A Anthropic lançou o Claude Sonnet 5 em 30 de junho de 2026 como substituto direto do Sonnet 4.6. Em muitos casos, a migração é trocar claude-sonnet-4-6 por claude-sonnet-5. Mas antes de fazer isso em produção, revise três pontos: novo tokenizador, pensamento adaptativo ativado por padrão e parâmetros que agora retornam erro 400.
Resumo prático: o preço por token é o mesmo, os benchmarks de código e agentes melhoraram, mas você precisa ajustar thinking, remover parâmetros de amostragem não padrão e recalcular seus orçamentos de tokens.
A atualização em um piscar de olhos
O Sonnet 5 mantém o mesmo preço por token do Sonnet 4.6. Isso não significa que sua conta final será idêntica, porque o novo tokenizador pode gerar mais tokens para o mesmo texto.
Comparação rápida:
| Atributo | Sonnet 4.6 (claude-sonnet-4-6) |
Sonnet 5 (claude-sonnet-5) |
|---|---|---|
| Lançado | Antecessor | 30 de junho de 2026 |
| Janela de contexto | Até 1M tokens | 1M tokens, padrão e máximo |
| Saída máxima | 128K tokens | 128K tokens |
| Pensamento padrão | Desativado quando não há campo thinking
|
Pensamento adaptativo ativado por padrão |
Pensamento estendido (budget_tokens) |
Obsoleto | Retorna erro 400
|
Parâmetros de amostragem (temperature, top_p, top_k) |
Aceitos | Valores não padrão retornam 400
|
| Tokenizador | Tokenizador anterior | Novo tokenizador, cerca de 30% mais tokens por texto |
| Preço padrão | US$3 / US$15 por milhão de tokens in/out | US$3 / US$15 por milhão de tokens in/out |
| Preço de introdução | n/a | US$2 / US$10 por milhão até 31 de agosto de 2026 |
Recursos como saídas estruturadas, visão, cache de prompt, uso de ferramentas e batch continuam disponíveis. A exceção é o Priority Tier, que não está disponível no Sonnet 5.
O que melhorou: benchmarks
O Sonnet 5 é voltado a tarefas agenticas e uso intensivo de ferramentas. Estes são números de lançamento relatados pela Anthropic; trate-os como benchmarks reportados, não como testes independentes.
| Benchmark | Sonnet 4.6 | Sonnet 5 |
|---|---|---|
| SWE-bench Pro, codificação agentica | 58.1% | 63.2% |
| OSWorld-Verified, uso de computador | 78.5% | 81.2% |
Na prática, isso importa para aplicações que:
- geram ou corrigem código;
- chamam ferramentas externas;
- operam terminal, navegador ou APIs;
- executam ciclos agenticos com múltiplas etapas.
A Anthropic também relata que o Sonnet 5 se aproxima do Opus 4.8 quando ferramentas entram no fluxo, com custo menor. Para a comparação direta, veja Sonnet 5 vs Opus 4.8.
Segundo a Anthropic, o Sonnet 5 também reduz comportamentos indesejáveis, alucinação e bajulação, além de melhorar resistência contra prompt injection. Um detalhe de implementação: recusas podem retornar HTTP 200 com stop_reason: "refusal", não erro HTTP.
Trate isso explicitamente:
if response.stop_reason == "refusal":
# registre, mostre fallback ou acione fluxo seguro
handle_refusal(response)
As três mudanças reais de código
A migração normalmente se resume a estes ajustes:
- configurar ou desativar pensamento adaptativo;
- remover
budget_tokens; - remover parâmetros de amostragem não padrão.
1. Pensamento adaptativo agora está ativado por padrão
No Sonnet 4.6, omitir thinking significava não usar pensamento. No Sonnet 5, uma requisição sem thinking usa pensamento adaptativo por padrão.
Isso afeta max_tokens, porque o limite cobre:
tokens de pensamento + tokens da resposta final
Se seu max_tokens estava calibrado apenas para a resposta final, você pode ver respostas truncadas.
Para manter o comportamento anterior, desative explicitamente:
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
thinking={"type": "disabled"},
messages=[
{
"role": "user",
"content": "Return the OpenAPI 3.1 path object for GET /invoices/{id}."
}
],
)
print(response.content[0].text)
Para usar pensamento adaptativo com controle de profundidade:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=8192,
thinking={"type": "adaptive"},
effort="medium",
messages=[
{
"role": "user",
"content": "Draft integration tests for the POST /orders endpoint."
}
],
)
Use effort para controlar a profundidade:
low
medium
high
xhigh
2. O pensamento estendido manual foi removido
Este padrão antigo agora retorna erro 400:
{
"thinking": {
"type": "enabled",
"budget_tokens": 4096
}
}
Substitua por pensamento adaptativo:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=8192,
thinking={"type": "adaptive"},
effort="high",
messages=[
{
"role": "user",
"content": "Analyze this failing CI pipeline and propose a fix."
}
],
)
Regra prática:
| Antes | Agora |
|---|---|
budget_tokens pequeno |
effort="low" ou effort="medium"
|
budget_tokens grande |
effort="high" ou effort="xhigh"
|
| Sem pensamento | thinking={"type": "disabled"} |
3. Parâmetros de amostragem agora retornam 400
No Sonnet 5, estes campos com valores não padrão retornam erro:
{
"temperature": 0,
"top_p": 0.9,
"top_k": 40
}
Remova-os da requisição.
Se você usava temperature=0 para respostas mais previsíveis, mova a restrição para o prompt do sistema:
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=2048,
thinking={"type": "disabled"},
system=(
"Responda somente com JSON válido. "
"Não inclua Markdown, comentários ou texto fora do objeto JSON. "
"Use exatamente as chaves: status, summary, errors."
),
messages=[
{
"role": "user",
"content": "Validate this API response payload."
}
],
)
Faça uma busca no código antes da migração:
grep -R "temperature\|top_p\|top_k\|budget_tokens" ./src
Também continua valendo uma limitação do 4.6: preenchimento de mensagens do assistente não é suportado e retorna 400. Para controlar formato de saída, use saídas estruturadas, output_config.format ou instruções no prompt do sistema.
A pegadinha do tokenizador
O Sonnet 5 usa um novo tokenizador. O mesmo texto pode gerar cerca de 30% mais tokens do que no Sonnet 4.6.
Isso não exige mudança no formato da API. Requisições, respostas e streaming continuam iguais. O impacto está em orçamento, custo e truncamento.
Revise:
-
Campos
usage: não reutilize contagens do Sonnet 4.6. - Janela de contexto: 1M tokens pode comportar menos caracteres do seu conteúdo.
-
max_tokens: respostas antes seguras podem ser cortadas. - Custo por requisição: mesmo preço por token, mas mais tokens por texto equivalente.
Exemplo:
Sonnet 4.6: 10.000 tokens
Sonnet 5: ~13.000 tokens
Com a mesma taxa por token, a requisição equivalente pode custar cerca de 30% mais. A análise de preços do Sonnet 5 detalha esse cálculo com preço de introdução e preço padrão.
Meça com o endpoint de contagem de tokens:
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-sonnet-5",
"messages": [
{
"role": "user",
"content": "Summarize the changelog for our billing API v3 release."
}
]
}'
Depois rode a mesma chamada com:
"model": "claude-sonnet-4-6"
Compare os totais antes de atualizar limites, alertas e estimativas de custo.
O que a atualização custa
Por token, o Sonnet 5 custa o mesmo que o Sonnet 4.6:
| Tipo | Preço padrão |
|---|---|
| Entrada | US$3 por milhão de tokens |
| Saída | US$15 por milhão de tokens |
Até 31 de agosto de 2026, há preço introdutório:
| Tipo | Preço introdutório |
|---|---|
| Entrada | US$2 por milhão de tokens |
| Saída | US$10 por milhão de tokens |
Durante a janela introdutória, o preço menor ajuda a compensar o aumento de tokens do novo tokenizador. Depois disso, o custo por requisição equivalente pode subir se o mesmo conteúdo gerar mais tokens.
Para batch e cache de prompt, use a página de preços da Anthropic como referência.
Se você também compara versões anteriores, veja os guias de preço do Sonnet 4.6 e custo da API Claude.
Você deveria atualizar?
Depende do seu caso de uso.
Atualize agora se você cria agentes ou ferramentas de codificação
Se sua aplicação usa ferramentas, gera código, corrige código ou executa fluxos multi-etapa, o Sonnet 5 é a atualização mais interessante. Os ganhos em SWE-bench Pro e OSWorld estão alinhados com esse tipo de carga.
Checklist mínimo:
[ ] Trocar model para claude-sonnet-5
[ ] Remover temperature/top_p/top_k não padrão
[ ] Remover budget_tokens
[ ] Definir thinking explicitamente
[ ] Recalcular tokens com count_tokens
[ ] Rodar suíte de regressão
Atualize com testes se você tem alto volume em produção
O preço por token é o mesmo, mas o tokenizador muda o volume real de tokens. Antes de rotear tráfego:
- selecione prompts representativos;
- conte tokens no 4.6 e no 5;
- compare
usage; - aumente
max_tokensonde necessário; - valide respostas truncadas;
- monitore custo por requisição.
Atualize deliberadamente se você depende de parâmetros removidos
Se seu código usa temperature, budget_tokens ou preenchimento de assistant, a migração não é só trocar o ID do modelo. Corrija esses pontos primeiro.
Mantenha o 4.6 se você precisa do Priority Tier
O Priority Tier não está disponível no Sonnet 5. Se seu SLA depende disso, mantenha o Sonnet 4.6 nesses caminhos.
Para a maioria das equipes, vale atualizar, mas trate como migração real. Não faça apenas uma troca de string na sexta-feira. Se quiser revisar a superfície anterior, o guia da API Sonnet 4.6 documenta o ponto de partida.
Detecte regressões com requisições salvas no Apidog
A forma mais segura de migrar é comparar Sonnet 5 e Sonnet 4.6 com seus próprios prompts.
Apidog é uma ferramenta de desenvolvimento e teste de APIs. Como a API Claude é um endpoint HTTP com headers, JSON de entrada e JSON de saída, você pode salvar as chamadas como coleção e executá-las novamente durante a migração.
Fluxo recomendado:
- Salve suas requisições da API Messages em uma coleção Apidog.
- Crie uma requisição para cada prompt representativo.
- Armazene
ANTHROPIC_API_KEYcomo variável de ambiente. - Configure dois ambientes:
claude-sonnet-4-6claude-sonnet-5
- Use a mesma coleção nos dois ambientes.
- Adicione asserções para:
- status HTTP;
- formato da resposta;
- presença de campos obrigatórios;
-
stop_reason; - contagens de
usage; - tamanho mínimo esperado da resposta.
- Compare as execuções antes de liberar produção.
Exemplo de corpo parametrizado:
{
"model": "{{model}}",
"max_tokens": 4096,
"thinking": {
"type": "disabled"
},
"messages": [
{
"role": "user",
"content": "Generate an OpenAPI 3.1 schema for this endpoint."
}
]
}
Você também pode simular o endpoint Claude no Apidog para testar fluxos como:
{
"stop_reason": "refusal"
}
Assim você valida o tratamento da aplicação sem gastar tokens.
Baixe o Apidog para montar a coleção de comparação, ou abra o Apidog no navegador. Se você está migrando do Postman, o guia Teste de API sem Postman mostra o fluxo equivalente.
FAQ
O Claude Sonnet 5 é um substituto direto para o Sonnet 4.6?
Na maioria dos casos, sim. Troque claude-sonnet-4-6 por claude-sonnet-5, mas revise:
- pensamento adaptativo ativado por padrão;
- remoção de
budget_tokens; - erro
400paratemperature,top_petop_knão padrão.
Veja o guia da API Sonnet 5 para a configuração completa.
O Sonnet 5 custa mais que o Sonnet 4.6?
Por token, não. Ambos custam US$3 por milhão de tokens de entrada e US$15 por milhão de tokens de saída no preço padrão.
Mas o novo tokenizador pode gerar cerca de 30% mais tokens para o mesmo texto. Então uma requisição equivalente pode custar mais, mesmo com a mesma taxa por token.
Por que minha resposta está sendo cortada após a atualização?
Porque o pensamento adaptativo está ativado por padrão e compartilha o mesmo orçamento de max_tokens da resposta final.
Soluções:
# opção 1: aumentar o orçamento
max_tokens=8192
ou:
# opção 2: desativar pensamento nessa chamada
thinking={"type": "disabled"}
Preciso mudar meu código por causa do novo tokenizador?
Não por causa do formato da API. Requisições, respostas e streaming continuam iguais.
Mas você deve recalcular:
- contagens de tokens;
- limites de
max_tokens; - estimativas de custo;
- alertas de uso;
- limites de contexto.
O que aconteceu com temperature e budget_tokens?
No Sonnet 5, budget_tokens e parâmetros de amostragem não padrão retornam erro 400.
Remova:
{
"temperature": 0,
"top_p": 0.9,
"top_k": 40
}
Substitua budget_tokens por:
{
"thinking": {
"type": "adaptive"
},
"effort": "high"
}
O guia de alterações da API Fable 5 e Mythos cobre o mesmo padrão na camada superior.




Top comments (0)