Qu’est-ce que le RAG, et pourquoi a-t-il gagné le débat en entreprise ?
Le RAG, ou récupération documentaire, consiste à aller chercher dans le corpus de l’entreprise les passages utiles au moment de chaque question, puis à les fournir au modèle pour qu’il réponde à partir d’eux. Le sigle vient de l’anglais retrieval-augmented generation, génération augmentée par récupération.
Pendant toute l’année, la même question m’a été posée dans presque chaque cadrage : faut-il entraîner un modèle sur nos données, ou aller chercher les documents au moment de la question.
La deuxième approche, la récupération documentaire, a gagné. Pas parce qu’elle donne les meilleures réponses dans l’absolu, mais parce qu’elle est la seule qui survive aux contraintes réelles d’une organisation : des documents qui changent, des droits d’accès qui existent, des réponses qui doivent être vérifiables, et des modèles qui seront remplacés.
L’alternative, l’affinage (fine-tuning), consiste à poursuivre l’entraînement d’un modèle sur des exemples propres à l’organisation. Elle modifie le comportement du modèle ; elle ne lui donne pas un accès fiable et à jour aux documents. La confusion entre les deux est à l’origine de nombreux cadrages ratés. Le point de départ technique, la taille limitée de la fenêtre de contexte, est expliqué dans pourquoi une fenêtre de 8 000 jetons impose la récupération.

