Aller au contenu
BiVelio rejoint le NVIDIA Inception ProgramNVIDIA Inception Program BiVelio fait partie de l’ElevenLabs Grants Program
Retour à la bibliothèque
Agents

Pourquoi votre RAG échoue et le graphe récupère le double

Un agent sans contexte n'est qu'un modèle. La recherche vectorielle classique traite la connaissance comme un sac de fragments indépendants — c'est pourquoi elle échoue sur les questions qui comptent le plus pour une entreprise. Nous passons en revue les vrais problèmes que rencontrent les développeurs de RAG (chiffres à l'appui), pourquoi la structure de graphe l'emporte là où les vecteurs ne suffisent pas, comment se situe le paysage (Pinecone, LangChain, LlamaIndex, Neo4j, Microsoft GraphRAG) et comment nous comptons être les meilleurs sur le contexte qui compte vraiment : l'opération d'une entreprise.

Research by BiVelio 9 min de lecture
Couverture de l’article « Pourquoi votre RAG échoue et le graphe récupère le double »

Ajouter du contexte à votre RAG peut donner de moins bons résultats que de ne lui fournir aucun document : avec 30 documents, le fait pertinent « perdu au milieu » tombe à 50,5 % — sous les 56,1 % obtenus en répondant sans rien. La connaissance d'une entreprise est un réseau vivant de dossiers, de clients et de factures reliés entre eux ; l'aplatir en fragments isolés casse précisément ce qui lui donne du sens — et les chiffres le confirment.

Cet article expose notre thèse technique : pourquoi nous traitons la connaissance comme un graphe et l'utilisons comme contexte ambiant des agents, et non comme un sac de fragments.

Les problèmes que rencontrent vraiment les développeurs

Quiconque a construit un vrai RAG s'est heurté au même mur : ajouter du contexte n'améliore pas la réponse — parfois, cela la dégrade. Ce n'est pas une anecdote, c'est mesuré. Liu et al. ont montré que les modèles exploitent bien l'information placée au début et à la fin du contexte, mais la perdent quand elle tombe au milieu (Liu et al., 2023).

Précision en QA selon la position du fait pertinent (GPT-3.5, 20 documents)
Fait au début du contexte75.8%
Fait au milieu du contexte53.8%

Même fait, même question : seule change la position du document pertinent dans le contexte. La chute au milieu dépasse 20 points.

Source: Liu et al., 2023 — Lost in the Middle (arXiv:2307.03172)

Avec 30 documents, l'effet est si marqué que placer le fait au milieu (50,5 %) donne de moins bons résultats que de répondre sans aucun document (56,1 %) : un contexte mal ordonné fait perdre des points (Liu et al., 2023). Et ce n'est qu'un des modes de défaillance documentés par la littérature.

−22 pts
Chute de précision
fait pertinent « perdu au milieu »
7
Points de défaillance du RAG
documentés sur des systèmes réels
27 %
Réponses avec hallucination
GPT-4 sur des tâches data-to-text
Source: Liu et al. 2023; Barnett et al. 2024; Wu et al. 2024 (RAGTruth)

Barnett et al. ont recensé sept points de défaillance récurrents lors de la mise en production d'un RAG (Barnett et al., 2024) : contenu manquant, document pertinent absent du top-k, écarté lors de la consolidation du prompt, non extrait bien que présent, mauvais format, mauvaise spécificité et réponse incomplète. Et RAGTruth a mesuré que, même avec recherche documentaire, une part non négligeable des réponses hallucine — jusqu'à 27 % sur des tâches data-to-text avec GPT-4 (Wu et al., 2024).

La racine commune

Presque toutes ces défaillances ont une même cause : la recherche par similarité ramène des fragments semblables à la question, mais aveugles les uns aux autres. Si la réponse exige de relier plusieurs pièces (multi-saut) ou de synthétiser tout un corpus, la similarité vectorielle n'a aucun moyen de le voir (Tang & Yang, 2024).

S'y ajoute la fragmentation due au découpage : diviser les documents en fragments de taille fixe coupe un même fait entre deux fragments, et aucun ne contient la réponse complète (Gao et al., 2023).

Trois façons de rechercher (et pourquoi la structure compte)

Toutes les architectures de recherche ne se valent pas. Il est utile de distinguer trois paradigmes :

ParadigmeComment il recherchePoint fortAngle mort
RAG vectorielk plus proches voisins par similarité d'embeddingsSens, synonymes, rapiditéMulti-saut, relations, synthèse globale
Hybride (BM25 + vecteur)Fusionne lexical exact + sémantique (p. ex. RRF)Termes exacts (codes, noms) + sémantiqueReste un classement de passages déconnectés
Graph RAGParcourt des relations explicites + diffusionMulti-saut, contexte relationnel, vue d'ensembleCoût de construction du graphe

L'hybride corrige « les vecteurs ratent le terme exact » ; il ne corrige pas « la recherche ignore comment les faits sont reliés ». Pour cela, il faut de la structure. Et c'est là que le graphe change les règles.

