Convide e ganhe

Como funcionam as recompensas

Compartilhe seu link. Quando um amigo se cadastrar por ele e adicionar saldo, você receberá a recompensa exibida nas recargas posteriores.

Context Length Exceeded: reduza a solicitação e verifique o resultado

Meça cada componente do contexto, remova duplicações e histórico irrelevante, reserve saída e confirme que os fatos necessários foram mantidos.

Conteúdo

Context Length Exceeded: reduza a solicitação e verifique o resultado

Não corrija Context length exceeded apagando aleatoriamente metade do prompt. Primeiro, calcule o orçamento total, identifique o modelo e meça cada componente da solicitação. Em seguida, remova duplicações mecânicas, histórico irrelevante e resultados grandes de ferramentas. Ao reenviar, verifique tanto o desaparecimento do erro quanto a preservação dos fatos obrigatórios e da resposta completa.

O que ocupa a janela de contexto

Contexto é a memória de trabalho de uma solicitação inteira, não apenas o último prompt do usuário. De forma simplificada:

system instructions
+ conversation history
+ current message
+ images and documents
+ tool definitions
+ tool results
+ output / thinking budget
= total context usage

A documentação da Anthropic sobre janelas de contexto inclui explicitamente o prompt do sistema, todas as mensagens, imagens, documentos, definições e resultados de ferramentas e a resposta gerada. Prompt caching altera o custo dos tokens reutilizados, mas não os remove da janela.

Não grave no código um “limite universal”: a janela de contexto e o comportamento ao excedê-la dependem do modelo e da API escolhidos. Confira a ficha atual do modelo no dia da configuração.

Encontre o componente mais pesado

ComponenteO que medirRedução segura
Instruções do sistemaRegras repetidas e exemplos longosUnir duplicações e manter as restrições obrigatórias
HistóricoTokens por mensagem e ramificações antigasRemover ramificações irrelevantes ou substituí-las por um resumo verificável
Arquivos e trechos de RAGTamanho de cada documento, duplicações e trechos pouco relevantesReduzir top_k, deduplicar e enviar apenas seções necessárias
Definições de ferramentasFerramentas não usadas e descrições extensasEnviar apenas as ferramentas necessárias nesta etapa
Resultados de ferramentasJSON completo, logs, HTML, base64 e respostas repetidasManter campos, links e identificadores necessários; guardar dados grandes fora do prompt
Orçamento de saídamax_tokens e orçamento de raciocínioReservar uma margem realista ou dividir um resultado extenso em etapas

Claude oferece uma API de contagem de tokens, capaz de considerar mensagens e ferramentas antes do envio. Com outro provedor, use o contador dele se houver. Um tokenizer local ajuda a alertar cedo, mas sua estimativa não é uma contagem garantida no servidor de outro modelo.

Abra a documentação atual da API BetterToken, faça um request de teste curto e localize-o no Dashboard. Compare tokens de entrada, saída e cache antes e depois de reduzir o contexto: menos tokens de entrada confirmam que a correção chegou à chamada real. O Dashboard não mostra o prompt completo nem substitui a contagem antes do envio.

Reduza o tamanho sem perder significado

1. Remova duplicações mecânicas

Procure regras de sistema repetidas, o mesmo arquivo em várias mensagens, trechos RAG duplicados, esquemas colados novamente e logs completos repetidos. Esta é a etapa mais segura, pois diminui o volume sem alterar a tarefa.

2. Remova o histórico irrelevante

Separe fatos duradouros do fluxo temporário da conversa. Preserve objetivos, decisões aceitas, restrições obrigatórias e questões em aberto. Raciocínios antigos, alternativas rejeitadas e resultados de ferramentas já processados podem ser removidos ou condensados em um resumo estruturado.

Um resumo ruim diz “discutimos a integração”. Um útil registra o endpoint escolhido, a versão do esquema, as restrições aceitas, os fatos confirmados e o próximo passo.

3. Compacte arquivos, RAG e resultados de ferramentas

Envie seções relevantes em vez do documento inteiro. Em um resultado de ferramenta, mantenha os campos necessários à etapa seguinte em vez de toda a resposta HTTP ou todo o log. Não descarte fontes ou dados obrigatórios apenas para fazer a solicitação caber; divida o trabalho em etapas verificáveis.

4. Deixe espaço para a resposta

Entrada e saída compartilham o mesmo orçamento. Se a solicitação quase preenche a janela, o modelo talvez não tenha espaço para uma resposta completa. Reduza a entrada opcional, defina um orçamento de saída realista ou divida o resultado. Não corte fatos críticos antes das duplicações mecânicas.

5. Troque de modelo somente depois de medir

Um modelo com contexto maior pode ser adequado para um documento que não pode ser dividido com segurança. Mudar para uma janela maior sem remover duplicações apenas adia o próximo erro e pode diminuir a densidade de informação.

Verificação mínima antes do envio

components = count_by_section(request)
estimated_input = sum(components)
reserved_output = requested_output_budget

if estimated_input + reserved_output approaches current_model_window:
    remove exact duplicates
    drop irrelevant history
    compact tool results and retrieved chunks
    count again

send only after required facts and constraints remain present

approaches não foi substituído deliberadamente por uma porcentagem fixa. A margem necessária depende da precisão do contador, do modelo, do raciocínio e do comportamento da API específica.

Como verificar a correção

Compare a nova solicitação com esta lista:

  1. A API não retorna mais context length exceeded nem prompt is too long.
  2. A resposta termina normalmente, sem ser cortada pelo orçamento de saída.
  3. A resposta contém todos os fatos obrigatórios, restrições e o formato solicitado.
  4. Citações ou links ainda correspondem às fontes fornecidas.
  5. As chamadas de ferramentas usam os argumentos corretos, e nenhum resultado importante se perdeu durante a compactação.
  6. O novo uso de entrada é realmente menor que o original.

Se o erro desaparecer mas o modelo esquecer uma restrição essencial, a correção falhou. Restaure o bloco obrigatório e libere espaço removendo histórico menos relevante ou um resultado de ferramenta pesado. Se a resposta for cortada, examine separadamente o orçamento de saída: ele é outra parte da mesma janela total.

Resumo

A sequência de trabalho é: identificar o modelo → contar componentes → remover duplicações exatas → extrair histórico irrelevante → compactar arquivos e resultados de ferramentas → deixar espaço para a resposta → reenviar → verificar a qualidade. Isso trata a causa sem transformar o contexto em fatos truncados arbitrariamente.

Fontes

Quer otimizar seu fluxo de trabalho com LLMs?

Conecte modelos por uma única API, gerencie chaves e controle os gastos com IA.

Começar grátis