Pattern RAG Agent : réponses fondées sur des sources

Construisez un agent RAG qui trouve les documents pertinents, cite les sources et réduit les hallucinations dans les réponses.
Sur cette page
  1. Essence du pattern
  2. Problème
  3. Solution
  4. Comment ça fonctionne
  5. En code, ça ressemble à ceci
  6. Ce que ça donne pendant l'exécution
  7. Quand c'est adapté - et quand non
  8. Adapté
  9. Non adapté
  10. Différence avec ReAct
  11. Quand utiliser RAG (vs autres patterns)
  12. Comment combiner avec d'autres patterns
  13. En bref
  14. Avantages et Inconvénients
  15. FAQ
  16. Et ensuite

Essence du pattern

RAG Agent est un pattern où l'agent commence par trouver des sources pertinentes, puis produit la réponse à partir d'elles, au lieu de s'appuyer seulement sur la mémoire paramétrique du modèle.

Quand l'utiliser : quand la réponse doit s'appuyer sur des documents à jour et des références, pas seulement sur la mémoire du modèle.


Au lieu de répondre "depuis la tête du modèle", RAG ajoute une étape dédiée :

  • trouver des faits dans la base de connaissances
  • sélectionner les extraits les plus pertinents
  • répondre avec des citations

Pattern RAG Agent : réponses fondées sur des sources

Problème

Imaginez qu'un utilisateur demande :

"Quel est le SLA du plan enterprise ?"

L'agent répond sans étape de recherche, uniquement depuis la mémoire du modèle.

Le texte peut sembler sûr de lui mais rester faiblement vérifié :

  • valeur obsolète d'une ancienne version de policy
  • faits mélangés depuis plusieurs documents
  • absence de source vérifiable
  • formulation "précise" sans preuve

Sans recherche contrôlée, même une réponse plausible peut être non fondée.

C'est particulièrement risqué pour le support, la compliance, les policies internes et la documentation technique.

Le problème est là : sans ancrage aux sources, l'agent peut fournir une réponse convaincante mais non vérifiée, difficile à auditer.

Solution

RAG ajoute une grounding-policy qui pilote la recherche avant la génération.

Analogie : c'est comme répondre avec un livre ouvert. D'abord vous trouvez les bonnes pages, ensuite vous formulez la réponse. Si les sources manquent, mieux vaut clarifier la demande que d'inventer.

Principe clé : d'abord trouver et vérifier les sources, ensuite générer la réponse.

L'agent peut proposer un texte, mais la grounding-policy détermine :

  • quelles sources sont valides
  • ce qui peut entrer dans la réponse
  • quand un scénario fallback est nécessaire au lieu de "combler"

Processus contrôlé :

  1. Retrieve : trouver les extraits pertinents
  2. Ranking/filtrage : supprimer bruit et doublons
  3. Ancrage aux sources : construire le contexte autorisé
  4. Génération : répondre uniquement dans ce contexte
  5. Citation : attacher liens/metadata aux affirmations

Cela apporte :

  • moins de risque d'hallucinations sur les requêtes factuelles
  • ancrage des réponses dans les documents
  • vérifiabilité et auditabilité
  • réponses plus à jour quand les documents changent

Cela fonctionne bien si :

  • la recherche a un index de qualité + metadata
  • le ranking filtre le bruit de façon stable
  • le modèle ne répond pas hors du contexte ancré
  • en absence de sources, un fallback sûr se déclenche

Le modèle peut "vouloir" répondre de mémoire, mais c'est la couche RAG qui décide si la base de preuve est suffisante.

Comment ça fonctionne

Diagram

RAG ne remplace pas l'agent. Il ajoute une couche de connaissance avant la génération de réponse.

Idée clé : s'il n'y a pas de contexte pertinent, le système ne doit pas "inventer une réponse".

Description complète du flow : Retrieve → Ground → Generate → Cite

Retrieve
Le système recherche des candidats dans la base de connaissances à partir de la requête utilisateur.

Ancrage aux sources
Les extraits sélectionnés sont fournis comme seul contexte autorisé pour générer la réponse.

Génération
L'agent formule la réponse uniquement à partir de ce contexte. Toute information hors contexte est considérée non autorisée.

Citation
Le résultat final inclut les sources : lien, nom du document, version ou timestamp.

En code, ça ressemble à ceci

PYTHON
chunks = retrieve(goal, top_k=8, filters={"tenant_id": tenant_id})
context = rerank_and_pack(goal, chunks, max_tokens=2500)

if not context:
    return ask_clarifying_or_fallback(goal)  # sans contexte pertinent, on ne génère pas de réponse

answer = generate_grounded_answer(goal, context)  # génération uniquement depuis les sources trouvées
answer = attach_citations(answer, context)

return answer

Ce que ça donne pendant l'exécution

TEXT
Goal: Quel est le SLA du plan enterprise ?

Retrieve:
- 6 extraits trouvés dans les policies de support
- après rerank, 2 restent pertinents
- si fragments pertinents = 0 -> question de clarification / fallback au lieu d'une réponse inventée

Ground:
- contexte construit à partir de deux extraits
- metadata ajoutées : doc_id, section, updated_at

Generate:
- réponse générée uniquement depuis ces sources

Cite:
- lien ajouté vers "Support Policy v3.2"

Exemple complet d'agent RAG

PYPython
TSTypeScript · bientôt

Quand c'est adapté - et quand non

