Les 7 niveaux de Claude Code et du RAG

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Résolvons le problème de Claude Code et de la mémoire pour que les systèmes d'IA puissent de manière fiable et précise
00:00:06répondre à des questions sur des conversations passées ou d'immenses volumes de documents, c'est un problème que nous
00:00:13essayons de résoudre depuis des années et la réponse typique a été le RAG, la génération augmentée de récupération, et
00:00:20bien que cette vidéo s'intitule « Les sept niveaux de Claude Code et du RAG », ce dont il est réellement question ici
00:00:26est de déconstruire ce problème de Claude Code, des systèmes d'IA en général et de la mémoire, et même
00:00:33plus important encore, cette vidéo a pour but de vous donner une feuille de route qui vous montre où vous en êtes dans ce
00:00:37combat entre systèmes d'IA et mémoire, et ce que vous pouvez faire pour passer au niveau supérieur. Alors, au cours de ce voyage
00:00:43à travers ces sept niveaux de Claude Code et du RAG, nous allons aborder un certain nombre de sujets, mais nous
00:00:48n'allons pas commencer par le GraphRAG ou quoi que ce soit de compliqué ; nous allons commencer par le commencement,
00:00:53c'est-à-dire les systèmes de mémoire de base qui sont natifs de Claude Code car, aussi triste que ce soit à dire,
00:00:59c'est là que la plupart des gens non seulement commencent, mais c'est là qu'ils restent. De l'auto-mémoire et des choses comme
00:01:04le claud.md, nous passerons à des outils externes comme Obsidian avant de finir par nous retrouver
00:01:10avec les grands noms, les vrais systèmes RAG. À ces niveaux, nous parlerons de ce qu'est réellement le RAG,
00:01:16comment il fonctionne, les différents types de RAG : le RAG naïf contre le GraphRAG contre le RAG agentique, des choses comme
00:01:21les re-rankers et tout ce qu'il y a entre les deux. Et à chaque niveau, nous allons décomposer les choses de la même
00:01:25manière : nous parlerons de ce qu'il faut attendre à ce niveau, des compétences à maîtriser, des
00:01:29pièges à éviter et de ce que vous devez faire pour passer au niveau suivant. Ce que cette vidéo
00:01:34ne sera pas, c'est une explication technique ultra-approfondie sur la façon de configurer nécessairement ces
00:01:40systèmes spécifiques, car je l'ai déjà fait dans de nombreux cas. Quand nous parlons de GraphRAG et
00:01:45de LightRAG par exemple, ou même de sujets plus avancés comme le RAG pour n'importe quel type de
00:01:50systèmes d'embeddings, j'ai fait des vidéos où je décompose du tout début à la toute fin comment
00:01:55configurer cela vous-même. Ainsi, quand nous arriverons à ces sections, je mettrai les liens vers ces vidéos, et c'est pour
00:02:00notre bien à tous les deux, pour que cette vidéo ne dure pas cinq heures. Mais pour ces niveaux, nous allons quand même parler
00:02:04de ce que cela signifie réellement, de ce que chaque système vous apporte et de quand vous devriez l'utiliser. Mais avant
00:02:09de commencer par le niveau un, un mot rapide de notre sponsor d'aujourd'hui : moi-même. Le mois dernier, j'ai sorti la
00:02:15Masterclass Claude Code, et c'est le meilleur moyen de passer de zéro à développeur IA, surtout si vous ne venez
00:02:21pas d'un milieu technique. Et cette masterclass est un peu différente car nous nous concentrons sur un
00:02:25certain nombre de cas d'utilisation différents pour apprendre à utiliser Claude Code. L'un d'eux est par exemple le
00:02:31RAG de niveau production : comment construire les systèmes RAG que vous allez voir dans cette vidéo dans un scénario réel et
00:02:37l'utiliser réellement en tant que membre d'une équipe ou le vendre à un client, c'est sur ce genre de choses que nous nous concentrons. Donc,
00:02:42si vous voulez y accéder, vous pouvez le trouver dans Chase AI Plus, il y a un lien vers cela dans le
00:02:47commentaire épinglé, et nous serions ravis de vous y accueillir. Commençons maintenant par le niveau un : l'auto-mémoire.
00:02:51Il s'agit des systèmes que Claude Code utilise automatiquement pour créer une sorte d'appareil mémoriel afin de
00:02:58se souvenir réellement des choses dont vous avez parlé. Vous savez que vous en êtes là si vous n'avez jamais rien
00:03:02configuré intentionnellement pour aider Claude Code à se souvenir du contexte général des conversations précédentes
00:03:09ou simplement de ce qui se passe dans votre base de code. Et quand nous parlons d'auto-mémoire, c'est tout
00:03:13simplement son nom : le système d'auto-mémoire, qui est automatiquement activé lorsque vous utilisez Claude
00:03:18Code. Essentiellement, cela permet à Claude Code de créer ses propres fichiers Markdown qui listent
00:03:26les choses qu'il juge importantes vous concernant dans ce projet particulier. Et cela est purement basé
00:03:32sur sa propre intuition selon vos conversations. Je peux voir ces fichiers mémoire qu'il a créés ; encore
00:03:37une fois, il le fait de lui-même. Si vous allez dans votre dossier .claude, puis dans projects, vous y verrez un
00:03:42dossier nommé memory. À l'intérieur de ce fichier, vous verrez un certain nombre de fichiers Markdown ; ici,
00:03:47il y en a quatre, et ils sont comme la version Claude Code des post-it disant : « Oh oui, il a mentionné
00:03:51une fois ses objectifs de croissance pour son projet YouTube, notons cela. » Et dans le dossier
00:03:59mémoire de chacun, il y aura un fichier memory.md. Vous voyez dans ce fichier mémoire qu'il y a une petite note sur
00:04:04l'une de mes compétences, et ensuite il y a, vous savez, essentiellement un index de tous ces sous-fichiers mémoire disant :
00:04:09« Hé, il y en a un sur la croissance YouTube ici, un sur les revenus ou les références, et voici ce qu'il y a à l'intérieur. »
00:04:13Donc si je parle simplement à Claude Code dans mon fichier de coffre-fort et que je mentionne quelque chose sur YouTube et mes
00:04:19objectifs de croissance ou autre, il va s'y référer et dire : « Ah oui, Chase essaie d'obtenir
00:04:23tel nombre d'abonnés d'ici fin 2026. » C'est mignon, mais finalement, ce n'est pas si utile.
00:04:30C'est un peu comme lorsque vous êtes dans ChatGPT et qu'il ressort des trucs aléatoires de
00:04:35conversations précédentes et qu'il les force un peu ; on se dit : « Ok, je vois que tu t'en souviens,
00:04:40mais je m'en fiche un peu, et honnêtement, c'est un peu bizarre de continuer à ramener ça sur le tapis. Je préférerais que tu ne le fasses pas. »
00:04:44Et malheureusement, c'est là que la plupart des gens s'arrêtent dans leur parcours mémoriel, et c'est construit sur un
00:04:49passé presque abusif que nous avons tous eu en utilisant ces chatbots,
00:04:54parce que ces chatbots n'ont aucune sorte de vraie mémoire d'une conversation à l'autre, et donc
00:05:00nous avons toujours une peur bleue de devoir fermer une fenêtre de chat ou quitter une session de terminal
00:05:06parce qu'on se dit : « Oh mon Dieu, il ne va pas se souvenir de ma conversation. » Et c'est en fait un
00:05:10vrai problème parce que quelle est la réponse de tout le monde au fait que la fenêtre de chat ne puisse rien
00:05:17mémoriser ? Eh bien, la réponse est que vous continuez simplement cette conversation pour toujours parce que vous ne voulez pas
00:05:22vous retrouver dans un scénario où vous devez quitter et qu'il oublie tout. C'est une peur qui est née ici, à l'intérieur
00:05:26de ces fenêtres de chat, en commençant par ChatGPT, et la même chose avec l'application Web de Claude. Et honnêtement, c'était
00:05:31infiniment pire avec l'application Web de Claude car je pense que nous nous souvenons tous de l'époque avant la
00:05:35fenêtre de contexte d'un million de tokens, où on avait genre 30 minutes pour parler avec Claude avant qu'il dise : « Bon, à
00:05:39dans quatre heures. » Le problème est que les gens ont apporté ce genre de comportement psychotique et névrotique au
00:05:45terminal. Et ce qu'ils font en grande partie — parce qu'on peut maintenant s'en sortir avec une fenêtre de contexte d'un million —
00:05:50c'est qu'ils ne vident jamais, ils continuent de parler encore et encore avec Claude Code parce qu'ils
00:05:55ne veulent jamais qu'il oublie ce dont ils parlent à cause de ces problèmes de mémoire. Et le
00:06:00souci avec ça, c'est que votre efficacité chute drastiquement avec le temps au fur et à mesure que vous parlez avec Claude Code
00:06:05dans la même session. C'est l'idée fondamentale de la « pourriture du contexte » (context rot). Si vous ne savez pas ce que c'est,
00:06:10c'est le phénomène par lequel plus j'utilise un système d'IA au sein de la même session, au sein du même chat,
00:06:16et que je remplis cette fenêtre de contexte, plus il devient mauvais. Vous pouvez le voir juste ici : Claude Code, fenêtre de contexte d'un
00:06:23million ; à 256k tokens — c'est-à-dire que je n'ai rempli qu'environ un quart de sa fenêtre de contexte — nous sommes à
00:06:3092 %. À la fin, je suis à 78 %. Donc plus vous l'utilisez dans le même chat, plus il s'affaiblit. C'est l'un
00:06:36des problèmes majeurs que les gens rencontrent avec les systèmes d'IA et la mémoire. J'ai Claude Code, il a un million de contexte
00:06:42désormais, et pourtant je ne veux pas qu'il oublie la conversation en cours, alors je ne quitte jamais la
00:06:47fenêtre, je la remplis encore et encore. Deux choses se produisent : un, l'efficacité
00:06:51diminue comme vous venez de le voir ; deux, votre consommation explose car le nombre de tokens utilisés pour
00:06:59un contexte de 800 000 est bien supérieur à un contexte de 80 000. Ce n'est pas le seul problème,
00:07:08mais pour s'écarter un peu du sujet, nous sommes dans un écosystème actuel où tout le monde se plaint que Claude Code est
00:07:12bridé et que ma consommation s'envole automatiquement. Il y a un certain nombre de raisons à cela, mais l'une d'elles
00:07:18est sans aucun doute le fait que, depuis l'introduction du million de contexte, les gens n'ont aucune idée de la façon de
00:07:24gérer leur propre fenêtre de contexte et ils ne sont pas du tout assez
00:07:29agressifs pour effacer et réinitialiser la conversation, mais c'est un peu hors sujet.
00:07:34Le point de toute cette discussion est que, lorsqu'il s'agit de mémoire dans cette discussion sur le RAG et
00:07:39Claude Code, nous devons garder la « pourriture du contexte » à l'esprit car nous essayons constamment de gérer
00:07:44cette tension : d'accord, je veux ingérer du contexte pour que Claude Code puisse répondre à des questions sur plusieurs
00:07:50sujets, mais en même temps, je ne veux pas que le contexte devienne trop large car alors il devient moins bon.
00:07:55Donc, cela doit toujours être quelque chose à quoi nous pensons dans cette conversation sur la mémoire.
00:08:02Mais pour revenir à la vidéo et au niveau un : que font les gens au niveau un ? La
00:08:06réponse est qu'ils ne font pas grand-chose. Et comme ils ne font rien, ils comptent simplement
00:08:10sur une fenêtre de contexte gonflée pour se souvenir des choses. On sait qu'on en est là quand on n'a jamais édité
00:08:15un fichier claud.md et qu'on n'a jamais créé de type d'artefact ou de fichier qui permet à Claude
00:08:23Code de réaliser ce qui se passe, ce qu'il a fait par le passé et ce qu'il doit
00:08:27faire à l'avenir. Alors, que devons-nous maîtriser à ce niveau ? Eh bien, tout ce que vous avez vraiment besoin de
00:08:31maîtriser, malgré tout ce que j'ai écrit ici, c'est de comprendre que l'auto-mémoire ne suffit pas
00:08:35et que nous devons jouer un rôle actif en ce qui concerne Claude Code et la mémoire, car le piège à ce niveau
00:08:40est que si vous ne jouez pas un rôle actif, vous n'avez aucun contrôle. Et nous devons contrôler ce que Claude Code
00:08:44prend en compte lorsqu'il répond à nos questions. Ainsi, pour débloquer le niveau un et passer au niveau deux,
00:08:50nous avons besoin d'une mémoire explicite et nous devons trouver comment faire cela concrètement. Quels fichiers
00:08:57devez-vous éditer et comprendre qu'ils existent pour jouer un rôle actif dans cette
00:09:01relation ? Le niveau deux concerne un fichier spécifique : le fichier claud.md. Quand vous découvrez
00:09:06ce truc, c'est comme une bénédiction ; il y a enfin un endroit unique où je peux donner à Claude
00:09:12Code des règles et des conventions que j'ai toujours voulu qu'il suive, et il va le faire. En
00:09:16fait, je peux inclure des choses dont je voulais qu'il se souvienne et il le fera toujours. Cela ressemble vraiment à un
00:09:20progrès au début. Voici un modèle d'un fichier claud.md standard pour un projet d'assistant personnel. Maintenant,
00:09:29Claude Code va automatiquement créer un fichier claud.md, mais vous avez la possibilité de
00:09:33l'éditer ou même de le mettre à jour à la demande en utilisant une commande comme /init. Et l'idée
00:09:38de ce truc, c'est que c'est encore une fois comme le Saint Graal des instructions pour Claude Code pour ce projet
00:09:43particulier. À toutes fins utiles, Claude Code va y jeter un œil avant chaque tâche qu'il
00:09:50exécute. Donc, si vous voulez qu'il se souvienne de choses spécifiques, qu'allez-vous faire ? Vous allez
00:09:54les mettre dans le claud.md. Théoriquement, c'est à plus petite échelle que le RAG, vous savez, nous
00:10:00n'y mettons pas des documents complets, mais ce sont des choses dont vous voulez que Claude Code
00:10:05se souvienne toujours et des conventions que vous voulez qu'il suive. Pour celui-ci, nous avons une section « À propos de moi »,
00:10:09nous avons une décomposition de la structure du système de fichiers et de la manière dont nous voulons qu'il opère réellement quand
00:10:14nous lui donnons des commandes. Et comme je l'ai dit, comme c'est référencé sur pratiquement chaque prompt, Claude Code
00:10:18est très doué pour suivre cela. Donc l'idée de « Hé, je veux qu'il se souvienne de trucs précis », ça
00:10:22semble être un excellent endroit où les mettre. Mais il faut être prudent car on peut en faire trop. Quand on regarde des
00:10:28études comme celle-ci évaluant agents.md — et vous pouvez remplacer agents.md par claud.md —
00:10:33ils ont découvert dans l'étude que ce genre de fichiers peut en fait réduire l'efficacité des grands
00:10:40modèles de langage en général. Et pourquoi cela ? Eh bien, c'est parce que la chose qui le rend si bon, le fait
00:10:45qu'il soit injecté dans pratiquement chaque prompt, est aussi ce qui peut le rendre si mauvais. Est-ce que nous
00:10:51injectons réellement le bon contexte ? Avons-nous traversé le bruit pour lui donner un
00:10:57signal propre, ou jetons-nous simplement des choses que nous pensons bonnes ? Car si ce n'est pas pertinent pour
00:11:02quasiment chaque prompt que vous allez donner dans votre projet, est-ce que cela devrait être ici dans le claud.md ?
00:11:08Est-ce un bon moyen de laisser Claude Code se souvenir des choses ? Je dirais que non, pas vraiment. Et cela
00:11:15va à l'encontre de ce que beaucoup de gens disent sur le claud.md et sur la façon dont vous devriez le structurer. D'après des études
00:11:20comme celle-là et d'après mon expérience personnelle, « moins c'est mieux ». La pollution contextuelle est réelle, la pourriture contextuelle est réelle.
00:11:26Donc, si quelque chose est dans claud.md et que cela n'a pas de sens pour, encore une fois, pratiquement
00:11:32chaque prompt que vous lui donnez, est-ce que cela devrait y être ? La réponse est non, mais la plupart des gens ne le réalisent pas et
00:11:37au lieu de cela, ils tombent dans ce piège d'un manuel de règles boursouflé. Au lieu de cela, les compétences que nous devrions maîtriser
00:11:42sont : comment créer un contexte de projet à haut signal ? Comment m'assurer que ce que je mets réellement
00:11:48à l'intérieur de ce truc est logique ? Et avec cela vient l'idée de la conscience de la pourriture contextuelle,
00:11:53comme nous en avons parlé au niveau précédent. Et quand on met tout cela ensemble, le niveau deux donne l'impression d'avoir
00:11:57avancé : « Hé, je joue un rôle actif dans la mémoire, j'ai ce fichier claud.md. » Puis vous réalisez
00:12:02que ce n'est pas vraiment suffisant. Et quand nous parlons du niveau trois et de ce que nous pouvons faire pour progresser,
00:12:08nous voulons penser non pas à un manuel de règles statique, mais à quelque chose qui peut évoluer, et c'est
00:12:14quelque chose qui peut inclure claud.md. Au lieu de compter sur claud.md pour tout faire, et si nous
00:12:18utilisions claud.md un peu comme un fichier d'index qui oriente Claude Code dans la bonne direction à la place ?
00:12:24Qu'est-ce que je voulais dire par « claud.md agissant comme un index » et pointant vers d'autres fichiers ?
00:12:30Eh bien, je parle d'une architecture au sein de votre base de code qui n'a pas qu'un seul fichier Markdown
00:12:37essayant de gérer tous les problèmes de mémoire sous la forme de claud.md. Je parle d'avoir
00:12:41plusieurs fichiers pour des tâches spécifiques. Je pense qu'un excellent exemple de cela en action est ce que GSD,
00:12:47l'outil d'orchestration « Get Shit Done », fait. Il ne crée pas juste un fichier qui dit : « Hé, voici ce que
00:12:53nous allons construire, voici les exigences, voici ce qu'on a fait et où on va. »
00:12:56Au lieu de cela, il en crée plusieurs. Vous pouvez voir ici sur la gauche : nous avons un project.md, un requirements.md,
00:13:02un roadmap et un state. Ainsi, les exigences existent pour que Claude Code sache toujours et ait une mémoire de
00:13:08ce qu'il est censé construire. La feuille de route décompose précisément ce que nous allons
00:13:12créer, pas seulement maintenant, mais ce que nous avons fait par le passé et dans le futur. Et le projet lui donne
00:13:16de la mémoire, lui donne le contexte de ce que nous faisons avec une vue d'ensemble de haut niveau. Quelle est notre étoile polaire ? Et en
00:13:22fractionnant la mémoire, le contexte et les conventions dans ce genre de système, nous luttons contre l'idée
00:13:29de la pourriture contextuelle et l'idée soulevée dans cette étude qui dit qu'injecter ces fichiers dans chaque
00:13:34prompt tout le temps, comme nous le faisons dans claud.md, est en fait contre-intuitif ; cela ne nous aide pas à obtenir
00:13:39de meilleurs résultats. De plus, le décomposer en ces morceaux et avoir un chemin clair que Claude
00:13:44Code peut suivre permet de dire : « Hé, je veux savoir où est cette information. Oh, je vais dans claud.md. »
00:13:49« Ah, claud.md dit que j'ai ces cinq options. D'accord, c'est celle-là, laissez-moi aller la trouver. »
00:13:54Ce genre de structure est ce que vous allez voir à 100 % au niveau suivant quand nous parlerons
00:13:58d'Obsidian, et c'est vraiment comme une réinvention brute du système de découpage (chunking) et de la
00:14:04recherche de similarité vectorielle que nous voyons dans les vrais systèmes RAG. Mais évidemment, c'est à petite échelle
00:14:10à ce niveau ; nous parlons de quatre fichiers Markdown ici, pas d'un système qui
00:14:14peut gérer des milliers et des milliers de documents. Mais comme vous allez m'entendre le dire
00:14:20souvent : qu'est-ce que cela signifie pour vous ? Avez-vous besoin d'un système dont nous allons parler aux niveaux quatre,
00:14:26cinq, six et sept, capable de gérer autant de documents ? La réponse est peut-être que non. Et donc une partie de ce
00:14:32périple RAG consiste à comprendre non seulement où vous en êtes, mais aussi où vous devez réellement aller. Avez-vous
00:14:36toujours besoin d'être au niveau sept et de savoir comment faire un système RAG agentique dans Claude Code ? C'est
00:14:41probablement bien de savoir le faire, mais c'est tout aussi bien de savoir quand vous n'avez pas besoin de
00:14:46le mettre en œuvre. Parfois, ce que nous voyons dans des systèmes comme celui-ci est suffisant pour beaucoup de gens.
00:14:52Il est donc tout aussi important de savoir comment le faire que de savoir si vous en avez besoin et si vous devriez le faire.
00:14:58Quand on parle du niveau trois et des fichiers d'état, comment savons-nous que nous y sommes ?
00:15:00Eh bien, nous savons que nous y sommes quand nous sommes encore strictement dans l'écosystème Claude Code, que nous n'avons pas
00:15:04intégré d'outils ou d'applications externes et qu'en réalité, nous nous contentons de créer
00:15:09plusieurs fichiers Markdown pour créer notre propre système maison de découpage de mémoire.
00:15:14Mais c'est quand même très important ; nous maîtrisons ici de vraies compétences. L'idée de
00:15:18structurer réellement les docs, d'avoir un système en place qui met à jour l'état à chaque
00:15:23session, car cela peut aussi être un problème avec le RAG : comment s'assurer que tout est à
00:15:28jour ? Et il y a de fortes chances que vous commenciez aussi à vous appuyer sur des couches d'orchestration à ce stade, des choses comme
00:15:33GSD et Superpowers qui gèrent d'eux-mêmes cette architecture multi-fichiers Markdown. Mais
00:15:40il y a un vrai piège ici : ce que nous créons dans ce projet est très spécifique à ce projet, c'est
00:15:46un peu lourd de prendre ces fichiers Markdown et de les transférer sur un autre projet. Donc, au niveau
00:15:51quatre, c'est là que nous introduisons Obsidian, et c'est un outil qui a énormément de succès
00:15:56et pour une bonne raison. Quand vous avez des gens comme Andrej Karpathy qui parlent de ces
00:16:00bases de connaissances LLM qu'ils ont créées, qui sont bâties à toutes fins utiles sur une fondation
00:16:06Obsidian, et que cela fait presque 20 millions de vues, on devrait probablement écouter et voir comment ça fonctionne.
00:16:11Maintenant, pour le contexte, j'ai fait une analyse approfondie de cette base de connaissances LLM Obsidian d'Andrej Karpathy,
00:16:18je mettrai le lien ci-dessus. Donc, si vous voulez vous concentrer sur cela, comment construire ça, allez voir ça
00:16:22au-dessus. Et ce que je veux aussi mentionner à la plupart des gens, c'est que ce truc d'Obsidian dont on va
00:16:27parler juste ici au niveau quatre, c'est honnêtement le niveau que la plupart des gens devraient viser,
00:16:32car c'est suffisant pour la plupart des gens et des cas d'utilisation. Quand nous parlerons des niveaux cinq, six et
00:16:37sept, nous parlerons de vraies structures RAG et, pour être honnête, c'est trop pour la plupart des gens. C'est
00:16:43excessif pour la majorité. On adore parler du RAG, c'est génial, je comprends, mais
00:16:50Obsidian est cette solution à 80 % qui, en réalité, est une solution à 99 % pour la plupart des gens parce que c'est gratuit,
00:16:56qu'il n'y a pratiquement aucun frais de gestion et que ça fait le travail pour l'opérateur solo. Et quand je dis que ça fait le travail
00:17:02pour l'opérateur solo, je veux dire que ça résout le problème de connecter Claude Code à un tas de
00:17:07documents différents, un tas de fichiers Markdown différents, et de pouvoir obtenir des informations précises et rapides
00:17:13à partir de là, tout en ayant un aperçu de ces documents en tant qu'être humain. Car quand je clique
00:17:19sur ces documents, on voit très clairement ce qui s'y passe et on voit très clairement quels documents
00:17:24y sont liés. Quand je clique sur ces liens, je suis amené vers d'autres documents. Quand je clique sur ces liens,
00:17:30je suis amené vers encore d'autres documents. Et donc, pour moi, en tant qu'humain, avoir cet aperçu est important
00:17:36car, pour être tout à fait honnête, je dirais que la vision basée sur Obsidian sur les documents l'emporte sur
00:17:42beaucoup d'aperçus que vous obtenez des systèmes RAG. Quand on parle de milliers et de milliers de
00:17:47documents intégrés dans un système de RAG graphique comme celui-ci ; c'est visuellement superbe,
00:17:52c'est très impressionnant, mais savez-vous vraiment ce qui s'y passe ? Peut-être bien, honnêtement.
00:17:58Vous vous fiez un peu aux réponses affichées, aux liens et autres, mais c'est un peu
00:18:03difficile de décortiquer les plongements. Tout ça pour dire qu'il faut accorder une attention
00:18:08particulière à Obsidian et Claude Code, car lorsqu'on parle de ce parcours depuis le RAG, je suggère
00:18:13toujours à tout le monde, clients inclus : "Commençons par Obsidian et voyons jusqu'où nous pouvons aller",
00:18:20et finalement, si nous atteignons une limite, on peut toujours passer à des systèmes de RAG plus robustes.
00:18:26Alors pourquoi ne pas essayer l'option simple ? Si ça marche, c'est génial, c'est gratuit, ça ne coûte rien,
00:18:31plutôt que de s'attaquer à ce système de RAG qui peut être difficile à mettre en production selon vos objectifs.
00:18:35Commencez toujours par les choses simples ; il n'est jamais trop tard pour passer à plus complexe.
00:18:40Alors, de quoi parle-t-on vraiment ici, au niveau 4 ? Il s'agit de reprendre
00:18:45cette structure que nous avons commencé à bâtir au niveau 3, vous savez, avec un fichier d'index pointant
00:18:50vers différents fichiers Markdown, de l'étendre, puis d'intégrer cet outil externe qu'est Obsidian pour
00:18:56permettre à l'être humain de visualiser réellement ces connexions. L'idéal platonicien de cette version
00:19:00est pratiquement ce qu'Andrej Karpathy a décrit en bâtissant une base de connaissances LLM sur Obsidian
00:19:05et propulsée par Claude Code, et voici à quoi ressemble une telle structure. Quand vous utilisez Obsidian
00:19:11et que vous le téléchargez (c'est gratuit, encore une fois, voyez la vidéo postée plus tôt), vous définissez un
00:19:16certain dossier comme le "coffre" (vault). Considérez ce coffre comme le système de RAG, ce
00:19:23quasi-système de RAG que vous avez créé. Et à l'intérieur de ce coffre, nous architecturons, nous structurons
00:19:30simplement avec des fichiers. Nous avons le dossier parent appelé le coffre, et dedans, nous créons plusieurs
00:19:36sous-dossiers. Dans le cas d'Andrej Karpathy, il parle de trois sous-dossiers différents ; en réalité,
00:19:41cela pourrait être n'importe lesquels, il faut juste que cela corresponde au thème que nous allons aborder.
00:19:47Dans un dossier, nous avons les données brutes. C'est tout ce que nous ingérons et voulons structurer
00:19:52pour que Claude Code puisse s'y référer plus tard. Imaginez que vous demandiez à Claude Code de faire
00:19:58une analyse concurrentielle de 50 de vos concurrents et qu'il extrait 50 sites pour chacun, d'accord ?
00:20:03On parle d'une grande quantité d'informations, probablement 2500 éléments différents. Tout cela sera
00:20:08déversé dans un dossier "raw" (brut). C'est la zone de transit des données. Ensuite, nous avons le dossier wiki.
00:20:14C'est là que vont les données structurées. Nous demandons alors à Claude Code de prendre ces données
00:20:20brutes et de les structurer en articles de type Wikipédia dans le dossier wiki. Chaque article a son propre dossier.
00:20:28L'idée est que, lorsque vous demandez ensuite à Claude Code des informations sur, disons,
00:20:33les agents IA, après l'avoir fait chercher des trucs sur le sujet, si je lui dis : "Claude Code, parle-moi
00:20:38des agents IA", comme vous interrogeriez un système de RAG, et bien Claude Code va aller dans le coffre,
00:20:45puis dans le wiki. Le wiki possède un fichier Markdown d'index principal. Pensez à ce que nous
00:20:50avions évoqué avec le fichier claude.md auparavant, vous voyez comment ces thèmes se transmettent
00:20:56à travers les différents niveaux. Il consulte cet index principal, lequel lui indique ce qui
00:21:00existe dans ce système de RAG Obsidian. "Ah, les agents IA existent, super !" Et devinez quoi ?
00:21:08Il y a aussi un fichier d'index qui liste les articles individuels présents. Ce que je veux dire,
00:21:14c'est qu'il y a une hiérarchie claire pour que Claude Code puisse s'y référer quand il cherche des informations
00:21:21dans les fichiers : coffre, wiki, index, article, etc. Parce que le chemin pour trouver l'information est si clair,
00:21:31et parce qu'il est si simple de trouver d'abord l'info pour la transformer en wiki, nous pouvons créer
00:21:37un système contenant énormément de documents sans RAG. Des centaines, des milliers, si c'est bien fait.
00:21:44Car si le système est clair : "Je vérifie le coffre, puis l'index, qui délimite précisément où se trouve chaque chose",
00:21:50alors il n'est pas trop difficile pour Claude Code de savoir où chercher. Vous pouvez donc vous en sortir avec
00:21:54une structure sans RAG pour des milliers de documents, ce qui était très difficile auparavant.
00:21:58C'est parce que la plupart des gens ne structurent rien du tout ; ils ont juste un milliard de documents
00:22:02pêle-mêle dans un dossier. C'est l'équivalent de 10 millions de fichiers éparpillés sur le sol d'une usine.
00:22:08Est-ce que Claude Code va les trouver ? Non. En fait, il vous faut juste un classeur. Car Claude Code
00:22:13est assez intelligent, et vous pouvez voir cette architecture en action juste ici. Nous regardons
00:22:17actuellement un fichier claude.md situé dans un coffre Obsidian, et que dit-il ? Il détaille
00:22:24la structure du coffre, le système de wiki, la structure globale des sous-dossiers et comment
00:22:30l'utiliser concrètement. Donc là encore, on utilise claude.md comme fichier de conventions. Sur la gauche,
00:22:36vous voyez le dossier wiki. À l'intérieur du dossier wiki se trouve un index principal qui liste ce qu'il contient.
00:22:43Dans ce cas, il n'y a qu'un article sur les agents gérés par Claude. Dans ce dossier, nous voyons
00:22:49cet article avec son propre dossier wiki détaillant les sous-articles, jusqu'à l'article final.
00:22:55C'est très clair sur les étapes à suivre. Ainsi, quand je demande à Claude Code de me parler
00:23:01des agents gérés, comme nous avons un wiki dessus, il lui est très facile de le chercher via
00:23:06son outil grep intégré. Il me lie le fichier Markdown et détaille tout ce qui s'y passe.
00:23:12La question au niveau 4 devient vraiment une question d'échelle : avec combien de documents peut-on
00:23:16faire fonctionner ce genre de système ? Y a-t-il un point où le système d'Andrej Karpathy
00:23:22commence à s'effondrer ? On comprend que c'est un chemin très clair que Claude Code doit suivre :
00:23:26il va aux index, et cetera. Mais est-ce que cela tient la route avec 2000 documents ? 2500 ? 3000 ?
00:23:31Y a-t-il un chiffre précis ? La réponse est qu'on ne le sait pas vraiment, et c'est probablement moins,
00:23:37car tous vos documents sont différents. Et quand on parle de heurter un mur, ce n'est pas seulement
00:23:43que Claude Code donne de mauvaises réponses parce qu'il y a trop de fichiers dans le système Obsidian.
00:23:47C'est : combien cela vous coûte-t-il en jetons (tokens) maintenant qu'il y a tant de fichiers, et à quelle
00:23:52vitesse ? Parce que le RAG peut être infiniment plus rapide et moins cher dans certaines situations.
00:23:59Ce que nous voyons ici est une comparaison entre les LLM textuels (les grandes barres) et le RAG
00:24:06textuel, en termes de jetons consommés pour obtenir la bonne réponse et de temps nécessaire
00:24:11pour l'obtenir. Que voit-on ? On constate qu'entre le RAG textuel et les LLM textuels, il y a une
00:24:18différence massive, de l'ordre de 1200 fois. Je dis bien que le RAG est 1200 fois moins cher et 1200 fois
00:24:25plus rapide que le LLM textuel dans ces études. Précisons : cela a été fait en 2025, pas avec
00:24:33Claude Code. Les modèles ont beaucoup changé depuis ; ce ne sont ici que des LLM bruts,
00:24:37pas des outils spécialisés codage, etc. Cependant, on parle d'une différence de 1200x. Donc quand on évalue
00:24:48si l'on doit utiliser Obsidian ou un système de RAG, ce n'est pas juste une question de savoir
00:24:54si la réponse est correcte ou non, car vous pourriez être dans un scénario
00:24:59où Obsidian donne la bonne réponse, mais où le RAG serait mille fois moins cher
00:25:04et plus rapide. La limite est donc très floue entre le moment où Obsidian et ces structures
00:25:10de fichiers Markdown suffisent, et celui où il faut passer au RAG.
00:25:15Il n'y a pas de réponse parfaite, je n'en ai pas pour vous. Vous devez expérimenter par vous-même,
00:25:18essayer les deux et voir ce qui marche, car tout ceci est déjà un peu daté, c'est du 2025, de vieux
00:25:25modèles. L'écart entre le RAG et les LLM textuels n'est plus de 1200 fois, mais à quel point s'est-il réduit ?
00:25:32Car 1200x, c'est un écart démentiel. Ce n'est pas 10x, c'est 1200x. Il y a donc beaucoup à savoir et,
00:25:39encore une fois, vous ne connaîtrez pas la réponse à l'avance. Vous ne la connaîtrez pas.
00:25:45Personne ne vous dira où se trouve précisément la limite. Vous devez littéralement expérimenter
00:25:49pour voir ce qui fonctionne pour vous à mesure que vous augmentez le nombre de documents sur lesquels
00:25:54vous interrogez Claude Code. Sur ce, passons au niveau 5, où nous commençons enfin
00:25:59à parler des vrais systèmes de RAG et de certains fondamentaux comme les plongements (embeddings),
00:26:04les bases de données vectorielles et la manière dont les données circulent dans un système lorsqu'elles
00:26:10intègrent notre base de connaissances RAG. Commençons par le RAG naïf, qui est le type le plus basique,
00:26:16mais qui fournit les fondations de tout ce que nous faisons ensuite. On peut diviser
00:26:21les systèmes de RAG en trois parties. Sur la gauche, nous avons l'étape de plongement (embedding),
00:26:27puis la base de données vectorielle, et enfin la récupération (retrieval) réelle effectuée
00:26:33avec le grand modèle de langage. Un, deux et trois. Pour mieux illustrer ce modèle, suivons
00:26:40le parcours d'un document qui va intégrer notre base de connaissances. Rappelez-vous, dans un grand
00:26:45système de RAG, on peut parler de milliers de documents, et chaque document peut faire des milliers de pages.
00:26:50Mais dans cet exemple, nous parlons d'un document d'une seule page.
00:26:56Si nous voulons ajouter ce document à notre base de données, il ne sera pas ingéré comme un bloc entier.
00:27:03À la place, nous allons prendre ce document et le découper en morceaux (chunking). Ce document
00:27:08devient alors trois morceaux différents. Ces trois morceaux sont envoyés à un modèle de plongement,
00:27:15dont le rôle est de prendre ces trois morceaux et de les transformer en vecteurs
00:27:21dans une base de données vectorielle. Une base de données vectorielle est juste une variante de base de données classique.
00:27:27Dans une base de données standard, comme un fichier Excel, vous avez des colonnes
00:27:32et des lignes. Dans une base vectorielle, ce n'est pas en deux dimensions, c'est en
00:27:37des centaines, voire des milliers de dimensions. Mais pour aujourd'hui, imaginez simplement
00:27:43un graphique en trois dimensions comme celui-ci. Les vecteurs sont des points dans ce graphique,
00:27:50et chaque point est représenté par une série de nombres. Vous voyez ici l'élément "bananes",
00:27:57représenté par 0.52, 5.12, puis 9.31. On le voit ici en haut. Et cela continue sur des centaines de chiffres.
00:28:06L'emplacement de chaque vecteur dans ce graphique géant multidimensionnel dépend de son sens
00:28:13sémantique : que signifient réellement les mots ? On peut voir ici une section "fruits",
00:28:19avec bananes, pommes et poires. Et là-bas, nous avons les navires et les bateaux.
00:28:24Revenons à notre document. Imaginons qu'il traite des navires de la Seconde Guerre mondiale.
00:28:31Chacun de ces morceaux sera transformé en une série de nombres, et cette série de nombres
00:28:37sera représentée par un point dans ce graphique. Où va-t-il atterrir selon vous ? Probablement
00:28:42dans cette zone, n'est-ce pas ? Ça ferait un, deux et trois. Voilà comment les documents sont placés.
00:28:49Chaque document est découpé, chaque morceau passe par le modèle de plongement, et le modèle
00:28:54les insère dans la base de données vectorielle. On répète l'opération pour chaque document et, au final,
00:28:58après avoir fait cela des milliers de fois, on obtient une base vectorielle qui représente notre graphe de
00:29:04connaissances, pour ainsi dire notre base de savoir. Et cela nous mène à l'étape 3 : la récupération.
00:29:09Alors, quel est votre rôle là-dedans ? Normalement... voyons, on va vous représenter
00:29:16avec une autre couleur, disons en rose. Ça, c'est vous. D'habitude, vous parlez simplement
00:29:23à Claude Code et vous lui posez des questions sur les cuirassés de la Seconde Guerre mondiale. Dans une
00:29:29configuration standard sans RAG, que se passe-t-il ? Le grand modèle de langage, disons Opus 4.6, va
00:29:34consulter ses données d'entraînement et vous donner une réponse basée sur ce qu'il a appris
00:29:39sur les cuirassés de la Seconde Guerre mondiale. Mais avec un système de RAG, il va faire plus : il va
00:29:44récupérer les vecteurs appropriés et les utiliser pour augmenter (enrichir) la réponse qu'il génère
00:29:51pour vous. D'où le nom : Génération Augmentée par Récupération (RAG). C'est la force du RAG : permettre
00:29:56à nos modèles de langage d'intégrer des informations qui ne font pas partie de leurs données d'entraînement
00:30:02pour enrichir leur réponse. Dans cet exemple, ce sont les cuirassés de la Seconde Guerre mondiale ;
00:30:06certes, le modèle connaît déjà ça, mais remplacez-le par n'importe quelle donnée d'entreprise propriétaire
00:30:15non disponible sur le web, et faites-le à grande échelle. C'est tout l'intérêt du RAG. Dans notre exemple,
00:30:21quand on interroge Claude Code sur les cuirassés de la Seconde Guerre mondiale dans une config RAG,
00:30:25ce qu'il va faire, c'est prendre notre question et la transformer en une série de nombres, tout comme
00:30:32les vecteurs d'ici. Il va ensuite comparer le nombre correspondant à notre question avec les nombres
00:30:39des vecteurs pour voir lesquels correspondent le plus au vecteur de la question. En gros,
00:30:46à quel point les vecteurs sont-ils similaires à la question ? Puis il va extraire un certain nombre de
00:30:51vecteurs (disons 1, 2, 3, 4, 5, 10 ou 20) et il va injecter ces vecteurs et leurs informations
00:30:56dans le grand modèle de langage. Désormais, le grand modèle de langage dispose de sa réponse
00:31:02issue de l'entraînement plus, disons, l'équivalent de 10 vecteurs d'informations. C'était la partie récupération.
00:31:09Ensuite, il augmente et génère une réponse avec ces informations additionnelles. C'est ainsi que le RAG
00:31:13fonctionne, c'est le RAG naïf. Ce n'est pas particulièrement efficace pour plusieurs raisons ; cette
00:31:19structure très basique s'effondre vite quand on commence à réfléchir à la façon dont nous
00:31:25découpons ces documents. Est-ce aléatoire ? Est-ce juste basé sur un nombre de jetons ? Y a-t-il un
00:31:31chevauchement ? Les documents eux-mêmes sont-ils organisés de façon à ce que le découpage
00:31:36ait du sens ? Car si le morceau n°3 fait référence à quelque chose situé dans le morceau n°1,
00:31:42et que notre système récupère des morceaux isolés, que se passe-t-il s'il n'extrait pas le bon ?
00:31:47S'il ne récupère pas l'autre morceau nécessaire au contexte ? Est-ce que le n°3 a encore du sens ?
00:31:53Vous voyez ce que je veux dire. Très souvent, le document entier est nécessaire pour répondre
00:31:59aux questions sur ce même document. Cette idée d'obtenir des réponses fragmentaires ne fonctionne
00:32:05pas vraiment en pratique. Pourtant, c'est ainsi que le RAG a été configuré pendant très longtemps.
00:32:10D'autres problèmes peuvent surgir, comme : que se passe-t-il si j'ai des questions sur les relations
00:32:17entre différents vecteurs ? Pour l'instant, j'extrais des vecteurs de manière isolée. Mais si je voulais
00:32:22savoir quel est le lien entre les bateaux et les bananes ? Ça semble aléatoire, mais imaginons.
00:32:31Avec cette approche classique de RAG naïf sur base vectorielle, tout est un peu cloisonné.
00:32:36Il est difficile de relier les informations, et beaucoup dépend de la structure initiale des documents.
00:32:41Sont-ils structurés d'une manière qui soit pertinente pour le RAG ? Au fil des ans, on a trouvé
00:32:46des moyens d'atténuer ces problèmes, comme les "re-rankers" (systèmes de reclassement) qui analysent
00:32:51tous les vecteurs saisis et effectuent une seconde passe avec un LLM pour les classer par pertinence.
00:32:56Mais globalement, ce système de RAG naïf est un peu tombé en désuétude. Pourtant, il reste important
00:33:03de comprendre son fonctionnement de base afin d'éclairer vos choix si vous optez pour une approche
00:33:07de RAG plus robuste. Car si vous ne comprenez pas comment fonctionnent le découpage ou les plongements,
00:33:13comment décider de la structure de vos documents ? Quand on parle de systèmes comme le GraphRAG
00:33:17ou de systèmes de plongement plus complexes, comme le tout nouveau de chez Google qui peut ingérer
00:33:22non seulement du texte mais aussi des vidéos. Si vous ne comprenez pas ces fondations, il est difficile
00:33:27de percevoir le piège. Et le piège, c'est que nous avons un peu créé un moteur de recherche médiocre.
00:33:31Car avec ces systèmes de RAG naïf où l'on se contente de saisir des morceaux sans comprendre
00:33:36les relations entre eux, quelle est la différence avec un système de "Ctrl+F" sur-compliqué ?
00:33:42La réponse est : il n'y a pas vraiment de différence. C'est pourquoi, dans ces structures de RAG
00:33:48simplistes et démodées (que l'on trouve pourtant encore partout)... Si vous voyez quelqu'un dire :
00:33:54"Voici mon système RAG Pinecone" ou "Voici mon RAG Supabase" et qu'il ne mentionne rien sur le GraphRAG
00:33:58ou sur un système sophistiqué de reclassement, et bien ça va être nul. L'efficacité réelle
00:34:03sera de l'ordre de 25 %. Vous n'aurez la bonne réponse qu'une fois sur quatre ; autant deviner.
00:34:07Si vous ne le savez pas d'avance, vous pouvez vous faire avoir, être confus ou, dans certains cas,
00:34:12carrément vous faire arnaquer en achetant des systèmes de RAG qui n'ont aucun sens. Le niveau 5 n'est
00:34:18donc pas axé sur l'implémentation de ces systèmes naïfs, mais sur la compréhension de leur
00:34:23mécanique pour que, le moment venu d'implémenter quelque chose de plus sophistiqué, vous compreniez
00:34:28réellement ce qui se passe. Car cette explication de cinq minutes sur le RAG n'est malheureusement
00:34:34pas comprise par la plupart des gens qui disent : "Il me faut un système de RAG". En avez-vous vraiment besoin ?
00:34:38Vous devez aussi vous demander quel genre de questions vous posez à votre système. Si vous traitez
00:34:43essentiellement votre base de connaissances comme un livre de règles géant et que vous avez juste
00:34:48besoin d'en extraire des points spécifiques, alors Obsidian suffit probablement, ou un système
00:34:54de RAG naïf fera l'affaire. Mais si nous devons comprendre des relations, savoir comment X interagit
00:34:59avec Y alors qu'ils sont dans deux documents séparés qui ne se mentionnent jamais, et que je ne peux pas
00:35:02juste les mettre dans le contexte car j'ai des milliers de documents de ce type... Et bien c'est là
00:35:09que vous aurez besoin du RAG, et d'un RAG plus sophistiqué que le simple RAG vectoriel.
00:35:13C'est là qu'il faut commencer à parler de GraphRAG. Ainsi, quand on aborde le niveau 6
00:35:19de Claude Code et du RAG, on parle de GraphRAG. À mon sens, si vous allez utiliser le RAG,
00:35:23c'est le niveau minimal d'infrastructure que vous devez créer. Ici, on utilise LightRAG, qui est un
00:35:29outil totalement open source. Je mettrai un lien au-dessus où j'explique exactement comment l'utiliser
00:35:34et le bâtir. L'idée du GraphRAG est évidente : c'est l'idée que tout est connecté. Ce n'est pas
00:35:39une base de données avec des vecteurs isolés, mais un ensemble d'éléments reliés les uns aux autres.
00:35:44Je clique sur ce document, je peux voir ici sur la droite (je vais déplacer ça) la description du vecteur,
00:35:50le nom, le type, le fichier, le morceau et, plus important encore, les différentes relations. Cette approche
00:35:55basée sur les relations donne des résultats plus efficaces. Voici un graphique issu du GitHub de LightRAG.
00:36:00Il date d'environ six à huit mois. À noter aussi que LightRAG est le système de GraphRAG le plus léger
00:36:05que je connaisse. Il existe des versions très robustes, dont GraphRAG lui-même de Microsoft.
00:36:10C'est littéralement nommé GraphRAG. Mais quand on compare le RAG naïf à LightRAG, on constate
00:36:15partout des bonds de performance dépassant souvent les 100 %. 31,6 contre 68,4 ;
00:36:2324 contre 76 ; 24 contre 75, et ainsi de suite. Cela dit, selon LightRAG, il arrive
00:36:30à tenir tête et même à battre GraphRAG lui-même. Mais bon, ce sont les chiffres de LightRAG,
00:36:35donc à prendre avec précaution. En voyant ce système de graphe de connaissances, votre esprit
00:36:4324 contre 76, 24 contre 75, et ainsi de suite. Et cela étant dit, selon Light RAG, il
00:36:49tient tête et bat même GraphRAG lui-même ; mais bon, ce sont les chiffres de Light RAG, donc
00:36:54à prendre avec des pincettes. Maintenant, quand on regarde ce système de graphe de connaissances,
00:36:58votre esprit pense probablement à Obsidian car cela y ressemble beaucoup. Cependant,
00:37:04ce que nous voyons ici dans Obsidian est bien plus rudimentaire que ce qui se passe dans Light RAG
00:37:10ou tout système GraphRAG, car cette série de connexions que nous voyons ici est manuelle
00:37:16et quelque peu arbitraire. C'est connecté seulement parce que nous avons défini des documents liés,
00:37:22ou Claude Code l'a fait lors de la génération de ce document. On ajoute juste des crochets et
00:37:27boum, le document est connecté. En théorie, je pourrais connecter des documents aléatoires
00:37:30qui n'ont rien à voir entre eux. Claude Code n'est pas stupide, donc il ne le fera pas, mais c'est
00:37:35très différent de ce qui se passe ici. Là, c'est passé par un véritable système d'embedding,
00:37:41le contenu réel a été analysé, une relation a été établie, une entité a été envoyée.
00:37:46Il y a beaucoup plus de travail dans Light RAG pour définir les relations que dans Obsidian.
00:37:52Cette différence se traduit-elle par un écart énorme en termes de performance à bas niveau ?
00:38:02À grande échelle peut-être. Encore une fois, nous sommes dans une sorte de zone grise,
00:38:07cela dépend de votre échelle et du sujet. Personne ne peut répondre à part vous et votre expérience,
00:38:13mais comprenez que ces deux choses ne sont pas identiques. Ce sont deux systèmes totalement différents.
00:38:20L'un est assez sophistiqué, l'autre est rudimentaire. Comprenez bien cela. Et pour conclure,
00:38:26le niveau 6 avec GraphRAG, c'est quand on décide qu'Obsidian ne suffit plus,
00:38:31que le RAG naïf ne fonctionne pas, et qu'on a besoin d'extraire des entités et des relations
00:38:36pour vraiment exploiter ce design de système de requête hybride vecteur + graphe.
00:38:43Mais il y a des pièges et des obstacles sérieux, même ici au niveau 6. Quand on parle de
00:38:48Light RAG, ce n'est que du texte. Et si j'ai des PDF scannés ? Des vidéos ? Des images ?
00:38:55Nous ne vivons pas dans un monde où tous vos documents seront juste des Google Docs.
00:39:01Que faire dans ces cas-là ? La récupération multimodale est cruciale. Et que dire de
00:39:06l'ajout de qualités agentiques à ces systèmes ? Leur donner un peu plus de puissance IA ?
00:39:11Si nous parlons de choses multimodales, nous pouvons enfin passer à la pointe du RAG
00:39:17actuel, en avril 2026. C'est l'objet du niveau 7. Au niveau 7, avec le RAG agentique,
00:39:24le point sur lequel nous voulons nous concentrer ici, c'est l'ingestion multimodale.
00:39:31Nous avons déjà fait des vidéos sur ces outils, comme RAG Anything, qui nous permettent
00:39:36d'importer des images et des documents non textuels — encore une fois, pensez aux PDF scannés —
00:39:44dans des structures comme le graphe de connaissances Light RAG. Il y a aussi des nouveautés
00:39:49comme Gemini Embedding 2, sorti en mars, qui permet d'intégrer des vidéos directement
00:39:56dans notre base de données vectorielle. C'est franchement là que va le secteur.
00:40:01Le texte ne suffit plus. Combien d'informations et de connaissances sont piégées sur internet,
00:40:06surtout sur des sites comme YouTube, où tout est vidéo ? Et on veut plus qu'une simple transcription.
00:40:10Une transcription ne suffit pas. Ce problème multimodal est réel, et encore une fois,
00:40:16ce sont des choses sorties il y a quelques semaines. Le niveau 7 est aussi le moment
00:40:20où il faut prêter attention à l'architecture et aux pipelines de données entrant et sortant
00:40:25de notre système RAG. Faire entrer les données ne suffit pas. C'est bien d'avoir des connexions,
00:40:30mais comment les données arrivent-elles là ? Comment arrivent-elles dans le contexte d'une équipe ?
00:40:35Comment en sortent-elles ? Et si certaines informations changent dans un document ?
00:40:40Si quelqu'un le modifie, comment est-il mis à jour ? Que faire des doublons ? Qui peut ajouter
00:40:46ces éléments ? En production, ce sont des questions que vous devez commencer à vous poser.
00:40:50Quand on regarde un système de RAG agentique comme celui-ci de n8n, vous voyez que
00:40:54la vaste majorité de l'infrastructure est dédiée à l'ingestion et à la synchronisation des données.
00:41:01Seule une petite partie concerne le RAG lui-même, juste là. Car nous avons besoin de systèmes
00:41:06qui nettoient les données et vérifient : "D'accord, nous venons d'ingérer ce document, c'est
00:41:11la version 2 de la version 1, pouvons-nous maintenant nettoyer ces données ?"
00:41:17Voici un exemple de pipeline d'ingestion où les documents ne sont pas mis directement
00:41:21dans le système ; au lieu de cela, on les place dans un Google Drive, et de là ils sont ingérés
00:41:27dans le système GraphRAG et enregistrés. Ce sont ces détails qui feront ou non le succès
00:41:31de votre système RAG en usage réel. Et quand on parle de RAG agentique, comme vous voyez ici,
00:41:37même si c'est flou : si un agent IA gère tout le programme, imaginons un chatbot pour votre équipe,
00:41:42doit-il toujours interroger cette base de données ? La réponse est probablement non.
00:41:49Dans un cadre professionnel, vous aurez des informations textuelles dans une base comme celle-ci,
00:41:54mais vous aurez probablement aussi d'autres bases de données, comme des bases Postgres standard,
00:41:58avec une foule d'informations que vous voulez interroger via SQL également.
00:42:03Donc, pour un système RAG agentique, il faut cette capacité à décider intelligemment :
00:42:08"Vais-je interroger la base GraphRAG représentée ici, ou vais-je simplement effectuer
00:42:15des requêtes SQL dans Postgres ?" Cela peut devenir complexe, n'est-ce pas ?
00:42:20Et tout cela dépend du cas d'usage, c'est pourquoi il est parfois difficile de couvrir chaque
00:42:23cas particulier. Le point essentiel du niveau 7 n'est pas qu'il existe un système RAG miracle
00:42:30inconnu, mais que le diable se cache dans les détails, principalement dans l'ingestion
00:42:34et la mise à jour des données. Mais aussi : comment y accède-t-on réellement ? C'est facile
00:42:39en démo : je vais sur Light RAG, je vais dans "récupération" et je pose des questions.
00:42:46C'est un scénario différent avec une équipe où tout le monde l'aborde sous des angles variés,
00:42:50et vous ne voulez probablement pas que tout le monde puisse charger des fichiers directement.
00:42:55Cela dit, pour l'entrepreneur solo qui essaie de créer un système RAG sophistiqué capable
00:43:01de gérer du multimodal, je suggère la combinaison RAG Anything + Light RAG.
00:43:07J'ai fait une vidéo là-dessus. Si elle n'est pas déjà liée, je la mettrai en haut. Je la recommande
00:43:14pour plusieurs raisons : d'abord, c'est open source et léger, donc vous ne dépensez pas
00:43:19une fortune ou un temps fou à mettre cela en place pour vérifier si c'est pertinent.
00:43:26Ce qu'on veut, c'est ne pas s'enfermer dans des systèmes sans issue après avoir dépensé
00:43:31beaucoup d'argent, c'est pourquoi j'adore Obsidian et je recommande Light RAG et RAG Anything.
00:43:37Si vous essayez et que ça ne marche pas pour vous, ce n'est pas grave ; vous avez perdu
00:43:42quelques heures, mais vous n'avez pas dépensé une fortune sur le GraphRAG de Microsoft,
00:43:45qui est loin d'être bon marché. Alors, quand savez-vous que vous êtes au niveau 7 ?
00:43:50C'est pour le multimodal : indexer des images, des tableaux, des vidéos, et intégrer
00:43:56un système d'agent capable de décider intelligemment quel chemin emprunter pour répondre.
00:44:02Au niveau 7, vous intégrez probablement tout cela : des fichiers Markdown pour les infos permanentes,
00:44:06peut-être aussi une base de code, sans doute aussi Obsidian via un coffre (vault),
00:44:12plus une section de documents dans une base GraphRAG, et un système IA en haut de l'entonnoir
00:44:16qui décide : "On pose cette question, je prends cette route."
00:44:20C'est une architecture de mémoire mature que je suggère. Mais quel est le piège ?
00:44:25Le piège est de vouloir s'imposer ce niveau de sophistication quand ce n'est pas nécessaire.
00:44:33Pour être honnête, la plupart d'entre vous se contenteront très bien d'Obsidian.
00:44:40Vous n'avez pas besoin de GraphRAG, ni même de RAG en général la plupart du temps.
00:44:47Si le besoin du niveau 7 n'est pas évident, et surtout si vous n'avez pas testé Obsidian,
00:44:52ne venez pas ici, ce serait probablement une perte de temps. Le but de cette vidéo était
00:44:57de vous exposer ce que je vois comme les différents niveaux de RAG, de mémoire et de Claude Code,
00:45:01et de montrer les tensions et les compromis pour vous aider à choisir selon votre cas.
00:45:07Encore une fois, le plus important est d'expérimenter. Vous n'avez pas besoin de tout savoir
00:45:12avant de commencer, essayez-les simplement. Je conseille l'ordre croissant si possible.
00:45:18Si vous pouvez vous en sortir avec juste des fichiers Markdown dans un système Claude,
00:45:24c'est parfait, allez-y. Ensuite essayez Obsidian. Si Obsidian ne suffit pas, essayez Light RAG,
00:45:28et ainsi de suite. C'est là que je vais vous laisser pour aujourd'hui. Si vous voulez en
00:45:34savoir plus, surtout sur la partie production du RAG — comment le déployer pour une équipe
00:45:39ou un client — nous avons un module complet là-dessus dans Chase AI Plus ; allez voir.
00:45:43Sinon, dites-moi ce que vous en avez pensé, je sais que c'était une longue vidéo,
00:45:47et je vous dis à bientôt.
00:45:52Prenez soin de vous.

Key Takeaway

Pour optimiser Claude Code, il faut passer d'une dépendance passive à la fenêtre de contexte vers une architecture de mémoire hiérarchisée, allant de simples fichiers Markdown à des systèmes GraphRAG multimodaux comme LightRAG selon l'échelle des données.

Highlights

L'efficacité de Claude Code chute de 92 % à 78 % lorsque sa fenêtre de contexte d'un million de jetons est remplie à seulement un quart.

Le RAG textuel réduit les coûts et augmente la vitesse de traitement d'un facteur 1200 par rapport à l'utilisation directe de jetons de texte brut dans les modèles de 2025.

L'utilisation d'Obsidian comme base de connaissances externe constitue une solution efficace pour 99 % des cas d'utilisation individuelle sans les frais de gestion d'un système RAG complexe.

Le passage au GraphRAG comme LightRAG augmente la précision des réponses de plus de 100 % par rapport au RAG naïf en analysant les relations sémantiques entre les entités.

Le modèle Gemini Embedding 2 permet désormais d'intégrer des vidéos et des fichiers multimédias directement dans les bases de données vectorielles pour un RAG multimodal.

La gestion proactive de la mémoire via des fichiers Markdown structurés comme project.md ou requirements.md prévient la pourriture du contexte dans les sessions Claude Code.

Timeline

Niveau 1 : L'auto-mémoire et le piège de la pourriture du contexte

  • Claude Code génère automatiquement des fichiers memory.md pour stocker les informations utilisateur perçues comme importantes.
  • La pourriture du contexte dégrade les performances du modèle à mesure que la session de chat s'allonge.
  • Le maintien d'une session unique pour éviter l'oubli multiplie inutilement la consommation de jetons et réduit la précision.

Le système d'auto-mémoire natif crée des notes de type post-it dans le dossier .claude/projects/memory. Cette approche passive est limitée par la tendance des utilisateurs à ne jamais réinitialiser leurs sessions de peur de perdre des informations. L'accumulation de données dans la fenêtre de contexte provoque une baisse mesurable de la fiabilité du modèle, rendant les réponses moins précises à mesure que le volume de jetons augmente.

Niveau 2 et 3 : Instructions claud.md et architecture multi-fichiers

  • Le fichier claud.md définit des règles et des conventions de projet consultées par l'IA avant chaque tâche.
  • L'injection systématique de règles trop complexes dans chaque prompt peut paradoxalement réduire l'efficacité globale.
  • La fragmentation de la mémoire en fichiers spécialisés comme requirements.md ou state.md améliore la clarté du signal.

Le passage à une mémoire explicite commence par l'édition manuelle du fichier claud.md. Toutefois, pour éviter la pollution contextuelle, il est préférable d'utiliser ce fichier comme un index pointant vers d'autres documents Markdown. Cette méthode, illustrée par l'outil GSD (Get Shit Done), permet à l'IA de naviguer vers des informations spécifiques uniquement lorsqu'elles sont nécessaires, imitant ainsi un système de découpage rudimentaire.

Niveau 4 : Obsidian comme base de connaissances LLM

  • Obsidian permet de structurer des milliers de documents sans recourir à une infrastructure de base de données complexe.
  • L'organisation en dossiers 'raw' (données brutes) et 'wiki' (données structurées) facilite la recherche par l'IA via l'outil grep.
  • Le RAG devient indispensable uniquement lorsque le coût et la latence de lecture des fichiers Markdown dépassent les bénéfices de la simplicité d'Obsidian.

Une architecture basée sur un 'coffre' (vault) Obsidian offre une visualisation humaine des connexions entre documents que les systèmes RAG classiques ne permettent pas. En structurant les informations sous forme de wiki avec des index hiérarchiques, Claude Code peut localiser précisément les données parmi des centaines de fichiers. Cette solution gratuite couvre la majorité des besoins avant que l'échelle des documents ne nécessite une automatisation vectorielle.

Niveau 5 et 6 : Du RAG naïf au GraphRAG avec LightRAG

  • Le RAG naïf segmente les documents en morceaux isolés convertis en vecteurs multidimensionnels.
  • Les systèmes de RAG vectoriels simples échouent souvent à saisir les relations entre des informations situées dans des documents différents.
  • LightRAG utilise un graphe de connaissances pour lier les entités et améliorer la pertinence des réponses de manière significative.

Le RAG naïf repose sur la similarité cosinus entre la requête de l'utilisateur et les morceaux de documents stockés en base vectorielle. Cette méthode est limitée car elle traite les données de façon cloisonnée. Le GraphRAG résout ce problème en créant un réseau de relations sémantiques, permettant à l'IA de comprendre comment deux concepts distants interagissent, offrant ainsi des performances bien supérieures aux bases vectorielles standards comme Pinecone ou Supabase.

Niveau 7 : RAG agentique et ingestion multimodale

  • L'ingestion multimodale permet d'indexer des PDF scannés, des images et des vidéos via des outils comme RAG Anything.
  • Un système agentique décide dynamiquement s'il doit interroger un graphe de connaissances ou une base de données SQL standard.
  • Le succès en production dépend de la gestion de l'ingestion, notamment la synchronisation des versions et le nettoyage des doublons.

Le stade ultime de la mémoire IA intègre des pipelines de données automatisés connectés à des sources comme Google Drive. L'utilisation de modèles d'embeddings récents comme Gemini Embedding 2 permet d'inclure des vidéos dans la base de savoir. L'architecture finale est un écosystème hybride où un agent superviseur oriente les requêtes vers la source de données la plus appropriée, tout en gérant les mises à jour en temps réel des informations.

Community Posts

View all posts