Le graphe comme contexte ambiant

Nous modélisons l'opération comme un graphe orienté G=(V,E)G = (V, E) dont les nœuds VV sont des entités — dossiers, documents, clients, tâches, agents — et les arêtes EE les relations réelles entre elles. Certains nœuds concentrent un très grand nombre de connexions ; nous les appelons god nodes, et ce sont généralement les points par lesquels passe toute l'opération.

Pour mesurer l'importance d'un nœud, nous utilisons PageRank (Page et al., 1999), défini de façon récursive : un nœud est important si des nœuds importants pointent vers lui.

PR(v)=1−d∣V∣+d∑u∈B(v)PR(u)L(u)PR(v) = \frac{1 - d}{|V|} + d \sum_{u \in B(v)} \frac{PR(u)}{L(u)}

Quand un agent a besoin de contexte, nous ne nous contentons pas de lancer une recherche par similarité : nous amorçons le graphe avec les nœuds les plus alignés avec la requête et laissons la pertinence se diffuser vers leurs voisins à travers l'adjacence normalisée A~\tilde{A} :

rt+1=(1−α) s+α A~ rt\mathbf{r}_{t+1} = (1 - \alpha)\,\mathbf{s} + \alpha\, \tilde{A}\,\mathbf{r}_{t}

Ce n'est pas une intuition : c'est exactement le mécanisme dont HippoRAG a montré qu'il résout les questions multi-saut en une seule étape de recherche, grâce au Personalized PageRank sur un graphe de connaissances (Gutiérrez et al., 2024). Les résultats sont frappants.

Recall@5 sur 2WikiMultiHopQA (questions multi-saut)
RAG vectoriel dense (ColBERTv2)68
Graphe + PageRank (HippoRAG)89

Recherche vectorielle dense (ColBERTv2) face à graphe + Personalized PageRank, avec le même lecteur. La structure récupère environ deux fois plus de preuves utiles sur les questions qui exigent d'enchaîner des faits.

Source: Gutiérrez et al., 2024 — HippoRAG (arXiv:2405.14831)

Et pour les questions globales — « quels sont les thèmes qui traversent toute l'opération ? » — qui n'ont pas de passage-réponse unique, Microsoft GraphRAG a montré que détecter des communautés dans le graphe et les résumer bat systématiquement le RAG vectoriel lorsqu'un juge LLM évalue l'exhaustivité et la diversité (Edge et al., 2024). Les communautés s'obtiennent en optimisant la modularité — Louvain (Blondel et al., 2008) et son successeur Leiden (Traag et al., 2019), celui qu'utilise GraphRAG :

Q=12m∑i,j(Aij−kikj2m)δ(ci,cj)Q = \frac{1}{2m} \sum_{i,j} \left( A_{ij} - \frac{k_i k_j}{2m} \right) \delta(c_i, c_j)
72–83 %
Victoires en exhaustivité
graphe face au RAG vectoriel (juge LLM)
jusqu'à +20 %
Gain en multi-saut
graphe + PageRank face à l'état de l'art
10–30×
Moins cher
que le RAG itératif, en une seule étape
Source: Edge et al. 2024 (GraphRAG); Gutiérrez et al. 2024 (HippoRAG)

Honnêteté intellectuelle

Le graphe ne gagne pas toujours. Sur des questions à un seul saut, ou quand on valorise la concision littérale, le RAG vectoriel suffit — et fait même mieux (Edge et al., 2024). C'est pourquoi nous ne remplaçons pas le vecteur : nous le combinons avec le graphe et un reranker de précision. La structure sert là où elle aide : relations, multi-saut et vue d'ensemble.

Comment se situe le paysage

L'écosystème excelle dans ce qu'il fait, mais il est presque entièrement construit autour du passage, pas de la relation :

OutilCe que c'estMécanisme de rechercheAngle mort relationnel
PineconeBase vectorielle géréeSimilarité vectorielle (+ hybride)Aucune notion native de relations
WeaviateBase vectorielle (pas une base de graphes)Vecteur + BM25FRéférences croisées déconseillées pour les parcours profonds
LangChainFramework d'orchestrationDélègue au backend branchéPas de recherche relationnelle native
LlamaIndexFramework de données pour le RAGVecteur + PropertyGraphIndexLe graphe dépend d'une extraction par LLM
Neo4jBase de graphesCypher + index vectorielIl faut d'abord construire et modéliser le graphe
Microsoft GraphRAGPipeline de grapheGraphe + communautés (Leiden)Indexation coûteuse et gourmande en LLM
Elastic / OpenSearchMoteurs de rechercheBM25 + kNN (RRF)Pas de parcours de relations entre documents

Le propos n'est pas que ces outils soient mauvais — ce sont d'excellentes briques. C'est que le graphe de connaissances comme contexte ambiant vivant d'une opération n'est pas le cas d'usage pour lequel la plupart d'entre eux ont été conçus.