Adapté

SituationPourquoi RAG est adapté
Précision factuelle et références aux sources importantesRAG ancre la réponse dans des documents précis et facilite la vérification.
La connaissance évolue souventLa recherche remonte des données à jour sans réentraîner le modèle.
La réponse doit se fonder sur des matériaux internesRAG permet d'utiliser les documents d'entreprise comme base de réponse.
Il faut réduire les hallucinationsLe contexte ancré réduit la part de réponses sans appui factuel.
Le résultat doit être auditableVous pouvez journaliser les sources trouvées et expliquer la base de la réponse.

Non adapté

SituationPourquoi RAG n'est pas adapté
La tâche ne dépend pas de connaissances externesLa couche de recherche ajoute du coût sans amélioration notable du résultat.
Pas de base de connaissances ni metadata de qualitéUn index faible et des documents médiocres donnent une recherche non pertinente.
Besoin uniquement d'une génération courte sans fact-checkingDans ce cas, RAG complexifie le système et augmente la latence.

Parce que RAG ajoute des étapes supplémentaires d'indexation, de recherche et de ranking.

Différence avec ReAct

ReActRAG
Rôle principalPrise de décision étape par étapeInjecter des connaissances pertinentes dans le contexte
Question cléQue faire ensuite ?Sur quelles sources fonder la réponse ?
FocusActions et outilsFaits et génération ancrée
Risque sans guardrailsAppels d'outil excessifs ou boucleHallucinations quand la recherche est faible

ReAct pilote la boucle d'actions de l'agent.

RAG pilote la qualité des connaissances qui servent à construire la réponse.

Quand utiliser RAG (vs autres patterns)

Utilisez RAG quand la réponse doit s'appuyer sur des documents externes ou une base de connaissances dans la requête courante.

Test rapide :

  • si vous devez "trouver des sources pertinentes et répondre à partir d'elles" -> RAG
  • si vous devez "mémoriser le contexte utilisateur entre étapes ou sessions" -> Memory-Augmented Agent
Comparaison avec d'autres patterns et exemples

Aide-mémoire rapide :

Si la tâche ressemble à ça...Utilisez
Trouver de la connaissance dans des sources externes et construire la réponse dessusRAG Agent
Stocker et utiliser le contexte utilisateur entre étapes ou sessionsMemory-Augmented Agent

Exemples :

RAG: "Réponds aux questions client uniquement depuis la base interne de policy et montre les sources."

Memory-Augmented: "Retiens que le client a déjà choisi le plan Pro et prends-le en compte dans les prochaines réponses."

Comment combiner avec d'autres patterns

  • RAG + ReAct: d'abord l'agent récupère les faits depuis les sources, puis exécute les étapes sur un contexte vérifié.
  • RAG + Supervisor: si les sources valides manquent, la réponse est bloquée ou envoyée en approbation.
  • RAG + Multi-Agent Collaboration: tous les agents partagent le même knowledge context et travaillent de manière cohérente.

En bref

En bref

RAG Agent:

  • Cherche des fragments de connaissance pertinents
  • Construit la réponse à partir d'eux
  • Ajoute des citations de source
  • Réduit le risque d'hallucinations

Avantages et Inconvénients

Avantages

répond à partir de vos documents

moins d'inventions du modèle

possibilité d'afficher les sources dans la réponse

connaissance mise à jour sans réentraînement du modèle

Inconvénients

la qualité dépend de l'index et du chunking

la base de connaissances doit être maintenue

sans filtres, peut récupérer des fragments non pertinents

FAQ

Q: Est-ce que RAG garantit une réponse correcte à 100% ?
A: Non. RAG réduit le risque d'erreur, mais la qualité dépend toujours de l'index, de la recherche et du ranking.

Q: Que faire si aucune source pertinente n'est trouvée ?
A: Il faut un fallback sûr : question de clarification, refus avec raison, ou escalade à un humain.

Q: Est-ce que RAG remplace le fine-tuning ?
A: Non. RAG gère l'accès à la connaissance à jour. Le fine-tuning change le style ou le comportement du modèle. En production, on combine souvent les deux.

Et ensuite

RAG donne à l'agent des connaissances externes à jour pour la requête en cours.

Mais comment conserver un contexte d'interaction utile entre les sessions utilisateur ?

⏱️ 11 min de lectureMis à jour Mars, 2026Difficulté: ★★★
Suite pratique

Exemples d’implémentation du patron

Passe à l’implémentation avec des projets d’exemple.

Intégré : contrôle en productionOnceOnly
Ajoutez des garde-fous aux agents tool-calling
Livrez ce pattern avec de la gouvernance :
  • Budgets (steps / plafonds de coût)
  • Permissions outils (allowlist / blocklist)
  • Kill switch & arrêt incident
  • Idempotence & déduplication
  • Audit logs & traçabilité
Mention intégrée : OnceOnly est une couche de contrôle pour des systèmes d’agents en prod.
Auteur

Cette documentation est organisée et maintenue par des ingénieurs qui déploient des agents IA en production.

Le contenu est assisté par l’IA, avec une responsabilité éditoriale humaine quant à l’exactitude, la clarté et la pertinence en production.

Les patterns et recommandations s’appuient sur des post-mortems, des modes de défaillance et des incidents opérationnels dans des systèmes déployés, notamment lors du développement et de l’exploitation d’une infrastructure de gouvernance pour les agents chez OnceOnly.