
2026-07-27 IA RAG Busca
RAG avançado: além do chunk-and-embed que todo tutorial ensina
Hybrid search, reranking, GraphRAG e cache semântico: o que separa um RAG de demonstração de um RAG que aguenta pergunta real de usuário. Quarto post da série sobre engenharia para Senior AI Engineer.
Todo RAG começa igual: dividir documento em pedaços, gerar embedding, buscar por similaridade. E todo RAG em produção descobre, na primeira pergunta ambígua de usuário real, que isso não é suficiente. A diferença entre um RAG de tutorial e um RAG confiável está no que vem depois do embedding básico.
Chunking semântico em vez de corte fixo
Cortar documento a cada 500 caracteres ignora onde as ideias realmente terminam. Chunking semântico agrupa o texto por coerência de conteúdo, preservando contexto dentro de cada pedaço. É mais caro de processar, mas reduz drasticamente o número de recuperações que trazem meia informação.
Parent Document Retriever: buscar pequeno, responder com contexto grande
Buscar por um chunk pequeno é mais preciso; responder com um chunk pequeno perde contexto. O Parent Document Retriever resolve essa tensão: indexa e busca pelos pedaços pequenos, mas recupera o documento pai — maior, com mais contexto — para montar a resposta.
Hybrid Search: embeddings não bastam sozinhos
Busca puramente vetorial erra em nomes próprios, códigos, siglas e termos exatos que o embedding generaliza demais. Combinar busca vetorial com BM25 — busca lexical clássica baseada em frequência de termos — cobre os dois tipos de consulta: a semântica e a literal.
Reranking e Context Compression
Trazer os top 20 resultados da busca e jogar tudo no prompt desperdiça tokens e confunde o modelo. Um reranker reordena esses resultados por relevância real à pergunta, e context compression corta o que sobra antes de montar o prompt final — o modelo recebe menos, mas mais concentrado.
Multi-Query Retrieval e Self-RAG
Uma pergunta do usuário raramente é a melhor query de busca. Multi-Query Retrieval gera variações da pergunta original e busca por todas, ampliando a cobertura. Self-RAG vai além: o próprio modelo avalia se o que recuperou é suficiente antes de responder, e busca de novo se não for — um ciclo de auto-crítica embutido no pipeline.
GraphRAG: quando a resposta depende de relação, não só de conteúdo
Perguntas que dependem de como entidades se relacionam — "quem reporta para quem", "quais projetos compartilham fornecedor" — não são bem respondidas por similaridade de texto. GraphRAG constrói um grafo de entidades e relações a partir dos documentos e navega esse grafo para responder, complementando a busca vetorial tradicional.
Cache semântico: a otimização que a maioria esquece
Perguntas parecidas se repetem. Cache semântico compara a nova pergunta com perguntas já respondidas por similaridade, não por igualdade exata de string, e reaproveita a resposta quando a similaridade passa de um limiar. Isso corta custo e latência exatamente nos casos de maior volume.
O ponto de partida
Antes de trocar de modelo de embedding ou aumentar o número de chunks recuperados, vale revisar o pipeline: chunking respeita a estrutura do conteúdo, a busca combina semântica e léxico, e existe reranking antes do prompt final. É onde a maioria dos ganhos de qualidade em RAG realmente mora.