Os $2.000 Que Eu Queimei em Uma Semana

No mês passado, minha fatura de API veio $2.000 acima do esperado. Quando investiguei, descobri que 70% do custo era do sistema mandando o mesmo system prompt de 10.000 tokens em toda chamada — centenas de vezes por dia, sem cache.

Eu sabia que a janela de contexto era importante. O que eu não sabia era quanto a gestão (ou a falta dela) impacta diretamente no bolso. E quando pesquisei a fundo, descobri que esse é o problema mais caro e menos entendido da engenharia de IA em 2026.

Se você já tentou colar um documento gigante num chat de IA e recebeu um erro, ou percebeu que depois de uma conversa longa a IA começou a “esquecer” o que vocês discutiram no início — bem-vindo ao limite da Janela de Contexto. E mais importante: bem-vindo ao guia que vai te ensinar a não queimar dinheiro com isso.

O Que É a Janela de Contexto (Sem Jargão)

Imagine que a Janela de Contexto é a “mesa de trabalho” da IA. Tudo que ela precisa processar de uma vez deve caber nessa mesa: instruções do sistema (system prompts), histórico da conversa, documentos anexados, saídas de ferramentas (tool outputs), e a resposta que ela está gerando.

Em abril de 2026, os tamanhos variam: Gemini suporta até 1 milhão de tokens, GPT-5 até 400K (1M no Pro $200), Claude até 200K. Parece muito. Mas na prática, o espaço útil é dramaticamente menor do que o anunciado.

Se você tentar colocar mais do que a mesa suporta, o sistema trava ou — pior — começa a jogar as informações mais antigas fora sem te avisar.

O Mito do “Quanto Maior, Melhor” (Context Rot)

Esse é o insight que mais me surpreendeu e que mudou como eu projeto sistemas.

Você pode pensar: “Por que não usar um modelo com janela de 1 milhão de tokens e esquecer esse problema?” Cuidado. Em 2026, desenvolvedores e pesquisadores documentaram um fenômeno chamado Context Rot (Apodrecimento de Contexto).

Um estudo da Chroma testou 18 modelos de fronteira e encontrou: todos degradam com contexto longo, sem exceção. A precisão cai mais de 30% nas posições do meio do contexto (o fenômeno “lost in the middle”). A atenção se concentra no começo e no final do input — informação no meio recebe processamento menos confiável.

A pesquisa sobre Maximum Effective Context Window (MECW) foi ainda mais impactante: o contexto efetivo pode cair até 99% abaixo do limite anunciado em tarefas complexas. Um modelo que anuncia 200K tokens pode funcionar de forma confiável apenas até 120-140K. Acima disso, alucinações, instruções ignoradas e respostas contraditórias aumentam — mesmo com espaço técnico sobrando.

Ter uma janela gigante é caro (LLMs cobram por token, e preencher 1M tokens custa $2+ só de input) e frequentemente menos eficiente do que um bom sistema de recuperação que busca apenas o que é relevante.

As 3 Estratégias Clássicas de Gerenciamento

Para evitar que sua IA “perca o fio da meada”, existem três caminhos que todo engenheiro deve conhecer:

1. Sliding Window (Janela Deslizante). Mantém apenas as últimas N mensagens (geralmente 5-10). Rápido e simples. Mas perde o histórico antigo completamente. Ideal para streaming de dados e tarefas onde contexto recente é tudo que importa — chatbots de suporte com perguntas independentes, por exemplo.

2. Summarization (Sumarização). Resume as mensagens antigas em um parágrafo curto que é mantido como contexto. Preserva o sentido geral da conversa sem ocupar espaço proporcional. Mas consome tokens extras para gerar o resumo, e a sumarização em si pode perder detalhes importantes. A análise do Claude Code vazado revelou um pipeline de compressão de 5 camadas para lidar exatamente com isso — e mesmo assim, 1.279 sessões tiveram mais de 50 falhas consecutivas de compactação.

3. Retrieval (RAG). Guarda tudo fora da IA (num banco de vetores ou índice de documentos) e só puxa o que é relevante para a pergunta atual. Extremamente escalável — não importa se você tem 100 páginas ou 100.000. Mas mais complexo de implementar corretamente (como eu discuti no post sobre “A Mentira Confiante” — chunking, embeddings, thresholds, re-ranking).

Na prática, sistemas de produção combinam as três: RAG para memória de longo prazo, sumarização para histórico de conversa, e sliding window para as últimas interações. A combinação em camadas é o que funciona — nenhuma abordagem isolada resolve.

O “Pulo do Gato”: Prompt Caching

Se as três técnicas acima são o básico, o Prompt Caching é o que separa profissionais da elite — e o que teria me salvado aqueles $2.000.

