Entendendo a janela de contexto

A “janela de contexto” refere-se à totalidade da quantidade de texto que um modelo de linguagem pode consultar e referenciar ao gerar novo texto, mais o novo texto que ele gera. Isso é diferente do grande corpus de dados no qual o modelo de linguagem foi treinado, e em vez disso representa uma “memória de trabalho” para o modelo. Uma janela de contexto maior permite que o modelo entenda e responda a prompts mais complexos e longos, enquanto uma janela de contexto menor pode limitar a capacidade do modelo de lidar com prompts mais longos ou manter coerência ao longo de conversas extensas.

O diagrama abaixo ilustra o comportamento padrão da janela de contexto para solicitações de API1:

1Para interfaces de chat, como para claude.ai, as janelas de contexto também podem ser configuradas em um sistema rotativo “primeiro a entrar, primeiro a sair”.

  • Acumulação progressiva de tokens: À medida que a conversa avança através de turnos, cada mensagem do usuário e resposta do assistente se acumula dentro da janela de contexto. Os turnos anteriores são preservados completamente.
  • Padrão de crescimento linear: O uso do contexto cresce linearmente com cada turno, com turnos anteriores preservados completamente.
  • Capacidade de 200K tokens: A janela de contexto total disponível (200.000 tokens) representa a capacidade máxima para armazenar histórico de conversa e gerar nova saída do Claude.
  • Fluxo de entrada-saída: Cada turno consiste em:
    • Fase de entrada: Contém todo o histórico de conversa anterior mais a mensagem atual do usuário
    • Fase de saída: Gera uma resposta de texto que se torna parte de uma entrada futura

A janela de contexto com pensamento estendido

Ao usar pensamento estendido, todos os tokens de entrada e saída, incluindo os tokens usados para pensar, contam para o limite da janela de contexto, com algumas nuances em situações de múltiplos turnos.

Os tokens do orçamento de pensamento são um subconjunto do seu parâmetro max_tokens, são cobrados como tokens de saída e contam para os limites de taxa.

No entanto, blocos de pensamento anteriores são automaticamente removidos do cálculo da janela de contexto pela API Anthropic e não fazem parte do histórico de conversa que o modelo “vê” para turnos subsequentes, preservando capacidade de token para conteúdo de conversa real.

O diagrama abaixo demonstra o gerenciamento especializado de tokens quando o pensamento estendido está habilitado:

  • Removendo pensamento estendido: Blocos de pensamento estendido (mostrados em cinza escuro) são gerados durante a fase de saída de cada turno, mas não são carregados como tokens de entrada para turnos subsequentes. Você não precisa remover os blocos de pensamento você mesmo. A API Anthropic faz isso automaticamente para você se você os passar de volta.
  • Detalhes de implementação técnica:
    • A API exclui automaticamente blocos de pensamento de turnos anteriores quando você os passa de volta como parte do histórico de conversa.
    • Tokens de pensamento estendido são cobrados como tokens de saída apenas uma vez, durante sua geração.
    • O cálculo efetivo da janela de contexto torna-se: context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens.
    • Tokens de pensamento incluem tanto blocos thinking quanto blocos redacted_thinking.

Esta arquitetura é eficiente em tokens e permite raciocínio extenso sem desperdício de tokens, já que blocos de pensamento podem ser substanciais em comprimento.

Você pode ler mais sobre a janela de contexto e pensamento estendido em nosso guia de pensamento estendido.

A janela de contexto com pensamento estendido e uso de ferramentas

O diagrama abaixo ilustra o gerenciamento de tokens da janela de contexto ao combinar pensamento estendido com uso de ferramentas:

1

Arquitetura do primeiro turno

  • Componentes de entrada: Configuração de ferramentas e mensagem do usuário
  • Componentes de saída: Pensamento estendido + resposta de texto + solicitação de uso de ferramenta
  • Cálculo de tokens: Todos os componentes de entrada e saída contam para a janela de contexto, e todos os componentes de saída são cobrados como tokens de saída.
2

Manipulação de resultado de ferramenta (turno 2)

  • Componentes de entrada: Cada bloco no primeiro turno, bem como o tool_result. O bloco de pensamento estendido deve ser retornado com os resultados de ferramenta correspondentes. Este é o único caso em que você tem que retornar blocos de pensamento.
  • Componentes de saída: Depois que os resultados da ferramenta foram passados de volta para Claude, Claude responderá apenas com texto (sem pensamento estendido adicional até a próxima mensagem user).
  • Cálculo de tokens: Todos os componentes de entrada e saída contam para a janela de contexto, e todos os componentes de saída são cobrados como tokens de saída.
3

