A maioria dos pipelines RAG ainda pula o reranking apesar da técnica resolver o problema central que derruba sistemas de produção: recuperação por bi-encoder retorna chunks similares, não relevantes. Cross-encoders como BAAI/bge-reranker-v2-m3 leem queries e documentos juntos ao invés de codificá-los separadamente, captando nuances como "R$500/noite" contradizendo "hotéis baratos" que bi-encoders perdem completamente. Empresas como Cohere e Pinecone tornaram isso prática padrão, oferecendo rerank-v4.0-pro e bge-reranker-v2-m3 como serviços de produção.

O padrão de dois estágios virou a abordagem de fronteira: lance uma rede ampla com bi-encoders rápidos ou BM25 para alto recall, depois ranqueie com precisão os melhores candidatos com cross-encoders que medem relevância real. Isso não é teórico—é como times construindo AI de produção evitam a espiral de alucinação que começa quando passagens erradas chegam ao seu LLM. A matemática é simples: bi-encoders comprimem semântica em vetores fixos antes da comparação, jogando fora sinais de interação que determinam se um documento realmente responde a query.

Múltiplas fontes confirmam essa mudança para arquiteturas multi-query e reranking, com Azure AI Search decompondo queries complexas em subqueries paralelas e sistemas empresariais usando agregação de resultados baseada em consenso. O padrão funciona porque explora o tradeoff velocidade-precisão: bi-encoders para escala, cross-encoders para precisão.

Se seus resultados RAG estão "ok mas não ótimos," não corra atrás de melhores modelos de embedding primeiro. Conecte um reranker como BGE com LangChain's ContextualCompressionRetriever, faça benchmark contra seu pipeline atual, e veja a precisão pular. A implementação é direta, o ganho de performance é mensurável, e pular isso significa que você está deixando qualidade de recuperação na mesa.