
Mais um post da série em que destrincho as entranhas dos LLMs.
Até aqui já conversamos sobre embeddings e mecanismo de atenção. Hoje quero falar sobre um conceito que aparece em praticamente toda discussão sobre IA generativa, mas que costuma ser mal compreendido: a janela de contexto (context window).
Muita gente acredita que contexto significa memória. Na realidade, contexto e memória são conceitos diferentes.
A janela de contexto corresponde ao conjunto de tokens que o modelo pode utilizar durante uma única inferência. Em outras palavras, é toda a informação textual disponível para o modelo naquele momento: a instrução do sistema, o prompt do usuário, documentos anexados, trechos recuperados por RAG e, quando existe uma conversa, a parte do histórico que a aplicação decidiu incluir na requisição.
Nada disso significa que o modelo esteja “lembrando” nativamente de conversas anteriores.
Nos Transformers convencionais, cada inferência é, em princípio, independente das anteriores. Embora exista um estado temporário durante a geração de uma resposta, por exemplo, por meio do KV Cache, que evita recalcular representações já produzidas, esse estado normalmente não é preservado quando uma nova requisição começa. Assim, se uma informação não estiver presente no contexto enviado naquela chamada, nem for recuperada por algum mecanismo externo, ela deixa de estar disponível para aquela inferência.
É justamente por isso que muitas pessoas têm a impressão de que o LLM “esqueceu” alguma informação. Na maioria dos casos, não se trata de esquecimento. A informação simplesmente não fazia parte do contexto disponível naquele momento.
Imagine uma reunião em que, a cada nova pergunta, alguém entrega ao especialista apenas uma pasta contendo parte dos documentos do projeto. Ele responderá utilizando exclusivamente aquele material. Se um documento importante ficou de fora da pasta, não é que ele tenha perdido a memória; ele simplesmente não teve acesso àquela informação durante a análise. Com os LLMs acontece algo semelhante.
É verdade que as janelas de contexto cresceram enormemente. Há poucos anos trabalhávamos com alguns milhares de tokens. Hoje alguns modelos conseguem processar centenas de milhares e, em casos específicos, mais de um milhão de tokens. Isso ampliou significativamente o volume de informação que pode ser considerado em uma única inferência.
Mas uma janela maior não transforma contexto em memória. Ela apenas amplia a quantidade máxima de informação que pode ser disponibilizada ao modelo naquela chamada.
Existe ainda outro aspecto importante. Ter uma informação dentro da janela de contexto não garante que ela será utilizada da forma esperada. Diversos estudos mostram que muitos modelos apresentam degradação na recuperação de determinadas informações quando o contexto se torna muito extenso. Um exemplo conhecido é o fenômeno Lost in the Middle, observado empiricamente em diversos LLMs, no qual informações posicionadas no meio de longos documentos tendem, em determinadas tarefas, a ser recuperadas com menor precisão do que aquelas localizadas próximas ao início ou ao final. A intensidade desse efeito varia conforme o modelo, a tarefa, a arquitetura e a estratégia de inferência, mas ele ilustra bem que contexto disponível não é sinônimo de contexto igualmente aproveitado.
Outro ponto frequentemente confundido são os recursos de “memória” oferecidos por alguns assistentes de IA. Na maior parte dos casos, essa memória não faz parte do modelo em si. Ela é implementada pela aplicação que o utiliza. Informações relevantes podem ser armazenadas em bancos de dados, bases vetoriais ou outros mecanismos persistentes e recuperadas posteriormente para compor o contexto de uma nova inferência. Em geral, esse processo não altera os parâmetros do modelo nem cria uma memória permanente durante a inferência; ele apenas modifica o contexto que será fornecido ao modelo antes da geração da resposta.
Essa distinção ajuda a entender por que dois sistemas que utilizam exatamente o mesmo LLM podem apresentar comportamentos bastante diferentes. A diferença muitas vezes não está no modelo, mas na forma como cada aplicação gerencia contexto, recuperação de informações, memória externa e orquestração da inferência.
Uma analogia útil é pensar na memória de trabalho de um computador. A janela de contexto desempenha um papel semelhante: funciona como um espaço temporário onde as informações necessárias para aquela tarefa ficam disponíveis durante o processamento. Como toda analogia, ela possui limitações, mas ajuda a distinguir memória de trabalho de armazenamento persistente.
Entender essa diferença muda completamente a forma como enxergamos os LLMs. Eles não respondem utilizando automaticamente tudo o que foi conversado anteriormente, nem consultam explicitamente todo o conhecimento aprendido durante o treinamento como se acessassem um banco de dados interno. Em cada inferência, produzem uma resposta condicionada ao contexto disponível naquele momento e às representações estatísticas incorporadas em seus parâmetros durante o treinamento.
Em outras palavras: contexto não é memória. É o conjunto de informações que o modelo pode utilizar durante uma determinada inferência. Essa distinção ajuda a explicar tanto várias limitações quanto boa parte das capacidades dos LLMs atuais.






