A janela de contexto de um LLM define o número máximo de tokens que o modelo pode processar em uma única chamada, incluindo tanto o prompt quanto a resposta gerada.
Modelos recentes ampliaram significativamente esse limite de 4K tokens em gerações anteriores para 128K, 200K ou até mais em modelos atuais (já existem modelos com 1 milhão de tokens na janela de contexto). Esse avanço permite enviar documentos inteiros ao modelo, mas trouxe um problema sutil e bem documentado: o fenômeno do “Lost in the Middle” (perdido no meio), que afeta diretamente a estratégia de chunking e a forma como o contexto é montado no prompt.
O “Lost in the Middle” refere-se à descoberta empírica de que LLMs tendem a prestar mais atenção às informações posicionadas no início e no final do contexto, com uma queda significativa de atenção para o conteúdo localizado no meio. Pesquisas publicadas por equipes de Stanford e outras instituições demonstraram que, quando a informação relevante para responder a uma pergunta está enterrada na porção central de um contexto longo, o desempenho do modelo cai de forma mensurável. Isso significa que simplesmente preencher a janela de contexto com muitos chunks recuperados, sem critério de ordenação, pode degradar a qualidade das respostas.
Para mitigar esse efeito, arquitetos de sistemas RAG adotam estratégias de posicionamento consciente. Uma abordagem comum é ordenar os chunks recuperados por relevância e colocar os mais relevantes no início e no final do contexto, delegando os menos relevantes ao meio. Outra prática é limitar o número de chunks enviados ao modelo, mesmo quando a janela de contexto comportaria mais, priorizando qualidade sobre quantidade. Em cenários extremos, o contexto pode ser resumido antes de ser enviado ao modelo, reduzindo o volume total e eliminando a faixa intermediária de baixa atenção.
Esse fenômeno tem implicações diretas para a estratégia de chunking. Se o pipeline gera chunks muito pequenos, um grande número deles será necessário para cobrir o contexto relevante, aumentando a probabilidade de que informações essenciais caiam na zona de baixa atenção. Chunks maiores e mais informativos reduzem o número total de fragmentos no prompt, facilitando o posicionamento estratégico.
A interação entre tamanho do chunk, número de chunks recuperados e posicionamento no contexto forma um espaço de otimização que deve ser ajustado experimentalmente para cada caso de uso, e que é frequentemente subestimado em implementações de RAG.
David Matos