Quelles contraintes tranchent le débat entre RAG et entraînement ?
- Un document change. Avec la récupération, on remplace un fichier. Avec un modèle affiné, on recommence l’entraînement.
- Les droits d’accès existent. Un modèle affiné a tout absorbé et ne sait plus à qui appartient quoi. La récupération filtre avant de chercher.
- Une réponse doit être vérifiable. Citer ses sources n’est pas un confort : c’est ce qui rend la réponse opposable en interne.
- Le modèle sera remplacé. Il le sera plusieurs fois au cours de la vie du système. Une architecture de récupération survit au remplacement ; un affinage est à refaire.
RAG ou affinage d’un modèle : comment choisir ?
Le choix entre RAG et affinage se fait selon ce qu’on veut changer : le RAG apporte des connaissances à jour et traçables, l’affinage modifie un style, un format ou un comportement. Les deux ne répondent pas au même besoin, et la plupart des projets documentaires relèvent du premier.
| Critère | Récupération documentaire (RAG) | Affinage du modèle |
|---|---|---|
| Ce qui est modifié | Ce que le modèle lit à chaque question | Le comportement du modèle lui-même |
| Mise à jour d’un document | Remplacer le fichier et réindexer | Reprendre l’entraînement |
| Droits d’accès | Filtrés avant la recherche, par utilisateur | Impossibles à garantir après absorption |
| Citation des sources | Native : on sait quels extraits ont servi | Impossible : la connaissance est diffuse |
| Changement de modèle | L’index et la chaîne sont conservés | L’affinage est à refaire |
| Usage adapté | Répondre sur un corpus vivant | Imposer un format, un ton, une tâche répétitive |
Un exemple générique : un service juridique qui veut interroger ses contrats relève du RAG ; une équipe qui veut que le modèle produise toujours une fiche de synthèse au même format peut envisager l’affinage, ou plus simplement une consigne bien écrite. Avant tout entraînement, il faut aussi vérifier ce qu’on a le droit de mettre dans un prompt, car la même question de confidentialité se pose pour les données d’entraînement.
Pourquoi faut-il filtrer les droits d’accès avant la recherche, et non après ?
Dans une chaîne RAG, le filtrage des droits d’accès se fait avant la recherche, jamais après, sans quoi le système lit des documents interdits avant de masquer le résultat. C’est le point que je vois le plus souvent inversé, et qui coûte le plus cher à corriger.
Filtrer après revient à laisser le système lire des documents auxquels l’utilisateur n’a pas accès, puis à masquer le résultat. La fuite s’est déjà produite : dans les journaux, dans le cache, parfois dans le raisonnement affiché. Filtrer avant coûte un peu de performance et supprime la catégorie entière du problème.
Comment construire une chaîne RAG qui tienne en production ?
Une chaîne RAG qui tient en production se construit dans un ordre précis : corpus, découpage, droits, recherche, consigne, refus, évaluation, journalisation. Inverser cet ordre produit les erreurs les plus coûteuses à corriger.
- Qualifier le corpus : quels documents font autorité, lesquels sont périmés, qui en décide.
- Découper chaque type de document selon sa structure, en rattachant titre, date et statut à chaque passage, comme détaillé dans découper un document.
- Indexer avec les droits d’accès de chaque document, sous une forme exploitable par la machine.
- Rechercher uniquement dans le périmètre autorisé de l’utilisateur qui pose la question.
- Fournir peu d’extraits, ceux qui sont les plus pertinents, avec l’instruction de répondre à partir d’eux et de citer leur origine.
- Autoriser explicitement le refus quand les extraits ne suffisent pas.
- Constituer un jeu de tests de questions réelles avec leurs réponses attendues, et le rejouer à chaque modification.
- Journaliser la question, les extraits fournis et la réponse.
Les étapes 1 et 3 ne sont pas techniques : elles demandent des décisions de la part des métiers. C’est pourquoi un audit IA préalable porte d’abord sur l’état du corpus et des droits.
Quelles sont les limites du RAG ?
Le RAG ne traite bien ni les questions de synthèse sur tout le corpus, ni les corpus contradictoires, et il ne dispense jamais d’une évaluation régulière. Je ne le vends pas comme une solution universelle, et il faut être clair sur ces limites.
Il ne répond pas bien aux questions qui demandent une synthèse sur l’ensemble du corpus, « quelle est notre position générale sur tel sujet », parce qu’il ne lit que quelques extraits. Il ne compense pas un corpus mal tenu : si trois notes se contredisent, il citera l’une des trois, avec aplomb. Et il ne dispense pas d’évaluation : sans jeu de tests, on ne sait pas qu’il s’est dégradé.
La couche d’accès au modèle a aussi son importance : une chaîne bien conçue isole le modèle derrière une interface qui permet d’en changer, ce que décrit la couche qui rend le modèle remplaçable.
Le réglage qui change tout, et qu’on oublie
Le droit de ne pas répondre. Un système qui doit répondre à tout produira une réponse fausse plutôt que rien. Autoriser explicitement « je ne trouve pas d’élément suffisant dans les documents accessibles » réduit les erreurs graves, et augmente la confiance des utilisateurs plutôt que de la réduire.
Que faut-il tracer pour qu’une chaîne RAG reste diagnosticable ?
Journaliser les extraits fournis au modèle, et pas seulement la question et la réponse, est ce qui rend une chaîne de récupération réparable. Sans cette trace, chaque incident produit une enquête sans conclusion.
La raison est simple. Devant une réponse fausse, la seule question utile est : l’information correcte figurait-elle dans ce qui a été fourni ? Si oui, le problème est dans le prompt ou le modèle. Si non, il est dans la recherche ou le corpus. Ce sont deux corrections opposées.
Sans le journal des extraits, cette distinction est impossible et l’équipe modifie le prompt par défaut, ce qui installe le cycle où l’on corrige un cas en en cassant deux autres.
Cinq champs suffisent : la question, les extraits fournis, la réponse, la décision humaine et l’horodatage. C’est aussi la trace exigée par ailleurs en conformité, ce qui permet de traiter les deux besoins d’un coup, comme le montre ce qui doit exister avant l’échéance.
Qu’est-ce qui a réellement changé depuis autour du RAG ?
L’architecture RAG a peu bougé depuis ; ce qui a changé, c’est ce qu’on met autour : l’évaluation continue, la journalisation, la supervision humaine explicite. Le sujet s’est déplacé de l’architecture vers l’exploitation.
C’est une bonne nouvelle : cela veut dire que la question technique est réglée, et que la difficulté est redevenue une question d’organisation.
Pourquoi les fenêtres de contexte croissantes n’ont-elles pas remis en cause le RAG ?
Les fenêtres ont été multipliées par cent et la récupération reste nécessaire, pour une raison qui n’est pas technique mais économique. Le débat a été rouvert à chaque annonce et il s’est refermé de la même façon.
Un corpus d’entreprise dépasse toujours la fenêtre, quelle que soit sa taille. Et surtout, ce qui est envoyé est facturé : remplir une très grande fenêtre à chaque requête coûte plusieurs centaines de fois une requête ciblée, pour une réponse souvent moins précise.
Ce calcul est détaillé dans une grande fenêtre reste une facture. Il n’a pas bougé depuis.
Quelle est l’amélioration la plus rentable d’une chaîne RAG existante ?
Ajouter un index lexical à côté de l’index vectoriel corrige une part importante des échecs de récupération sur les corpus riches en références exactes, pour un effort limité. C’est le chantier que je recommande en premier sur toute chaîne existante.
La recherche par le sens échoue systématiquement sur les références exactes : numéros d’article, codes produit, identifiants de dossier. Elle remonte un passage voisin, plausible et faux.
La recherche par mots-clés attrape ces cas et rate les reformulations, que la recherche vectorielle traite bien. Les deux angles morts sont complémentaires, ce qui rend la combinaison évidente une fois qu’on l’a vue, comme détaillé dans recherche hybride. L’ampleur du gain dépend du corpus ; elle se mesure sur le jeu de tests, avant et après.
Questions fréquentes
Quelle différence entre RAG et fine-tuning ?
Le RAG fournit au modèle, à chaque question, les passages du corpus qui permettent de répondre ; le fine-tuning modifie le modèle lui-même par un entraînement complémentaire. Le premier apporte des connaissances à jour et citables, le second un comportement ou un format. Pour interroger des documents d’entreprise, le RAG est le choix par défaut.
Les grandes fenêtres remplacent-elles le RAG ?
Non. Un corpus d’entreprise dépasse toujours la fenêtre, et ce qui est envoyé est facturé : remplir une très grande fenêtre coûte des centaines de fois une requête ciblée, souvent pour une réponse moins précise.
Quelle amélioration apporter en premier à une chaîne existante ?
L’ajout d’un index lexical à côté de l’index vectoriel, surtout sur un corpus contenant des références numérotées. Le gain varie selon les corpus et doit être mesuré sur un jeu de tests avant et après la modification.
Quand faut-il filtrer les droits d’accès ?
Avant la recherche, jamais après. Filtrer le résultat laisse le modèle lire des documents interdits et formuler une réponse à partir d’eux : ce n’est pas une protection.
Combien d’extraits envoyer ?
Entre trois et huit sur la plupart des corpus. Au-delà, l’information utile se dilue, le coût augmente et le modèle dispose de davantage d’occasions de se tromper de source.
Un système RAG peut-il encore inventer des réponses ?
Oui, notamment quand les extraits retrouvés ne contiennent pas la réponse et que le système n’a pas le droit de refuser. Autoriser explicitement le refus, afficher les sources et tester sur des questions réelles réduisent ce risque sans le supprimer.
Sources
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, Lewis et al., arXiv, mai 2020.
- Lost in the Middle: How Language Models Use Long Contexts, Liu et al., arXiv, juillet 2023.
- The Probabilistic Relevance Framework: BM25 and Beyond, Robertson et Zaragoza, Foundations and Trends in Information Retrieval, 2009.
