Asseyez-vous avec un système RAG plat qui tourne en production depuis un an et essayez de lui poser quatre questions. « Pourquoi avez-vous dit ça ? » Le modèle a produit une réponse assurée concernant la date de renouvellement du contrat du client, mais le chemin de retour vers la clause source n’existe pas. « Revalidez cette affirmation – la source a changé. » Le contrat a été modifié la semaine dernière. Chaque fait qui en découle est suspect. Vous ne pouvez pas les retrouver, car vous ne savez pas de quel document ils proviennent. « Tranchez entre ces deux faits contradictoires. » L’un dit qu’Alex travaille chez Google, l’autre chez Stripe. Aucun n’a de score de confiance ou d’horodatage de source. La récence de l’écriture n’a rien à voir avec la récence de la preuve. « Attribuez cette hallucination. » Le modèle a dit que la réunion avait lieu jeudi. Il n’y avait pas de réunion jeudi. Vous ne pouvez pas dire si le LLM a inventé la date ou si de mauvaises données en mémoire l’ont induit en erreur.
Ces quatre échecs partagent une cause unique. Chacun est une colonne manquante. Un identifiant de source, un horodatage de capture, un score de confiance, un journal de citation des réponses. Chacun coûte quelques octets à l’écriture. Le coût de ne pas les avoir est illimité : chaque affirmation est inauditable, chaque contradiction est irrésoluble, chaque hallucination est intraçable.
Sur 19 systèmes, le schéma est cohérent. Les implémentations les plus solides traitent la provenance comme un tribunal traite une preuve – chaque affirmation arrive avec une chaîne de conservation ininterrompue, ou elle n’arrive pas du tout. Les plus faibles n’en portent aucune, et le paient chaque fois que quelque chose tourne mal en production. Cet article parcourt les six niveaux de provenance que le corpus a mis en lumière, les trois paliers de maturité d’implémentation qui les séparent, et le coût réel de bien faire les choses dès le départ.
Six niveaux, une discipline
En lisant 19 systèmes l’un après l’autre, six niveaux distincts de provenance se démarquent. Ils ne sont pas hiérarchiques ; ils sont orthogonaux. Un système peut avoir une provenance de source sans provenance causale. Il peut avoir un versionnage sans score de confiance. Les implémentations les plus solides couvrent les six. Aucune des plus faibles n’en couvre un seul.
L’identité répond à « quel fait, exactement ? » OpenContext génère des UUID pour chaque élément de contexte au moment de l’ingestion et les expose comme un système de citation que l’agent peut utiliser directement dans ses réponses. L’identifiant survit aux renommages, déplacements et réorganisations car il est lié au contenu, pas au chemin. mem9 porte un ID de mémoire stable sur chaque ligne ainsi qu’un compteur de version explicite avec protection de concurrence If-Match. Sans provenance d’identité, vous ne pouvez même pas nommer ce dont vous parlez quand les choses tournent mal.
La source répond à « d’où ça vient ? » Hindsight enregistre le type et l’identifiant de source sur chaque observation, afin que le système puisse répondre de quelle conversation ou document provient un fait donné. mem9 porte la source, l’ID d’agent et l’ID de session sur chaque ligne. Supermemory stocke les ID de documents à côté des souvenirs. Sans provenance de source, vous ne pouvez pas cascader les mises à jour lorsqu’une source change, car vous ne savez pas quels faits en dépendent.
La causalité répond à « quelle étape de l’agent a utilisé cela ? » Hindsight capture chaque fait récupéré et utilisé dans un niveau d’observation avec le contexte complet de récupération – quel extracteur l’a remonté, quel rang il a atteint, et si l’agent l’a réellement consommé. Moraine traite chaque étape de trace comme son propre enregistrement de provenance, rendant l’exécution entière de l’agent récupérable comme une séquence d’événements adressables par source. Sans provenance causale, vous ne pouvez pas distinguer « le système a récupéré ce fait » de « l’agent a utilisé ce fait pour produire cette réponse ».
La confiance de capture répond à « à quel point étions-nous sûrs quand nous l’avons écrit ? » Graphify marque chaque arête de son graphe de connaissances avec une confiance de capture à trois niveaux : CONFIRMÉ pour les extractions déterministes, PROBABLE pour les inférences LLM à haute confiance, et AMBIGU pour les affirmations incertaines. Les arêtes AMBIGUES apparaissent comme des « lacunes de connaissances » pour révision humaine plutôt que d’être traitées silencieusement comme des faits. Hindsight porte un score de confiance sur chaque observation qui diminue avec le temps via son cycle de fraîcheur – les observations fraîches sont fiables, les obsolètes sont sous-pondérées ou retirées. mem9 exécute la détection de quasi-doublons en mode furtif d’abord, en enregistrant les scores sans agir jusqu’à ce que l’ingénieur ait calibré le seuil à partir de données réelles. Sans confiance de capture, les faits incertains et certains sont récupérés avec le même poids, et l’agent ne peut pas discriminer entre une affirmation solide et une estimation éclairée.
Le versionnage répond à « que croyions-nous avant ? » Supermemory traite la mémoire comme un DAG versionné avec des arêtes typées – mise à jour, extension, dérivation – donnant à chaque croyance un historique de commits. mem9 divise le chemin d’écriture : mutation sur place pour les modifications humaines, ajout-et-archivage pour les réécritures pilotées par LLM où le nouveau contenu remplace sémantiquement l’ancien. Tolaria laisse Git porter l’historique des versions entièrement, traitant les diffs sur une ligne comme un artefact de première classe pour l’utilisateur. Sans provenance versionnée, vous ne pouvez pas revenir à ce que le système croyait mardi, car les anciennes croyances sont supprimées plutôt qu’archivées.
La réciprocité répond à « quels autres faits partagent cette origine ? » llm-wiki pondère le chevauchement de source au-dessus du lien direct dans son graphe de pertinence à quatre signaux – deux pages provenant du même document brut sont présumées plus fortement liées que deux pages avec un lien wiki direct, car le LLM est peu fiable pour faire des liens croisés, mais le frontmatter des sources est mécaniquement maintenu. EdgeQuake accumule les ID de source sur les entités et les relations à travers le corpus, de sorte que les mentions répétées de la même entité depuis différentes sources renforcent son poids de provenance. second-brain porte la source comme partie de sa clé composite d’index lexical, permettant à un seul document d’être indexé depuis plusieurs pipelines indépendamment. Sans provenance réciproque, vous ne pouvez pas répondre à « montre-moi tout ce qui, dans ce système, provient de la même conversation » ou « qu’avons-nous appris d’autre de ce document ? »
Les six sont orthogonaux mais se renforcent mutuellement. La provenance de source est inutile sans identité (il faut nommer le fait avant de pouvoir le tracer). Le versionnage est plus faible sans confiance (vous connaissez la lignée des modifications mais pas à quel point le système était sûr de chacune). Les requêtes réciproques dépendent de la présence de la source en premier. Les systèmes qui portent les six sont ceux dont la mémoire ne pourrit pas silencieusement.
Trois paliers de maturité d’implémentation
Le corpus se sépare en trois paliers selon l’endroit où vit la provenance et ce qu’elle peut faire au moment de la lecture.
Le palier 1 est le RAG sans provenance, le point de départ de la plupart des équipes. Des bases vectorielles plates avec contenu et embedding. Pas de colonne source, pas de score de confiance, pas d’historique de versions. Quand un fait est récupéré, vous obtenez du texte et un score de similarité. Vous ne pouvez pas tracer d’où il vient, à quel point le système en était sûr, ou s’il a été remplacé. Chaque système qui a commencé ici a évolué vers le palier 2 avec le temps.
Le palier 2 porte la provenance sur la ligne. ID source, confiance, version – tous présents comme colonnes à côté du fait. mem9 se situe ici avec source, ID d’agent, ID de session et version sur chaque ligne. Le DAG versionné de Supermemory est une structure de palier 2. La confiance d’arête à trois niveaux de Graphify est une discipline de palier 2. La provenance est disponible pour les requêtes, mais elle ne décore pas automatiquement les résultats de récupération. Vous devez écrire la requête qui l’utilise.
Le palier 3 décore les résultats de lecture avec le contexte de provenance sans que l’appelant ait à le demander. Hindsight est la référence ici – chaque fait récupéré arrive avec son type de source, score de confiance, état de fraîcheur et classement par extracteur déjà attachés. L’agent qui consomme le résultat voit la provenance comme faisant partie du fait, pas comme une recherche séparée. La décoration source/tour de mem9 se situe à mi-chemin entre le palier 2 et le palier 3, greffant un contexte de lecture sur un schéma de palier 2.
La migration est à sens unique. Aucun système ne commence au palier 3 et ne décide de supprimer la discipline de provenance. Les colonnes prouvent leur valeur dès qu’elles sont présentes. Si vous concevez un système de mémoire aujourd’hui, la question n’est pas « ai-je besoin de provenance ? » mais « à quel palier veux-je commencer, sachant que chaque palier au-dessus de celui que je choisis est plus difficile à atteindre plus tard qu’à intégrer maintenant ? »
Le cas d’alerte : calculé et jeté
Understand-Anything illustre ce qui se produit lorsque le substrat de la confiance existe mais que la colonne pour l’enregistrer n’existe pas. Le système distingue les arêtes déterministes (résolues par un analyseur de projet à partir des fichiers source) des arêtes inférées (devinées par un LLM lors de l’analyse sémantique). Cette information est réelle et significative – une arête d’import structurelle mérite une confiance plus élevée qu’une inférence non liée au code. Mais les deux sont stockées avec un poids de 0,7, identiques dans le graphe. Le signal de confiance est calculé à l’écriture et jeté avant la persistance.
Ajouter un champ de confiance serait un petit changement avec un gain important en qualité d’information. Le système sait déjà quelles arêtes sont solides et lesquelles sont des suppositions. Il n’enregistre simplement pas la distinction là où elle compte – sur la ligne qui sera récupérée plus tard, quand l’agent aura besoin de les discriminer. Ce schéma apparaît dans plusieurs systèmes du corpus : l’information est disponible à l’écriture, peu coûteuse à capturer, puis perdue parce que personne n’a ajouté la colonne.
Le coût réel de bien faire les choses
La provenance coûte des octets. Un ID source, un score de confiance, un compteur de version – chacun ajoute quelques champs par ligne. À l’échelle, cela compte, mais bien moins que le coût de ne pas les avoir quand quelque chose tourne mal en production et que vous ne pouvez pas tracer pourquoi le système a produit une réponse erronée.
Le coût de calcul est plus faible que prévu. L’évaluation de la confiance nécessite généralement un appel LLM supplémentaire à l’écriture (ou une heuristique déterministe pour les faits structurels), qui est amorti sur chaque lecture ultérieure. Le suivi de source ne coûte rien au-delà de l’enregistrement d’un identifiant qui existe déjà. Le versionnage coûte une colonne supplémentaire ou un ajout par écriture, pas un instantané complet. Le niveau d’observation de Hindsight ajoute un stockage proportionnel au nombre de faits récupérés et utilisés, mais n’enregistre que ce que l’agent a réellement consommé, pas tout ce qu’il a vu.
Le coût opérationnel est la vraie question. La décoration de palier 3 signifie plus de données circulant à chaque récupération, ce qui augmente légèrement l’utilisation de la fenêtre de contexte et la latence des réponses. Les systèmes qui livrent cela gèrent le problème en gardant les décorations concises – un enum de type de source, un flottant de confiance, un état de fraîcheur – plutôt que des arbres de provenance complets en ligne. L’agent en reçoit assez pour discriminer sans se noyer dans les métadonnées.
Ce que partagent les implémentations les plus solides
Les exemples à travers le corpus méritent d’être répétés car aucun ne résout la même partie du problème :
OpenContext génère des UUID qui survivent à toute réorganisation du système de fichiers et les expose comme un système de citation que l’agent peut utiliser directement. mem9 porte la source, l’ID d’agent, l’ID de session sur chaque ligne, la version à chaque mise à jour, et décore les résultats de recherche avec le contexte source/tour régi par un budget explicite. Supermemory traite la mémoire comme un DAG versionné avec des arêtes typées, donnant à chaque croyance un historique de commits. Hindsight capture chaque fait récupéré et utilisé dans un niveau d’observation avec la provenance complète de source, l’historique d’évolution et le classement par extracteur. Graphify marque chaque arête avec une confiance de capture à trois niveaux, faisant remonter les arêtes incertaines pour révision humaine plutôt que de les traiter comme des faits.
L’observation unificatrice est simple : la provenance n’est pas des métadonnées, elle fait partie du fait. Les systèmes qui la traitent ainsi sont ceux dont la mémoire ne pourrit pas silencieusement, dont les contradictions peuvent être tranchées, dont les hallucinations peuvent être tracées, et dont l’historique des croyances peut être rembobiné à n’importe quel point du passé sans avoir anticipé le besoin.
Les systèmes qui ne le font pas sont ceux dont les utilisateurs finissent par apprendre que la mémoire à laquelle ils faisaient confiance était une île depuis le début.
La provenance est l’assurance la moins chère que vous puissiez acheter à l’écriture. La discipline est de l’acheter avant de découvrir que vous en aviez besoin.
Vous trouvez cet article utile ? Merci de le partager pour que d’autres en profitent aussi :)
Le prochain article traite de la récupération hybride et du RRF, le motif qui permet de combiner signaux vectoriels et lexicaux sans que l’un étouffe l’autre – ce qui importe le plus quand la provenance vous dit qu’un fait est solide mais que la seule pertinence l’enterrerait. Cet article arrive bientôt.





