Janelas de contexto
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 blocosredacted_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:
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.
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.
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
Tabela de comparação de modelos
Veja nossa tabela de comparação de modelos para uma lista de tamanhos de janela de contexto e preços de tokens de entrada/saída por modelo.
Visão geral do pensamento estendido
Saiba mais sobre como o pensamento estendido funciona e como implementá-lo junto com outros recursos, como uso de ferramentas e cache de prompts.