Aller au contenu
4.11Expert7 min

Corrective RAG et Self-RAG : des patterns de récupération autocorrectifs pour réduire les hallucinations

Sebastian KarallMis à jour le 28 octobre 2026
Définition

Corrective RAG (CRAG) et Self-RAG sont des patterns de récupération autocorrectifs. CRAG évalue la pertinence des résultats récupérés et bascule vers un fallback de recherche web lorsque la qualité est insuffisante. Self-RAG laisse le modèle décider lui-même, grâce à des tokens de réflexion, s'il doit effectuer une récupération et si sa propre réponse est étayée par les sources.

L’essentiel

  • CRAG ajoute au pipeline RAG un évaluateur de récupération : les résultats sont classés comme corrects, ambigus ou incorrects ; si la qualité est faible, un fallback de recherche web prend le relais au lieu de générer aveuglément à partir d'un mauvais contexte.
  • Self-RAG (Asai et al. 2023, arXiv:2310.11511) entraîne le modèle à produire des tokens de réflexion grâce auxquels il décide lui-même si une récupération est nécessaire et vérifie sa propre réponse au regard des sources (autocritique de fidélité, ou faithfulness).
  • Les deux patterns s'attaquent au problème central de la context-unfaithful generation : des hallucinations malgré le RAG, lorsque le modèle cite des sources mais s'écarte de leur contenu.
  • Ils relèvent du stade Agentic RAG : la récupération devient un outil appelé de manière réflexive et itérative, et non plus un prétraitement statique. Singh et al. 2025 présentent CRAG comme une architecture Agentic RAG à part entière ; Self-RAG s'y inscrit comme un exemple précoce.
  • Le compromis est bien réel : les appels LLM supplémentaires pour l'évaluation et l'autocritique augmentent la latence et les coûts, et exposent au risque de boucles d'outils incontrôlées ; l'investissement se justifie surtout en cas de risque d'hallucination élevé et de bases de connaissances incomplètes.
  • Point de départ pragmatique pour la plupart des projets : exploiter d'abord pleinement la recherche hybride, le re-ranking et les garde-fous de fidélité (RAGAS), puis ajouter CRAG/Self-RAG de manière ciblée.

Corrective RAG (CRAG) et Self-RAG sont deux patterns de récupération autocorrectifs qui ajoutent un contrôle qualité au schéma RAG classique. CRAG évalue la pertinence des résultats récupérés et bascule vers un fallback de recherche web lorsque la qualité de la récupération est insuffisante. Self-RAG laisse le modèle de langage décider lui-même, grâce à des tokens de réflexion, s'il doit effectuer une récupération, puis vérifie si sa propre réponse est étayée par les sources. Tous deux visent le même problème : les hallucinations qui surviennent malgré le RAG.

  • CRAG en une phrase : un évaluateur de récupération classe les résultats comme corrects, ambigus ou incorrects et, face à un mauvais contexte, déclenche une mesure corrective au lieu de continuer à générer à l'aveugle.
  • Self-RAG en une phrase : grâce à des tokens de réflexion appris, le modèle détermine lui-même quand effectuer une récupération et si sa réponse concorde avec les sources.
  • Socle commun : tous deux appartiennent à la famille des patterns Agentic RAG et traitent la récupération non pas comme un prétraitement statique, mais comme une étape vérifiable et pilotable.

Pourquoi le RAG classique ne suffit pas

Le RAG standard (Naive RAG selon la taxonomie de Gao et al. 2023, arXiv:2312.10997) suit un déroulé fixe : vectoriser, récupérer, insérer dans le prompt, générer. Le problème : le pipeline fait aveuglément confiance aux résultats top-k. S'ils sont sémantiquement proches mais hors sujet sur le fond, voire tout simplement absents, le modèle génère quand même une réponse et l'appuie sur des sources inadaptées.

Deux types d'erreurs sont typiques. Dans la context-unfaithful generation, le modèle cite des sources, mais s'écarte de leur contenu. Les contre-mesures habituelles sont les garde-fous de fidélité, l'autocritique et les prompts qui imposent la citation (citation forcing). Le second type d'erreur apparaît en l'absence de re-ranking : les résultats top-k sont alors souvent proches, mais pas pertinents. C'est précisément dans cette brèche que s'engouffrent CRAG et Self-RAG : ils rendent la qualité de la récupération explicitement vérifiable et réagissent en conséquence.

