Neste artigo
- O que é janela de contexto e por que o tamanho não é tudo
- Quando você está desperdiçando contexto
- Como pensar o que vai dentro da janela
- Contexto longo vs RAG: qual escolher e quando
- O que esperar quando o contexto começa a encher
- O impacto de ignorar o gerenciamento de contexto
- Dúvidas comuns sobre janela de contexto
- Conclusão e próximo passo
Você já mandou um documento inteiro para um LLM, esperou a resposta e recebeu algo genérico que ignorou justamente a parte que importava? Ou fez uma pergunta simples no final de uma conversa longa e o modelo pareceu esquecido do começo da troca?
Não é bug. É janela de contexto mal gerenciada.
Isso é mais comum do que parece, e acontece até com quem já usa LLMs há um bom tempo. A maioria das pessoas aprende a usar o modelo mas não aprende a pensar no que está mandando para ele e por quê.
Trabalho com LLMs em produção há alguns anos e esse problema aparece toda semana, seja em agente que começa a responder mal depois de muitas rodadas, seja em pipeline que ficou caro demais porque manda contexto redundante em cada chamada. A janela de contexto é um recurso limitado, e tratar ela como ilimitada tem custo real.
Neste artigo você vai entender como a janela de contexto funciona de verdade, o que desperdiça esse espaço, como decidir o que colocar e quando uma abordagem diferente faz mais sentido.
O que é janela de contexto e por que o tamanho não é tudo
Janela de contexto é o quanto de informação um modelo consegue processar de uma vez. Tudo que está nessa janela, o modelo lê antes de gerar a resposta: o histórico da conversa, as instruções do sistema, os documentos que você anexou, a pergunta atual.
Quando dizem que um modelo tem 200 mil tokens de contexto, isso significa que ele consegue processar esse volume de texto numa única chamada. Para ter noção de escala, 200 mil tokens equivalem a mais de 150 mil palavras, algo como dois romances completos.
O problema é que tamanho grande não resolve o problema de qualidade. Dois fenômenos documentados mostram isso claramente.
O primeiro é o que a literatura chama de ‘lost in the middle’: quando o contexto é muito longo, o modelo tende a dar mais atenção ao início e ao final da janela. Informações no meio ficam subestimadas. Você pode estar mandando a resposta certa dentro do contexto e o modelo passar por ela sem usar.
O segundo é que mais tokens custam mais. Cada chamada é cobrada por token de entrada e saída. Contexto gorduroso sem propósito vira custo desnecessário que escala mal quando o uso cresce.
Quando você está desperdiçando contexto
Tem alguns sinais que indicam que o contexto está sendo mal usado.
- O modelo ignora informações específicas que você mandou, mesmo estando no prompt.
- As respostas ficam mais genéricas conforme a conversa avança.
- Você está mandando o mesmo documento em cada chamada de um pipeline automatizado.
- O custo por chamada cresceu mas a qualidade da resposta não acompanhou.
- O modelo começa a contradizer respostas anteriores na mesma sessão.
Esses sinais não aparecem todos ao mesmo tempo. Mas quando um deles aparece com frequência, vale parar e olhar para o que está entrando na janela.
Como pensar o que vai dentro da janela
A pergunta certa não é ‘quanto cabe aqui’. É ‘o que este modelo precisa saber para responder bem essa pergunta específica’.
Instrução de sistema: menos é mais
Instrução de sistema é onde você define o comportamento do modelo, o tom, as regras, o que ele pode e não pode fazer. O erro comum é encher essa parte de texto redundante, explicações que se repetem e regras que se contradizem. Uma instrução de sistema limpa e precisa funciona melhor do que uma longa e confusa. Se você tem dez parágrafos de instrução, provavelmente metade não está fazendo nada.
Histórico de conversa: cuide do acúmulo
Em agentes e chatbots, o histórico de conversa cresce a cada rodada. Se você não faz nenhum controle, depois de vinte trocas o modelo está carregando uma janela pesada com contexto que já não é relevante para a pergunta atual. Estratégias comuns incluem resumir o histórico a cada N rodadas ou manter só as últimas N mensagens. Qual usar depende do caso, mas algum controle é necessário.
Documentos e dados: só o que é relevante para a pergunta
Mandar um PDF de 80 páginas porque a resposta está em algum lugar lá dentro não é eficiente. O ideal é identificar quais trechos têm relação com a pergunta e mandar esses trechos, não o documento inteiro. Isso não é só uma questão de custo: é uma questão de qualidade, porque você está ajudando o modelo a focar onde importa.
Contexto longo vs RAG: qual escolher e quando
RAG (Retrieval-Augmented Generation) é uma abordagem onde você não manda tudo no contexto. Em vez disso, você indexa seus documentos e, na hora da consulta, recupera só os trechos mais relevantes para incluir na chamada.
Quando contexto longo faz sentido
Quando o documento é pequeno e você precisa que o modelo considere ele inteiro. Análise de contrato curto, revisão de documento único, geração de resposta baseada em texto completo que cabe confortavelmente na janela. Nesses casos, RAG adiciona complexidade sem necessidade.
Quando RAG faz mais sentido
Quando você tem muitos documentos, quando o volume total não cabe na janela, ou quando só uma fração do material é relevante para cada pergunta. RAG também ajuda quando você quer que o modelo cite de onde veio a informação, porque você sabe exatamente o que foi recuperado.
Por que começar pelo contexto direto
Pra mim, a ordem natural é: testa com contexto direto primeiro. Se cabe, funciona bem e o custo é aceitável, ótimo. Se não cabe ou a qualidade está caindo por causa do volume, aí RAG entra como solução. Não começa com a arquitetura mais complexa antes de validar que o problema existe.
O que esperar quando o contexto começa a encher
Quando a janela está perto do limite, o comportamento do modelo muda de formas que você precisa conhecer.
- As respostas ficam mais curtas e menos detalhadas, porque o modelo está otimizando para caber no espaço de saída disponível.
- Informações do início da conversa começam a perder peso na resposta.
- Em alguns modelos, a chamada pode falhar diretamente com erro de limite excedido.
- O custo por chamada sobe de forma perceptível.
Nenhum desses sinais aparece com aviso prévio. O modelo não te avisa que está quase cheio. Por isso, monitorar o volume de tokens em uso é parte do trabalho, especialmente em sistemas automatizados.
O impacto de ignorar o gerenciamento de contexto
Ignorar esse ponto tem consequências que aparecem cedo ou tarde.
Em pipelines automatizados, o custo sobe sem que a qualidade acompanhe. Você paga mais por chamadas que mandam contexto irrelevante e recebe respostas medianas como resultado.
Em agentes com histórico longo, o comportamento fica inconsistente. O agente começa a contradizer o que disse antes, a ignorar regras definidas no início da sessão, a dar respostas que parecem desconexas do problema original.
Em aplicações com usuário final, isso vira problema de produto. O usuário percebe que o sistema ficou ‘burro’ depois de um tempo de uso, sem entender por quê. Não é o modelo que ficou burro. É o contexto que ficou bagunçado.
Dúvidas comuns sobre janela de contexto
Modelo com janela maior é sempre melhor?
Não necessariamente. Janela maior dá mais flexibilidade, mas não resolve o problema de qualidade quando o contexto está mal organizado. Um modelo com janela menor e contexto bem montado costuma entregar resultado melhor do que o contrário.
Preciso me preocupar com isso se uso uma ferramenta pronta, não código direto?
Sim. Ferramentas como ChatGPT, Claude, Gemini e interfaces similares têm limite de janela. Em conversas longas, o modelo já está descartando ou sumarizando o histórico antigo nos bastidores. Saber disso te ajuda a entender por que a resposta mudou de qualidade no meio de uma sessão longa.
Como sei quantos tokens estou usando?
A maioria das interfaces modernas mostra alguma indicação de uso de contexto. Em chamadas via API, o retorno inclui a contagem de tokens de entrada e saída. Monitorar esse número por chamada é o primeiro passo para entender se o contexto está crescendo de forma saudável ou não.
Resumir o histórico automaticamente não perde informação importante?
Pode perder, sim. Por isso a estratégia de sumarização precisa ser pensada para o caso de uso específico. Em conversa de suporte, o que importa é o problema original e a solução mais recente. Em análise de dados, pode ser que cada rodada seja independente. Não existe fórmula única, mas não fazer nada também tem custo.
Conclusão e próximo passo
Gerenciar janela de contexto não é detalhe técnico para engenheiro de ML. É decisão de produto e de operação que afeta custo, qualidade e comportamento do sistema que você está usando ou construindo.
A chave é tratar o contexto como recurso escasso: colocar o que o modelo precisa saber para aquela tarefa específica, não tudo que você tem disponível. Isso vale para uso pessoal em ferramentas como Claude e ChatGPT, e vale ainda mais para qualquer sistema automatizado que faz chamadas em escala.
Se você quer aprofundar nessa direção, os próximos passos práticos são:
- Revisar as instruções de sistema que você usa hoje e remover o que está redundante ou que nunca foi seguido pelo modelo.
- Em conversas longas, observe se a qualidade das respostas cai depois de certo ponto. Se cair, o contexto é o suspeito principal.
- Em pipelines automatizados, monitore o volume de tokens por chamada ao longo do tempo.
Veja também como esse problema se conecta com RAG na prática e com o que discutimos sobre monitoramento de custo e latência de LLMs. São peças do mesmo problema.


