Les limites du RAG naïf
Le RAG "vanilla" (embedding → cosine similarity → top-k chunks → LLM) fonctionne bien sur des questions directes et des bases de connaissances de taille modeste. Il échoue sur les requêtes complexes : questions négatives ("quelles entreprises NE sont PAS éligibles ?"), requêtes à multiples facettes, ou questions nécessitant une comparaison entre documents distants. En pratique, le taux de recall chute sous 60% dès que la base dépasse 10 000 documents — le signal vectoriel se noie dans la similarité de surface.
L’architecture hybride : dense + sparse
Le RAG hybride combine deux stratégies complémentaires. La recherche vectorielle (Dense Retrieval via embeddings) excelle sur la similarité sémantique : elle retrouve des passages thématiquement proches même avec un vocabulaire radicalement différent. BM25 (Sparse Retrieval) excelle sur la correspondance lexicale exacte : indispensable pour les noms propres, codes produits, termes réglementaires et acronymes techniques. Les scores issus des deux pipelines sont fusionnés par Reciprocal Rank Fusion (RRF), une formule simple — 1/(k + rank) — mais redoutablement robuste face aux distributions de scores hétérogènes.
Le reranking : la couche différenciante
Après la fusion des 20 à 50 candidats, un cross-encoder (ms-marco-MiniLM-L6 ou Cohere Rerank) reclasse les résultats selon leur pertinence réelle. Contrairement aux bi-encoders qui calculent des embeddings indépendamment, le cross-encoder analyse la paire (question, passage) conjointement dans un même forward pass — précision nettement supérieure. La latence ajoutée est de 100 à 200 ms, acceptable pour la majorité des use cases interactifs. Le gain en précision@3 est typiquement de 15 à 25 points.
Chunking et évaluation rigoureuse
Le chunking est l’aspect le plus sous-estimé : des chunks trop petits perdent le contexte local, trop grands diluent la précision du retrieval. La technique "parent-child chunking" indexe de petits chunks (150 tokens) mais fournit au LLM leur chunk parent (600 tokens) pour préserver le contexte. Pour évaluer objectivement, construisez un golden set de 100 à 200 paires question/réponse et mesurez avec RAGAS (Faithfulness, Answer Relevancy, Context Precision). Ne vous fiez jamais aux impressions subjectives pour comparer deux architectures de retrieval.