Un point important pour situer le sujet : le principal levier contre les hallucinations reste la qualité de la récupération elle-même. Anthropic Contextual Retrieval réduit le taux d'erreur de récupération top-20 de 49 % (de 5,7 à 2,9 %), et de 67 % en combinaison avec le re-ranking (à 1,9 %) ; il s'agit de benchmarks publiés par l'éditeur Anthropic lui-même, données de septembre 2024. L'autocorrection est la deuxième ligne de défense, pas la première.

Corrective RAG (CRAG) : évaluer les résultats, puis corriger

CRAG ajoute un évaluateur de récupération au pipeline. Après la récupération, mais avant la génération, cet évaluateur juge la pertinence des documents trouvés et les répartit en trois classes de confiance :

  • Correct (confiance élevée) : les résultats sont pertinents. Ils sont affinés (par exemple par decompose-recompose, pour éliminer le bruit) puis transmis au générateur.
  • Incorrect (confiance faible) : les résultats ne conviennent pas. Au lieu de générer à partir d'un mauvais contexte, le système déclenche un fallback, généralement une recherche web, pour récupérer des contenus externes à jour.
  • Ambiguous (confiance moyenne) : incertain. Les deux voies sont combinées : contexte interne plus résultats de la recherche web.

Le mécanisme décisif est le fallback de recherche web lorsque la qualité de la récupération interne est faible. CRAG compense ainsi une base de connaissances incomplète ou obsolète sans que le modèle se mette à halluciner. CRAG est indépendant du modèle : il peut être placé comme nœud supplémentaire en amont de n'importe quel pipeline RAG existant, sans réentraîner le LLM générateur. CRAG remonte à Yan et al. 2024 (arXiv:2401.15884).

Self-RAG : le modèle se critique lui-même

Self-RAG (Asai et al., University of Washington, arXiv:2310.11511, octobre 2023) transfère le contrôle au modèle. Celui-ci est entraîné à produire des tokens dits de réflexion, avec lesquels il pilote et évalue son propre processus. Schématiquement, quatre décisions se succèdent :

  • Retrieve? Le modèle décide pour chaque requête (ou chaque segment) si une récupération est vraiment nécessaire. Les questions triviales ou déjà couvertes par les connaissances du modèle ne nécessitent aucune récupération.
  • Is Relevant? Le modèle évalue si le passage récupéré est pertinent pour la question.
  • Is Supported? Après la récupération, le modèle vérifie si l'affirmation générée est étayée par le passage récupéré : une autocritique de fidélité intégrée.
  • Is Useful? Le modèle évalue sur une échelle de 1 à 5 l'utilité de la réponse pour la question.

L'intérêt : le modèle n'effectue une récupération que s'il la juge lui-même nécessaire (ce qui réduit les coûts pour les questions simples). Lors de la génération, Self-RAG produit plusieurs segments candidats, les évalue via un score pondéré issu des tokens de critique (pertinence, étayage, utilité) et conserve le mieux noté (Asai et al. 2023). Refuser de répondre ou escalader vers un humain ne fait pas partie de la méthode, mais peut se construire sur ces tokens. Le prix à payer : l'implémentation originale de Self-RAG suppose un modèle spécialement entraîné sur les tokens de réflexion. En pratique, de nombreuses équipes approchent ce comportement par prompting et par une boucle d'autocritique avec un modèle standard, ce qui est moins coûteux à mettre en œuvre, mais moins fiable qu'un modèle entraîné à cet effet.

Comparatif : CRAG vs Self-RAG vs RAG standard

Dimension

RAG standard (Naive)

Corrective RAG (CRAG)

Self-RAG

Instance de contrôle

aucune

évaluateur de récupération externe

le modèle lui-même (tokens de réflexion)

Décision de récupération

toujours

toujours, puis évaluée

pilotée par le modèle (à la demande)

Réaction à un mauvais contexte

aucune, génère quand même

fallback de recherche web / affinage

les tokens de critique évaluent les candidats, le segment le mieux noté l'emporte

Vérification de la fidélité

outil externe nécessaire (p. ex. RAGAS)