O conceito: muitas vezes, seu system prompt (as instruções de como a IA deve agir) é o mesmo em todas as chamadas. Sem cache, você paga para a IA “reler” essas mesmas instruções do zero toda vez. Com cache, o modelo salva o processamento das instruções repetitivas e reutiliza nas próximas chamadas.

Um paper de janeiro de 2026 no arXiv — “Don’t Break the Cache” — testou 3 estratégias de caching em 4 modelos de fronteira (OpenAI, Anthropic, Google) com 500 sessões de agente. Os resultados:

Economia de custo: 41% a 80% dependendo do provider e da estratégia de cache. Todos os quatro modelos mostraram reduções estatisticamente significativas.

A Anthropic oferece prompt caching com desconto de 90% nos tokens cacheados — tokens que custam $3/M normalmente caem para $0,30/M no cache. A OpenAI oferece desconto de 50% em tokens cacheados. O Google desconta até 75%.

O paper identificou um risco real: invalidação de cache. Se você modifica o system prompt frequentemente, o cache é invalidado e você perde o benefício. A recomendação: mantenha o system prompt estável e coloque conteúdo dinâmico (resultados de ferramentas, dados do usuário) em blocos separados que não invalidem o cache das instruções base.

Semantic Caching: O Nível Além

Para quem quer ir ainda mais fundo: semantic caching vai além do prompt caching. Em vez de cachear prompts idênticos, ele reconhece quando queries diferentes significam a mesma coisa e reutiliza respostas anteriores sem chamar o LLM novamente.

O Redis LangCache implementa isso usando embeddings vetoriais: armazena respostas anteriores como vetores e, quando uma nova query é semanticamente similar a uma anterior, retorna o resultado cacheado — bypassing o LLM completamente. Economia de 50-80% em casos de uso com queries repetitivas (suporte ao cliente, FAQs, consultas de documentação).

Isso é especialmente relevante para combater o context rot: queries que um usuário insatisfeito refaz de formas diferentes (semanticamente similares mas fraseadas diferentemente) não precisam ser processadas novamente — cada reprocessamento custa dinheiro e, com context rot, entrega resultados piores.

Quanto Custa Ignorar Tudo Isso

Para contextualizar o impacto financeiro:

Uma única chamada que preenche a janela de contexto de 1M tokens do GPT-5 custa $2+ só de input — antes de qualquer output. Se sua aplicação faz centenas dessas chamadas por sessão de usuário, os custos escalam rapidamente. O Claude cobra $6/$22,50 por milhão de tokens acima de 200K (vs $3/$15 no padrão) — contexto longo tem sobretaxa.

E o custo não é apenas financeiro: latência aumenta linearmente com o tamanho do contexto. Mais tokens = mais tempo de processamento = pior experiência do usuário.

A combinação de RAG (buscar apenas o relevante) + Prompt Caching (não reprocessar instruções) + Semantic Caching (não reprocessar queries similares) pode reduzir custos em 70-90% comparado com a abordagem ingênua de “jogar tudo no contexto”.

O Que Eu Mudei Depois dos $2.000

Três mudanças concretas que implementei:

System prompt estável + conteúdo dinâmico separado. Meu system prompt agora é fixo e cacheado. Todo conteúdo que muda (dados do usuário, resultados de RAG, outputs de ferramentas) vai em blocos separados que não invalidam o cache base.

Threshold de contexto. Antes de cada chamada, verifico quanto da janela de contexto está preenchida. Se passa de 60%, disparo sumarização automática do histórico. Nunca mais chego perto do limite.

Monitoramento de custo por chamada. Implementei logs que registram tokens de input e output de cada chamada. Sei exatamente quanto cada feature custa — e consigo identificar quando algo está queimando tokens desnecessariamente. O bug dos $2.000 agora seria detectado em horas, não em semanas.

Conclusão: Inteligência É Gerenciamento

Dominar a IA não é apenas sobre o modelo mais inteligente. É sobre como você gerencia a “atenção” desse modelo. A janela de contexto é um recurso finito — trate-a como infraestrutura crítica, não como espaço infinito.

Usar RAG para memória, sumarização para histórico, sliding window para recência, prompt caching para economia, e semantic caching para queries repetitivas — essa stack é o que torna um projeto de IA viável no mundo real. Sem ela, você está queimando dinheiro e recebendo respostas piores ao mesmo tempo.

E se depois de ler tudo isso você estiver pensando “parece complicado demais” — eu também achava. Até a fatura chegar.

Compartilhe se isso salvou seu orçamento:

A IA não tem memória de peixe. Ela tem uma mesa de trabalho com tamanho fixo. Sua tarefa é decidir o que colocar nessa mesa — e quanto pagar pelo espaço.


Leia Também