Retour aux réalisations

Ingénierie IA agentique

Persistent Memory

Mémoire persistante pour agents IA en Python, avec preuves versionnées, contrôle des retraits, recherche typée et registre de politiques facultatif.

Présentation

Persistent Memory est une bibliothèque Python pour conserver les informations utilisées par des agents IA, retrouver leurs sources et écarter celles qui ont été corrigées ou retirées. Elle associe une mémoire versionnée à un registre de politiques indépendant. Cette version alpha sous licence MIT fonctionne sous Linux sans modèle ni base externe.

Rôle et périmètre

Je conçois et développe les mécanismes de stockage, de recherche et de reprise, les interfaces Python et les intégrations HTTP et MCP facultatives. Je maintiens aussi les packages publics, la documentation bilingue, les exemples autonomes et les tests de panne, d’accès concurrents et de retrait des informations.

Problème et contraintes

Un index de recherche ou une sauvegarde restaurée peut encore contenir des preuves corrigées ou retirées. La mémoire doit distinguer les preuves actuelles, les versions périmées et une validation indisponible avant de fournir du contexte à une application.

Architecture

SQLite conserve des versions immuables et les liens entre les sources et les informations qui en découlent. Une autorité séparée et un témoin de fraîcheur déterminent quelles informations restent utilisables. Les index FTS5 reconstruisibles proposent des résultats, vérifiés à nouveau avant leur restitution.

Les enregistrements typés distinguent documents, observations, hypothèses, procédures, tâches et retours d’expérience. Les applications peuvent composer un contexte sous un budget explicite via Python, la CLI ou les interfaces HTTP et MCP facultatives.

Un module de rendu facultatif transforme des faits fournis et déjà revus en texte, à partir de formulations françaises prédéfinies, en conservant les versions et passages sources. Le module d’admission vérifie l’autorité de l’hôte et le tampon final, puis signale les informations inconnues, contradictoires ou retirées.

Choix et compromis

L’index reste une projection : il ne décide pas de la validité des preuves. Les écritures utilisent un contrôle compare-and-swap ; la reprise d’une ancienne sauvegarde de contenu commence en quarantaine face à une autorité actuelle conservée. Le registre facultatif sépare proposition de politique, preuves, admission et rollback, sans activer de politique ni accorder de droits.

Tests et vérification

Les tests couvrent les accès concurrents, le retrait des informations, la reprise depuis une ancienne sauvegarde et l’installation des packages. La qualification Linux a réussi 145 tests mémoire et 36 tests du registre de politiques pour les formats wheel et distribution source, sur des données synthétiques.

Résultats publics

La version v0.3.0a1 comprend les packages installables, les sommes de contrôle et la documentation française et anglaise ; le registre de politiques indépendant reste en version 0.1.0. Les démonstrations autonomes présentent le retrait des informations et la reprise, le refus d’un tampon de sortie modifié et la gestion d’une remise au résultat incertain.

Ressources et liens

Périmètre et état actuel

La bibliothèque est en version alpha. La reprise exige une autorité actuelle et un témoin de fraîcheur conservés hors de la sauvegarde de contenu restaurée. Le retrait concerne les futures lectures de la bibliothèque, pas les copies exportées ni les informations déjà apprises par un modèle.

Le rendu et l’admission facultatifs utilisent des faits fournis et revus, ainsi qu’une autorité d’hôte authentifiée. L’hôte gère les délais et interruptions des callbacks. Ces modules n’extraient ni ne vérifient le sens des faits, n’assurent pas une autorisation et une publication atomiques, et ne remplacent pas un journal durable de remise ou l’isolation des callbacks.

Un accusé de réception ne prouve pas la consommation en aval. Un effet incertain n’est pas retenté. La documentation liée détaille les contrats de reprise et d’admission.

Étude de cas suivante

Bifrost

Voir l’étude de cas