Guide
RAG agentique : quand l'IA décide de ses recherches
RAG agentique : le modèle décide quand chercher, juge les résultats et reformule. Schéma LangGraph, apports, coûts, quand s'en passer.
Mis à jour le
Un RAG agentique confie au modèle de langage la conduite de la recherche : il décide s'il faut chercher, avec quelle requête, juge si les passages ramenés suffisent, et recommence autrement si ce n'est pas le cas. Le RAG classique, lui, suit un chemin fixé dans le code : une recherche, puis une réponse. L'agentique aide sur les questions qui demandent plusieurs recherches ; il coûte plus cher et répond plus lentement.
Flux de travail ou agent : la distinction d'Anthropic
Dans son article du 19/12/2024 « Building effective agents », Anthropic distingue :
- les flux de travail (workflows), où modèles et outils sont orchestrés par des chemins de code définis à l'avance ;
- les agents, où le modèle dirige lui-même son processus et l'usage de ses outils.
La brique de base des deux est le « modèle augmenté » : un modèle doté de récupération, d'outils et de mémoire, capable de générer ses propres requêtes de recherche. Un RAG classique est un flux de travail ; un RAG agentique est un agent dont l'un des outils est la recherche dans vos documents. Cercle IA Tech détaille ce choix en dehors du RAG dans agent ou workflow.
Le schéma du tutoriel LangGraph
Le tutoriel « Agentic RAG » de LangGraph, documenté avec LangChain, décrit l'agent comme un graphe d'étapes reliées par des branchements. Il en compte cinq :
| Étape | Rôle |
|---|---|
generate_query_or_respond |
le modèle répond directement (une salutation) ou décide d'appeler l'outil de recherche |
retrieve |
exécute la recherche dans l'index |
grade_documents (branchement) |
un modèle juge si les passages sont pertinents (« oui » ou « non ») |
rewrite_question |
si non, reformule la question et relance la recherche |
generate_answer |
si oui, rédige la réponse à partir des passages |
Les branchements, d'après la documentation :
workflow.add_conditional_edges("retrieve", grade_documents)
workflow.add_edge("rewrite_question", "generate_query_or_respond")
workflow.add_edge("generate_answer", END)
Ce qui change par rapport au RAG classique tient en deux décisions : ne pas chercher quand c'est inutile, et ne pas répondre à partir de passages jugés mauvais.
Ce que l'agentique apporte
- Les questions en plusieurs temps. « Quel fournisseur a livré la pièce défectueuse signalée dans le rapport qualité de mars, et quel est son délai contractuel ? » demande deux recherches successives, la seconde dépendant de la première.
- Les questions mal formulées. La reformulation rattrape une première recherche infructueuse.
- Plusieurs sources. L'agent peut choisir entre plusieurs outils : index documentaire, base de données, annuaire.
Le tutoriel RAG de LangChain pousse plus loin avec Deep Agents : liste de tâches de recherche, sous-agents qui lisent et résument en parallèle, évaluateur qui fait réviser la réponse selon une grille (voir RAG avec LangChain).
Ce qu'il coûte
Anthropic le résume : les systèmes agentiques échangent souvent de la latence et du coût contre de meilleures performances. Chaque décision de l'agent (chercher, juger, reformuler) est un appel au modèle. Une question qui coûtait un appel dans un RAG classique peut en coûter plusieurs. Les réponses sont aussi moins prévisibles : deux fois la même question peuvent suivre deux chemins différents, ce qui complique les tests.
Quand s'en passer
Anthropic recommande de chercher la solution la plus simple possible et de n'ajouter de la complexité que lorsque c'est nécessaire, ce qui peut vouloir dire ne pas construire d'agent du tout. En pratique :
- Commencez par un RAG classique bien réglé : recherche hybride, retri, citations.
- Mesurez sur un jeu de questions réelles (voir Évaluer un RAG).
- Isolez les questions qui échouent parce qu'elles demandent plusieurs recherches.
- Si elles pèsent assez dans l'usage réel, ajoutez l'agentique, en commençant par la seule étape de jugement et de reformulation.
Points de vigilance
- Plafonner les boucles. Un agent qui reformule sans fin coûte sans rien rendre : fixez un nombre maximal de recherches par question.
- Garder les droits. Chaque recherche lancée par l'agent doit appliquer les mêmes filtres d'accès que la recherche classique (voir Droits d'accès).
- Tracer. Gardez le journal des recherches faites par l'agent : c'est la seule façon de comprendre une mauvaise réponse.
Pour les questions qui portent sur l'ensemble d'un corpus plutôt que sur quelques passages, une autre voie existe : GraphRAG.
Questions fréquentes
Quelle différence entre un RAG classique et un RAG agentique ?
Dans un RAG classique, le code décide : une recherche, puis une réponse. Dans un RAG agentique, le modèle décide s'il faut chercher, juge si les résultats suffisent, et peut reformuler et chercher à nouveau.
Faut-il commencer par un RAG agentique ?
Non. Anthropic recommande de chercher la solution la plus simple possible et de n'ajouter de la complexité que si nécessaire, les agents échangeant souvent de la latence et du coût contre de meilleures performances.
Sources
Pages consultées pour écrire cet article :