seulement indirecte (l'évaluateur vérifie les résultats, pas la réponse)

intégrée (token Is Supported)

Entraînement du modèle nécessaire

non

non

oui (variante originale)

Effort d'implémentation

faible

moyen

élevé (ou moyen en approximation par prompt)

Latence / coût par requête

base

base plus appel à l'évaluateur, voire recherche web

base plus étapes de réflexion/critique

Mode de défaillance typique

inadéquation des chunks, context-unfaithful generation

erreur de jugement de l'évaluateur

boucles incontrôlées, coûts

Selon la taxonomie d'évolution du RAG (Naive, Advanced, Modular, Graph, Agentic), les deux patterns relèvent du stade Agentic RAG. Singh et al. 2025 (arXiv:2501.09136) décrivent l'Agentic RAG comme des patterns dans lesquels la récupération fonctionne comme un outil qu'un agent appelle de façon dynamique et itérative, avec réflexion, planification et utilisation d'outils. Self-RAG n'apparaît pas dans cette revue de littérature, mais s'y inscrit comme un exemple précoce, puisque le modèle décide lui-même de la récupération. Singh et al. présentent Corrective RAG comme une architecture à part entière (Agentic Corrective RAG). Par honnêteté, il faut préciser qu'en 2026 la notion d'Agentic RAG n'est pas encore clairement stabilisée.

Exemple concret : une base de connaissances de support avec des lacunes

Prenons une agence qui exploite pour un client B2B un assistant de support basé sur le RAG et adossé à une base de connaissances interne. Un utilisateur pose une question sur une fonctionnalité annoncée hier seulement dans une note de version qui n'est pas encore indexée.

  • RAG standard : récupère les trois documents anciens les plus proches, ne trouve pas la réponse et hallucine une configuration plausible, mais fausse. Une hallucination classique malgré le RAG.
  • CRAG : l'évaluateur de récupération classe les résultats comme incorrect (faible confiance dans la pertinence), lance une recherche web dans la documentation publique du produit, trouve la note de version et génère une réponse correcte avec sa source.
  • Self-RAG : le modèle classe les chunks récupérés comme non pertinents via le token Is Relevant et constate, via le token Is Supported, qu'aucune réponse n'est étayée par eux. Une règle applicative construite sur ces tokens supprime alors la réponse non étayée et escalade vers un humain.

Un calcul pour illustrer le compromis : si un appel RAG standard coûte par exemple un appel au LLM, CRAG ajoute au moins un appel à l'évaluateur, plus le traitement de la recherche web lorsque le fallback se déclenche ; une boucle d'autocritique de type Self-RAG peut entraîner d'autres appels selon la conception. Pour les questions simples, Self-RAG peut même faire l'économie de l'étape de récupération. En règle générale : l'autocorrection n'est pas une amélioration gratuite, mais un échange délibéré de latence et de coûts supplémentaires contre un risque d'hallucination plus faible. Les systèmes RAG agentiques ajoutent un risque typique : des boucles d'outils incontrôlées qui multiplient le coût par requête.

Les cas où ces patterns sont pertinents

Les patterns autocorrectifs sont rentables lorsqu'au moins l'un de ces points s'applique :

  • La base de connaissances est incomplète ou obsolète, et un fallback vers le web ou des sources tierces comble de vraies lacunes (CRAG).
  • Les mauvaises réponses coûtent cher : droit, finance, support réglementé, tout ce qui engage la responsabilité.
  • Le refus de répondre en cas d'incertitude est souhaité et accepté (Self-RAG fournit pour cela les tokens de critique).

Ils sont moins pertinents si la base de connaissances est complète et proprement indexée, si la latence est prioritaire ou si le budget par requête est serré. Dans ces cas, les mesures moins coûteuses du stade Advanced RAG offrent généralement un meilleur rapport coût-bénéfice : recherche hybride (dense plus BM25 pour ne pas manquer les codes exacts), Contextual Retrieval contre les chunks privés de leur contexte, re-ranking par cross-encoder et garde-fou de fidélité via RAGAS dans le pipeline de CI. Selon Anthropic, le Contextual Retrieval (embeddings contextualisés plus BM25 sur les chunks contextualisés), combiné au re-ranking, réduit le taux d'erreur de récupération jusqu'à 67 %. Ce n'est qu'ensuite qu'il vaut la peine d'ajouter CRAG ou Self-RAG de manière ciblée sur les chemins critiques.

Pour les agences et les décideurs B2B

Pour les agences, le message aux clients est clair : les patterns de récupération autocorrectifs ne sont pas une fonctionnalité standard qu'on active par défaut, mais un investissement ciblé pour les cas d'usage à fort risque d'hallucination. La voie pragmatique passe par une base de référence mesurable (mesurer la qualité de la récupération et la fidélité avec RAGAS) et n'ajoute CRAG ou Self-RAG que là où les chiffres le justifient. Pour les projets B2B en Europe, un point s'ajoute : un fallback de recherche web (CRAG) doit être aligné sur la gouvernance des données personnelles et des sources, car des contenus externes entrent soudain dans la chaîne de réponse. Blck Alpaca conçoit des architectures RAG de sorte que l'autocorrection se trouve là où elle fait la différence, sans gonfler partout les coûts et la latence.

Résumer avec l’IAChatGPTClaudePerplexity

Ouvre le chat avec un prompt prêt à l’emploi.

Questions fréquentes

Quelle est la différence entre Corrective RAG et Self-RAG ?
CRAG place un évaluateur de récupération distinct avant la génération : il évalue la pertinence des résultats récupérés et, si la qualité est faible, déclenche un fallback de recherche web ou un affinage des connaissances. Self-RAG transfère le contrôle au modèle lui-même : grâce à des tokens de réflexion appris à l'entraînement, le LLM décide s'il effectue une récupération, puis évalue si sa propre réponse est étayée par les sources. CRAG corrige donc l'étape de récupération, Self-RAG l'ensemble du processus de décision et de génération.
Les patterns RAG autocorrectifs réduisent-ils vraiment les hallucinations ?
Ils ciblent précisément le type d'erreur appelé context-unfaithful generation, c'est-à-dire les hallucinations malgré le RAG. En détectant un mauvais contexte (CRAG) ou en vérifiant la réponse au regard des sources (Self-RAG), ils réduisent le risque que le modèle continue à générer librement à partir de résultats non pertinents. Le principal levier reste toutefois une récupération de bonne qualité : selon Anthropic, le Contextual Retrieval (embeddings contextualisés plus BM25 sur les chunks contextualisés), combiné au re-ranking, réduit le taux d'erreur de récupération jusqu'à 67 %, avant même que l'autocorrection n'ait à intervenir.
Quel effort d'implémentation faut-il prévoir pour CRAG et Self-RAG ?
CRAG peut être mis en œuvre avec un effort modéré grâce aux frameworks existants en 2026 (LangGraph, LlamaIndex, Haystack), sous forme de nœud évaluateur supplémentaire dans le pipeline, sans adaptation du modèle. Self-RAG dans sa forme originale (Asai et al. 2023) suppose un modèle entraîné sur des tokens de réflexion, ce qui demande nettement plus de travail ; les variantes pratiques approchent ce comportement par prompting et par une boucle d'autocritique avec un modèle standard.
Quand ces patterns sont-ils rentables, et quand ne le sont-ils pas ?
Ils sont rentables en cas de risque d'hallucination élevé, de bases de connaissances incomplètes ou obsolètes et de cas d'usage où une mauvaise réponse coûte cher (droit, finance, support engageant la responsabilité). Ils ne sont pas pertinents si la base de connaissances est complète et bien indexée, si la latence est critique ou si le budget par requête est serré : chaque étape supplémentaire d'évaluation et d'autocritique entraîne des appels LLM supplémentaires.
CRAG et Self-RAG, est-ce la même chose qu'Agentic RAG ?
Non, Agentic RAG est la notion la plus large. Agentic RAG (Singh et al. 2025, arXiv:2501.09136) désigne de manière générale les patterns dans lesquels la récupération est traitée comme un outil qu'un agent appelle de façon dynamique et itérative, avec réflexion, planification et utilisation d'outils. Singh et al. présentent CRAG comme une architecture à part entière (Agentic Corrective RAG). Ils ne traitent pas Self-RAG, qui s'y inscrit pourtant comme un exemple précoce, puisque le modèle décide lui-même de la récupération. Cela dit, en 2026, la notion d'Agentic RAG n'est pas encore clairement stabilisée.

Envie d’aller plus loin ?

Reçois les nouvelles analyses directement dans ta boîte mail ou découvre comment nous mettons ce savoir au service des entreprises.