Terceiro Passo

  • Componentes de entrada: Todas as entradas e a saída do turno anterior são carregadas com exceção do bloco de pensamento, que pode ser descartado agora que Claude completou todo o ciclo de uso de ferramenta. A API removerá automaticamente o bloco de pensamento para você se você passá-lo de volta, ou você pode se sentir livre para removê-lo você mesmo neste estágio. É também aqui que você adicionaria o próximo turno User.
  • Componentes de saída: Como há um novo turno User fora do ciclo de uso de ferramenta, Claude gerará um novo bloco de pensamento estendido e continuará a partir daí.
  • Cálculo de tokens: Tokens de pensamento anteriores são automaticamente removidos dos cálculos da janela de contexto. Todos os outros blocos anteriores ainda contam como parte da janela de tokens, e o bloco de pensamento no turno Assistant atual conta como parte da janela de contexto.
  • Considerações para uso de ferramenta com pensamento estendido:
    • Ao postar resultados de ferramenta, todo o bloco de pensamento não modificado que acompanha essa solicitação de ferramenta específica (incluindo partes de assinatura/censuradas) deve ser incluído.
    • O cálculo efetivo da janela de contexto para pensamento estendido com uso de ferramenta torna-se: context_window = input_tokens + current_turn_tokens.
    • O sistema usa assinaturas criptográficas para verificar a autenticidade do bloco de pensamento. Falhar em preservar blocos de pensamento durante o uso de ferramenta pode quebrar a continuidade de raciocínio do Claude. Assim, se você modificar blocos de pensamento, a API retornará um erro.

Os modelos Claude 4 suportam pensamento intercalado, que permite ao Claude pensar entre chamadas de ferramenta e fazer raciocínio mais sofisticado após receber resultados de ferramenta.

Claude Sonnet 3.7 não suporta pensamento intercalado, então não há intercalação de pensamento estendido e chamadas de ferramenta sem um turno de usuário não-tool_result entre eles.

Para mais informações sobre usar ferramentas com pensamento estendido, veja nosso guia de pensamento estendido.

Janela de contexto de 1M tokens

Claude Sonnet 4 suporta uma janela de contexto de 1 milhão de tokens. Esta janela de contexto estendida permite que você processe documentos muito maiores, mantenha conversas mais longas e trabalhe com bases de código mais extensas.

A janela de contexto de 1M tokens está atualmente em beta para organizações no nível de uso 4 e organizações com limites de taxa personalizados. A janela de contexto de 1M tokens está disponível apenas para Claude Sonnet 4.

Para usar a janela de contexto de 1M tokens, inclua o cabeçalho beta context-1m-2025-08-07 em suas solicitações de API:

from anthropic import Anthropic

client = Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Process this large document..."}
    ],
    betas=["context-1m-2025-08-07"]
)

Considerações importantes:

  • Status beta: Esta é uma funcionalidade beta sujeita a mudanças. Funcionalidades e preços podem ser modificados ou removidos em lançamentos futuros.
  • Requisito de nível de uso: A janela de contexto de 1M tokens está disponível para organizações no nível de uso 4 e organizações com limites de taxa personalizados. Organizações de nível inferior devem avançar para o nível de uso 4 para acessar esta funcionalidade.
  • Disponibilidade: A janela de contexto de 1M tokens está atualmente disponível na API Anthropic e Amazon Bedrock. Suporte para Google Vertex AI seguirá.
  • Preços: Solicitações que excedem 200K tokens são automaticamente cobradas a taxas premium (2x entrada, 1,5x preços de saída). Veja a documentação de preços para detalhes.
  • Limites de taxa: Solicitações de contexto longo têm limites de taxa dedicados. Veja a documentação de limites de taxa para detalhes.
  • Considerações multimodais: Ao processar grandes números de imagens ou pdfs, esteja ciente de que os arquivos podem variar no uso de tokens. Ao emparelhar um prompt grande com um grande número de imagens, você pode atingir limites de tamanho de solicitação.

Gerenciamento de janela de contexto com modelos Claude mais novos

Em modelos Claude mais novos (começando com Claude Sonnet 3.7), se a soma de tokens de prompt e tokens de saída exceder a janela de contexto do modelo, o sistema retornará um erro de validação em vez de truncar silenciosamente o contexto. Esta mudança fornece comportamento mais previsível, mas requer gerenciamento de tokens mais cuidadoso.

Para planejar seu uso de tokens e garantir que você permaneça dentro dos limites da janela de contexto, você pode usar a API de contagem de tokens para estimar quantos tokens suas mensagens usarão antes de enviá-las para Claude.

Veja nossa tabela de comparação de modelos para uma lista de tamanhos de janela de contexto por modelo.

Próximos passos