Comment nous comptons être les meilleurs

Nous ne rivalisons pas sur le meilleur index vectoriel : nous rivalisons sur la compréhension de l'opération d'une entreprise, mieux que quiconque. C'est là que nous concentrons notre avantage, domaine par domaine :

L'approche habituelle

Indexer du texte. La connaissance est un corpus de documents ; le graphe, quand il existe, est extrait après coup par un LLM et se périme.

BiVelio

Le graphe est l'opération. Dossiers, tâches, clients et agents sont déjà reliés par des relations réelles et vivantes — inutile de les reconstruire avec un LLM.
  1. Du contexte opérationnel, pas seulement des documents. Notre graphe ne naît pas du découpage de PDF : il naît de la façon dont l'entreprise fonctionne réellement. Les relations sont donc précises et à jour, non déduites.
  2. Multi-saut et vue d'ensemble, intégrés. Personalized PageRank pour récupérer des voisinages cohérents (Gutiérrez et al., 2024) et communautés pour raisonner à la bonne granularité (Edge et al., 2024) — les deux modes que les données récompensent.
  3. Un contexte cohérent, pas des fragments. Nous récupérons le dossier plus son client plus ses factures liées, pas trois fragments qui partagent un mot. Nous nous attaquons de front au « perdu au milieu » (Liu et al., 2023) en fournissant moins de contexte, mais mieux relié.
  4. Précision et coût. Nous associons le graphe au reranking éphémère pour que seul le meilleur parvienne à la fenêtre de l'agent — l'idée que nous développons dans Le reranking éphémère.
  5. Gouvernance et traçabilité. Chaque élément de contexte remonte au graphe : vous pouvez vérifier d'où vient une décision. Dans l'opération d'une entreprise, ce n'est pas un plus, c'est une exigence.

Note : les chiffres de cet article proviennent de la littérature citée (Liu et al., Edge et al., Gutiérrez et al., Barnett et al., Wu et al.) et décrivent les approches par graphe en général. Ils motivent notre conception ; ce ne sont pas des mesures figées du produit.

Références

Barnett, S., Kurniawan, S., Thudumu, S., Brannelly, Z., & Abdelrazek, M. (2024). Seven Failure Points When Engineering a Retrieval Augmented Generation System. Proceedings of the IEEE/ACM 3rd International Conference on AI Engineering (CAIN). https://arxiv.org/abs/2401.05856
Blondel, V. D., Guillaume, J.-L., Lambiotte, R., & Lefebvre, E. (2008). Fast unfolding of communities in large networks. Journal of Statistical Mechanics: Theory and Experiment, 2008(10), P10008. https://doi.org/10.1088/1742-5468/2008/10/P10008
Edge, D., Trinh, H., Cheng, N., Bradley, J., Chao, A., Mody, A., Truitt, S., Metropolitansky, D., Ness, R. O., & Larson, J. (2024). From Local to Global: A Graph RAG Approach to Query-Focused Summarization. arXiv Preprint arXiv:2404.16130. https://arxiv.org/abs/2404.16130
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2023). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv Preprint arXiv:2312.10997. https://arxiv.org/abs/2312.10997
Gutiérrez, B. J., Shu, Y., Gu, Y., Yasunaga, M., & Su, Y. (2024). HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models. Advances in Neural Information Processing Systems (NeurIPS). https://arxiv.org/abs/2405.14831
Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2023). Lost in the Middle: How Language Models Use Long Contexts. Transactions of the Association for Computational Linguistics (TACL). https://arxiv.org/abs/2307.03172
Page, L., Brin, S., Motwani, R., & Winograd, T. (1999). The PageRank Citation Ranking: Bringing Order to the Web (Techreport SIDL-WP-1999-0120). Stanford InfoLab. http://ilpubs.stanford.edu:8090/422/
Tang, Y., & Yang, Y. (2024). MultiHop-RAG: Benchmarking Retrieval-Augmented Generation for Multi-Hop Queries. Conference on Language Modeling (COLM). https://arxiv.org/abs/2401.15391
Traag, V. A., Waltman, L., & van Eck, N. J. (2019). From Louvain to Leiden: guaranteeing well-connected communities. Scientific Reports, 9, 5233. https://doi.org/10.1038/s41598-019-41695-z
Wu, Y., Zhu, J., Xu, S., Shum, K., Niu, C., Zhong, R., Song, J., & Zhang, T. (2024). RAGTruth: A Hallucination Corpus for Developing Trustworthy Retrieval-Augmented Language Models. Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (ACL). https://aclanthology.org/2024.acl-long.585/
  • #graphes
  • #graphe de connaissances
  • #graphrag
  • #agents
  • #pagerank
  • #rag

Vous voulez voir ces algorithmes en production ?

BiVelio transforme cette recherche en un système d'exploitation d'IA qui fait tourner votre entreprise de bout en bout.

Articles liés