Les grands modèles de langage ont un problème de mémoire. Ils savent ce qu’ils ont appris pendant l’entraînement. Rien d’autre. Demandez-leur quelque chose sur les documents internes de votre entreprise, l’actualité d’hier, ou tout ce qui s’est passé après leur date de coupure d’entraînement, et ils devinent ou admettent leur ignorance.
Le RAG corrige ça. Enfin… en partie.
La génération augmentée par recherche (Retrieval-Augmented Génération) fait exactement ce que son nom suggère : avant de générer une réponse, le système récupère des informations pertinentes dans des sources externes, puis s’en sert pour produire une réponse plus exacte. Le modèle n’a pas besoin d’avoir mémorisé le manuel de votre entreprise s’il peut d’abord aller le chercher.
L’idée de base, en clair
Pensez à la façon dont vous répondez quand vous n’êtes pas sûr. Vous ne devinez pas. Vous vérifiez d’abord, puis vous répondez en fonction de ce que vous avez trouvé. Le RAG fonctionne pareil, sauf que la “vérification” se fait automatiquement avant que l’IA ne réponde.
Voici ce qui se passe quand vous posez une question à un système RAG :
- Votre question est convertie en une représentation numérique (un embedding)
- Le système interroge une base de données pour trouver du contenu aux représentations similaires
- Les segments de texte les plus pertinents sont extraits et ajoutés à votre question
- Le modèle de langage reçoit à la fois votre question et le contexte récupéré
- Il génère une réponse à partir de cet ensemble
Comme l’utilisateur ozr l’a expliqué sur Hacker News: “It’s right there in the name - first you Retrieve relevant information (often a vector lookup) then you use it to Augment the prompt, then you Generate an answer.”
Le modèle de langage n’“apprend” jamais vos données. Il les voit seulement au moment de répondre, comme si on lui tendait une page pertinente d’un manuel juste avant une question d’examen.
Pourquoi c’est important
Les modèles de langage hallucinent. Ils produisent des informations plausibles mais fausses parce qu’ils reconnaissent des motifs, ils ne vérifient pas les faits. Les données d’entraînement peuvent être périmées, incomplètes, ou tout simplement fausses pour votre situation précise.
Le RAG attaque le problème de front. En ancrant le modèle dans des documents récupérés, vous lui donnez de vraies sources sur lesquelles s’appuyer, plutôt que de le laisser dépendre uniquement de motifs statistiques appris à l’entraînement. Le modèle ne peut halluciner que jusqu’à un certain point quand vous lui avez littéralement mis la bonne réponse sous les yeux.
Ça règle trois problèmes d’un coup :
Fraîcheur: Les modèles ont des dates de coupure d’entraînement. L’information change. Le RAG vous permet de connecter un modèle à des sources mises à jour en continu, sans réentraîner.
Spécificité: Un modèle entraîné sur l’internet général ne sait rien des processus internes de votre entreprise, de vos produits ou de votre jargon. Le RAG vous permet de le brancher sur votre base de connaissances.
Traçabilité: Quand les réponses proviennent de sources récupérées, vous pouvez remonter à l’origine. Le modèle n’invente pas tout à partir de corrélations statistiques.
Comme hirako2000 l’a dit sur Hacker News: “RAG’s point is to remove the limit LLMs alone have which is that they are limited to the training data as source of information.”
Comment fonctionne vraiment la récupération
L’étape de récupération est celle où ça devient techniquement intéressant. La plupart des systèmes RAG utilisent la recherche vectorielle, aussi appelée recherche sémantique. Vos documents sont transformés en vecteurs numériques (embeddings) censés capturer leur sens. Quand une question arrive, elle subit le même traitement. Le système trouve ensuite les documents dont les vecteurs sont mathématiquement les plus proches de celui de la question.
Ça marche mieux qu’une recherche par mots-clés, parce que ça capte le sens, pas seulement les mots. Une question sur la “politique de congés des employés” peut correspondre à un document intitulé “Directives PTO” même s’ils ne partagent aucun mot exact.
Mais la recherche vectorielle n’est pas la seule option. Comme l’a noté le chercheur en IA Simon Willison sur Hacker News: “You don’t have to use vector search to implement RAG. You can use other search mechanisms instead or as well.”
Certains praticiens préfèrent la recherche textuelle traditionnelle (BM25) pour certains cas d’usage. Un commentateur dans un fil Hacker News récent sur le RAG local a observé : “In a lot of the cases bm25 has been the best approach used in many of the projects we deployed.” D’autres combinent les approches, en utilisant à la fois la recherche par mots-clés et la recherche sémantique pour capter différents types de pertinence.
Le choix dépend de vos données. Des documents techniques denses, avec une terminologie précise, peuvent mieux fonctionner avec une recherche par mots-clés. Du contenu conversationnel, avec des formulations variées, peut nécessiter une correspondance sémantique. Pour du code en particulier, un développeur a noté : “Don’t use a vector database for code, embeddings are slow and bad for code. Code likes bm25+trigram.”
Ce que le RAG ne peut pas faire
Mal comprendre les limites du RAG provoque la plupart des échecs. La technique est puissante, mais son périmètre est étroit.
Le RAG ne rend pas les modèles de langage plus intelligents. Il leur donne accès à des informations auxquelles ils n’auraient pas accès autrement. Mais si le modèle ne sait pas bien raisonner sur ces informations, ou si la récupération remonte les mauvais documents, vous obtenez quand même de mauvaises réponses.
Un utilisateur de Hacker News a proposé une analogie mémorable: “Using RAG feels like asking an acquaintance to write a book report by giving them semi-randomly cut out paragraphs from the book.”
C’est la limite fondamentale : le RAG récupère des segments, pas de la compréhension. Si votre question exige de synthétiser des informations à l’échelle d’un document entier, ou de relier des idées de plusieurs sources de façon complexe, une récupération par segments peut ne pas donner au modèle ce dont il a besoin.
Un autre commentateur dans le même fil a expliqué la contrainte plus précisément : “Simple RAG works well when questions are highly correlated with specific chunks of documents. It does not allow an LLM to synthesize an entire corpus to an answer (e.g. a book report).”
Le RAG n’empêche pas non plus complètement les hallucinations. Il réduit le risque en fournissant un ancrage factuel, mais les modèles peuvent encore :
- Mal interpréter des documents récupérés
- Générer des réponses très sûres à partir de sources ambiguës
- Combler les trous entre des segments récupérés avec des détails inventés
- Combiner des citations exactes pour aboutir à des conclusions inexactes
La technologie fonctionne mieux quand les questions ont des réponses claires et localisées dans votre collection de documents. Elle a du mal avec des questions qui demandent une compréhension globale ou une synthèse sur de grands ensembles de texte.
RAG vs ajustement fin
Question fréquente : quand faut-il utiliser le RAG plutôt que l’ajustement fin d’un modèle sur vos données ?
L’ajustement fin modifie les poids du modèle à partir de vos données, ce qui revient à lui apprendre de nouveaux schémas. Le RAG, lui, laisse le modèle inchangé mais lui fournit des informations externes au moment de la requête.
Ce ne sont pas du tout les mêmes objectifs.
L’ajustement fin change la façon dont le modèle écrit et raisonne. C’est utile pour lui apprendre le ton de votre entreprise, la terminologie de votre secteur, ou votre format de sortie préféré. Ça n’ajoute pas de nouveaux faits de manière fiable. Les modèles ont du mal à distinguer les informations issues de l’ajustement fin de celles de l’entraînement de base.
Comme l’a dit un praticien : “Fine tuning is not good for really adding/removing facts but is great for changing the form of the output.”
Le RAG ajoute un accès à l’information. Il permet aux modèles de répondre à des questions sur des contenus qu’ils n’ont jamais vus pendant l’entraînement. Le style du modèle reste le même, mais sa “connaissance” s’élargit.
Pour la plupart des usages en entreprise, vous voulez les deux ensemble : un modèle ajusté finement pour votre style de communication, connecté via RAG à votre documentation à jour. Aucun des deux, seul, ne résout entièrement le problème.
Quand le RAG a du sens
Le RAG fonctionne bien pour :
Systèmes de support client: Connecter un chatbot à votre documentation d’aide. Les questions sont mises en correspondance avec des articles pertinents, et le modèle génère des réponses en langage naturel ancrées dans votre contenu de support réel.
Bases de connaissances internes: Permettre aux employés de poser des questions sur les politiques, procédures et documents internes sans fouiller des arborescences de dossiers ou des wikis.
Documentation produit: Les utilisateurs posent des questions en langage naturel sur le fonctionnement des produits et obtiennent des réponses tirées de la documentation réelle.
Conformité juridique ou réglementaire: Quand les réponses doivent être traçables jusqu’à des documents sources précis, le RAG apporte la piste d’audit que des sorties de modèle “pures” ne peuvent pas fournir.
Le point commun : des situations où vous avez besoin que le modèle travaille avec une information spécifique, bornée et vérifiable, plutôt qu’avec des connaissances générales.
Quand envisager des alternatives
Le RAG n’est pas toujours le bon choix.
Modèles à long contexte: Les modèles avec de très grandes fenêtres de contexte (100K+ tokens) peuvent parfois contenir des collections entières de documents directement. Si votre base de connaissances est suffisamment petite, vous n’avez peut-être pas besoin de récupération du tout. Comme un praticien l’a observé: “85 % of the time we don’t need the vectordb” après avoir découvert que des approches plus simples résolvaient leur cas d’usage.
Requêtes sur données structurées: Si votre information vit dans des bases de données avec des schémas propres, des systèmes de requêtes traditionnels peuvent être meilleurs que la recherche vectorielle. Le RAG excelle sur le texte non structuré, pas sur des tableaux.
Informations en temps réel: Le RAG suppose que votre base de connaissances est déjà construite. Pour de la donnée vraiment “live” (cours boursiers, météo, actualités), il faut des intégrations API, pas de la récupération de documents.
Tâches de raisonnement complexes: Les questions qui exigent un raisonnement en plusieurs étapes à travers de nombreuses sources mettent en difficulté l’approche par segments du RAG. Certains problèmes demandent des systèmes à agents capables de chercher, raisonner et itérer, plutôt que “récupérer une fois et générer”.
Réalités de mise en œuvre
Construire des systèmes RAG en production implique plus de décisions que les tutoriels ne le laissent croire. La taille des segments compte : trop petits, vous perdez le contexte ; trop grands, vous gaspillez l’attention du modèle sur du contenu hors sujet. La qualité de la récupération varie énormément selon votre choix de modèle d’embedding et vos paramètres de recherche.
Beaucoup de praticiens ont constaté que des approches plus simples battent souvent des approches complexes. L’écosystème d’outils reste instable. Certains développeurs trouvent des plateformes RAG commerciales utiles. D’autres préfèrent assembler des composants simples. “SQLite works shockingly well,” a noté un commentateur de Hacker News à propos de leur système en production.
Autre observation de la communauté : “A little BM25 can get you quite a way with an LLM.” Le message est limpide. Commencez simple. Mesurez les résultats. Ajoutez de la complexité seulement quand les mesures prouvent que vous en avez besoin.
Ce qui marche dépend fortement de vos données, de vos questions et de vos exigences de précision. Les entreprises qui tirent une vraie valeur du RAG ont généralement commencé simple, mesuré soigneusement, puis itéré à partir de performances réelles plutôt qu’en suivant des “meilleures pratiques” théoriques.
La vue d’ensemble
Le RAG représente un choix d’architecture précis : garder le modèle de langage généraliste, mais le connecter à une connaissance spécialisée au moment de la requête. On échange une partie des capacités contre de la souplesse. Votre information reste dans des sources que vous contrôlez, les mises à jour se font sans réentraînement, et les réponses peuvent être vérifiées à partir des documents récupérés.
Comme minimaxir l’a écrit sur Hacker News: “RAG is the one paradigm of modern AI that’s completely uncontroversial (hallucinations aside) and will persist even if there’s an AI-industry crash.”
L’idée centrale — augmenter la génération grâce à la récupération — résout un vrai problème qui ne disparaît pas avec de meilleurs modèles de base.
Ce qui est moins certain, c’est si les implémentations actuelles captent tout le potentiel. Les systèmes RAG d’aujourd’hui font surtout une recherche de similarité simple suivie d’une génération “en un coup”. Des approches plus sophistiquées existent : celles qui recherchent de façon itérative, vérifient l’information récupérée, ou synthétisent à travers de nombreuses sources. Ce sont encore des domaines de développement actif.
La technique a prouvé sa valeur pour des requêtes étroites, factuelles, sur des bases de connaissances structurées. Reste à voir si elle se généralise à des applications plus désordonnées et plus ambitieuses. Les entreprises qui déploient le RAG avec succès ont généralement été lucides sur ses limites, en l’utilisant là où il aide vraiment plutôt qu’en le forçant sur des problèmes qui exigent d’autres solutions.
Pour la plupart des organisations qui explorent l’IA, le RAG mérite d’être compris. Pas parce qu’il résout tout. Mais parce que savoir ce qu’il fait — et ce qu’il ne fait pas — vous aide à faire de meilleurs choix sur là où l’IA peut réellement vous aider dans votre travail.