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 em que o modelo de linguagem foi treinado, e 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 extensos, enquanto uma janela de contexto menor pode limitar a capacidade do modelo de lidar com prompts mais longos ou manter a coerência em conversas prolongadas.

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

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

  • Acúmulo progressivo de tokens: À medida que a conversa avança através dos 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 a cada turno, com os 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 o histórico da 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 o 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, os blocos de pensamento anteriores são automaticamente removidos do cálculo da janela de contexto pela API da Anthropic e não fazem parte do histórico de conversa que o modelo “vê” para turnos subsequentes, preservando a capacidade de tokens para o conteúdo real da conversa.

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

  • Remoção do pensamento estendido: Os 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 transportados como tokens de entrada para turnos subsequentes. Você não precisa remover os blocos de pensamento por conta própria. A API da Anthropic faz isso automaticamente para você se você os passar de volta.
  • Detalhes técnicos de implementação:
    • A API exclui automaticamente os blocos de pensamento de turnos anteriores quando você os passa de volta como parte do histórico da conversa.
    • Os 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 se torna: janela_de_contexto = (tokens_de_entrada - tokens_de_pensamento_anteriores) + tokens_do_turno_atual.
    • Os tokens de pensamento incluem tanto os blocos thinking quanto os blocos redacted_thinking.

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

Você pode ler mais sobre a janela de contexto e o 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

Tratamento do resultado da ferramenta (turno 2)

  • Componentes de entrada: Todos os blocos do primeiro turno, bem como o tool_result. O bloco de pensamento estendido deve ser retornado com os resultados da ferramenta correspondentes. Este é o único caso em que você precisa retornar blocos de pensamento.
  • Componentes de saída: Depois que os resultados da ferramenta forem passados de volta ao Claude, o Claude responderá apenas com texto (sem pensamento estendido adicional até a próxima mensagem do 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 transportadas, com exceção do bloco de pensamento, que pode ser descartado agora que o Claude completou todo o ciclo de uso da ferramenta. A API removerá automaticamente o bloco de pensamento para você se você o passar de volta, ou você pode removê-lo por conta própria nesta etapa. É também aqui que você adicionaria o próximo turno do User.
  • Componentes de saída: Como há um novo turno do User fora do ciclo de uso da ferramenta, o Claude gerará um novo bloco de pensamento estendido e continuará a partir daí.
  • Cálculo de tokens: Os 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 atual do Assistant conta como parte da janela de contexto.
  • Considerações para o uso de ferramentas com pensamento estendido:
    • Ao postar resultados de ferramentas, todo o bloco de pensamento não modificado que acompanha essa solicitação específica de ferramenta (incluindo partes de assinatura/redação) deve ser incluído.
    • O cálculo efetivo da janela de contexto para pensamento estendido com uso de ferramentas se torna: janela_de_contexto = tokens_de_entrada + tokens_do_turno_atual.
    • O sistema usa assinaturas criptográficas para verificar a autenticidade do bloco de pensamento. Não preservar os blocos de pensamento durante o uso da ferramenta pode quebrar a continuidade do raciocínio do Claude. Assim, se você modificar os blocos de pensamento, a API retornará um erro.

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

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

Para mais informações sobre o uso de ferramentas com pensamento estendido, consulte nosso guia de pensamento estendido.

Gerenciamento da janela de contexto com modelos Claude mais recentes

Nos modelos Claude mais recentes (começando com o Claude Sonnet 3.7), se a soma dos 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. Essa mudança proporciona um comportamento mais previsível, mas requer um 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 ao Claude.

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

Próximos passos