Janela de Contexto
A janela de contexto é a capacidade máxima, expressa em tokens, disponível para uma inferência de modelo. Ela inclui prompt de sistema, mensagens, resultados de ferramentas, trechos RAG, anexos tokenizados e, em muitos serviços, a saída gerada. Janelas de 8 mil, 32 mil, 128 mil tokens ou maiores existem, mas capacidade nominal não garante atenção uniforme nem memória permanente. Em casa inteligente, o contexto deve conter apenas estados e documentos relevantes; enviar todo o histórico aumenta custo, latência, exposição de dados e risco de instruções conflitantes.
Entre os recursos que condicionam uma resposta de IA, a janela de contexto é o orçamento de tokens visível ao modelo durante uma chamada. Ela reúne instruções de sistema, mensagens, descrições de ferramentas, histórico, documentos recuperados, imagens convertidas em tokens e a resposta, conforme a API. O limite é definido por modelo e versão e pode variar de alguns milhares a centenas de milhares ou mais. Token não equivale a palavra: português, números, JSON e nomes técnicos se segmentam de modo próprio. Uma janela maior permite mais material, mas aumenta memória do cache KV, custo e latência e não cria memória persistente. O sistema precisa selecionar, resumir e recuperar conteúdo relevante, preservando instruções e dados críticos.
- O cálculo de orçamento deve ser explícito. Se o modelo aceita 32 mil tokens e a aplicação reserva 4 mil para saída, restam aproximadamente 28 mil para instruções, histórico, ferramentas e RAG. A API pode rejeitar excesso ou truncar conforme implementação. Truncamento silencioso é perigoso: pode remover regra de segurança ou dado recente. O orquestrador conta tokens com tokenizer compatível e aplica prioridade. O prompt de sistema e políticas não devem ser descartados. Resultados de ferramentas recentes são mantidos. Conversa antiga pode ser resumida. Documentos RAG são limitados por relevância. Um nome de dispositivo e ID podem ser preservados em memória estruturada, não em texto longo.
- Janelas maiores não garantem recuperação perfeita de qualquer detalhe. Modelos podem apresentar degradação em informações no meio do contexto, confundir documentos semelhantes ou dar mais peso a trechos recentes. Testes de “needle in a haystack” são úteis, mas não representam todas as tarefas. A qualidade depende de posição, estrutura, instrução e modelo. Para uma casa, não envie 500 páginas de manuais esperando que o modelo escolha sempre a correta. Use filtros e recuperação. Organize com títulos, fontes e delimitadores. Remova duplicatas. Um contexto menor e preciso costuma superar um maior e ruidoso. A capacidade nominal é teto técnico, não meta de preenchimento.
- O contexto tem custo computacional. Em Transformers, atenção densa tradicional cresce aproximadamente com o quadrado do comprimento, embora arquiteturas e kernels modernos usem otimizações, atenção esparsa, grouped-query, caching e outras técnicas. Na geração autoregressiva, o cache KV cresce com tokens, camadas e dimensões. Isso afeta RAM/VRAM e latência. Serviços cobram por tokens de entrada e saída. Reenviar histórico inteiro a cada turno aumenta custo. Prompt caching pode reduzir em casos. Em execução local, uma janela de 128 mil pode não caber mesmo se o modelo suporta. O usuário precisa escolher comprimento de runtime. Para comandos curtos, 4–8 mil podem ser suficientes; para RAG documental, mais.
- Contexto não é memória permanente. O modelo só “lembra” o que a aplicação envia na chamada atual ou o que foi incorporado em parâmetros durante treino. Memória conversacional armazena fatos externamente e decide quando recuperar. Histórico bruto não é boa memória: acumula erros, dados sensíveis e instruções antigas. Um resumo pode perder detalhes. Para preferências, use banco estruturado com consentimento, como `temperatura_noturna=22 °C`, e injete quando relevante. Estados de dispositivos vêm da API no momento, não de mensagem de 20 minutos atrás. O sistema inclui timestamp. A janela é efêmera; apagar uma conversa deve também remover memória persistida, se houver.
- A segurança do contexto exige hierarquia e tratamento de conteúdo não confiável. Documentos, páginas web, e-mails e nomes de dispositivos podem conter instruções de prompt injection. Eles devem ser delimitados como dados e não substituir prompt de sistema. A aplicação não deve confiar que o modelo sempre segue hierarquia; ferramentas têm autorização externa. O contexto também pode vazar segredos se logs ou provedores armazenam. Não inserir chaves, senhas e tokens. Ferramentas recebem credenciais fora do prompt. Dados pessoais são minimizados. Em multiusuário, o contexto de uma pessoa não passa a outra. O cache é isolado. Um histórico com comando de visitante não deve influenciar o morador posteriormente sem identificação.
- A gestão da janela usa estratégias como sliding window, resumo hierárquico, compressão, seleção por relevância, memória episódica e RAG. Cada uma perde informação. Sliding window mantém recente e descarta antigo. Resumo condensa, mas pode introduzir erro. Recuperação encontra itens, mas pode falhar. Uma arquitetura robusta guarda registros estruturados e fontes, não apenas um resumo gerado. Testes verificam conversas longas, mudanças de assunto, correções e negações. O sistema deve aceitar “esqueça essa preferência” e remover. Métricas incluem tokens por chamada, truncamento, custo, latência e falhas de referência. O usuário pode limpar histórico. A janela deve ser dimensionada pela tarefa, não pelo maior número comercial.