Ton agent IA te raconte aujourd'hui une histoire cohérente sur ton entreprise. Mais si tu lui demandes ce qu'il croyait vrai il y a six mois, et pourquoi il a changé d'avis, il reste muet : la plupart des systèmes de mémoire écrasent l'ancienne information au moment de la corriger. Utopia, un projet open source encore en version 0.1, attaque exactement ce point aveugle — et c'est de plus en plus le prochain chantier des agents.
Le projet vient d'ailleurs de dépasser les 3 700 étoiles sur GitHub en à peine un mois d'existence, un rythme qui souligne un vrai appétit pour le sujet. Écrit en Rust, il tourne avec une simple base PostgreSQL et se déploie chez toi, hors ligne si tu veux.
Se souvenir, oui — mais savoir quand, et pourquoi ça a changé
Petit rappel de vocabulaire. Le RAG, pour « génération augmentée par recherche », c'est la technique qui consiste à piocher des passages dans tes documents pour que l'agent réponde avec tes données plutôt qu'avec son imagination. Un « fait » dans ce contexte, c'est une information extraite d'un document, du style « ce client a signé le contrat X le 3 mars ».
Le RAG classique a une faiblesse bien connue de ceux qui l'utilisent au quotidien : quand une information change, la nouvelle remplace l'ancienne, et tout ce qui faisait la traçabilité disparaît. Or en entreprise, une décision prise en janvier sur la base d'une information alors considérée comme vraie ne devient pas absurde parce que l'information a changé en septembre. Pour auditer, comprendre ou corriger une décision d'un agent, il faut pouvoir rejouer non seulement ce qui était vrai, mais aussi ce que le système croyait à ce moment-là.
C'est la distinction que les chercheurs appellent le bitemporel : deux lignes de temps pour chaque information. La première, c'est la validité réelle — de quand à quand ce fait était-il vrai dans le monde. La seconde, c'est la connaissance du système — quand est-ce que la base de données elle-même l'a cru, puis révisé. Un graphique boursier donne un bon image : le cours d'hier n'est pas effacé par celui d'aujourd'hui, il coexiste dans l'historique.

Schéma explicatif NumeriBrain — réalisé par la rédaction pour illustrer le principe du graphe bitemporel.
Ce que fait Utopia concrètement
Utopia se décrit comme un « modèle du monde d'entreprise », une expression un peu grandiloquente qu'il faut remettre à l'échelle : c'est une plateforme de connaissances auto-hébergée, construite en Rust au-dessus de PostgreSQL avec l'extension pgvector pour les recherches vectorielles. Dedans, tu verses tes PDF, documents Office, pages web, flux RSS, dépôts GitHub ou tickets Jira, et le système en extrait des entités et des faits organisés en graphe.
La partie originale, donc : chaque fait du graphe porte ses deux dates, la période de validité réelle et la période pendant laquelle le système l'a cru. Quand une correction arrive, l'ancienne version n'est pas écrasée : elle est fermée, reliée à la nouvelle, et sa provenance reste consultable. Le graphe garde aussi une piste d'audit complète : qui a confirmé, fusionné ou rejeté quoi, et quand.
- Recherche hybride : plein texte et vecteurs, résultats fusionnés, avec des réponses qui citent le passage source.
- Extraction pilotée par une ontologie éditable, avec cinq vocabulaires embarqués (schema.org, FOAF, PROV-O…).
- Résolution d'entités en trois étapes, avec fusion réversible et file de revue pour les cas douteux.
- Agent intégré pilotable à la voix ( enfin, à la conversation ) : il fouille les documents, parcourt le graphe à une date donnée et interroge une base SQL montée à côté.
- Fonctionne avec n'importe quel endpoint OpenAI-compatible (DeepSeek, Qwen, Ollama, vLLM…), donc entièrement déconnecté d'internet si besoin.
- Multi-utilisateurs avec rôles, et un registre des décisions en écriture seule pour l'audit.

deeplethe/utopia — bannière officielle du dépôt GitHub, licence Apache-2.0.
L'installer chez soi : une seule commande
Le projet fournit une image Docker prête à l'emploi. En pratique :
git clone https://github.com/deeplethe/utopia.git
cd utopia
docker compose --profile app up -dEnsuite, tu ouvres http://localhost:1516, tu crées ton compte — le premier devient administrateur — et tu configures tes endpoints de modèle (chat et embeddings) dans l'administration. C'est le même principe que pour n'importe quel agent personnel auto-hébergé, comme on le détaillait dans notre guide d'installation de Nanobot : tu choisis qui voit tes données.
Attention tout de même : le projet est en version 0.1, et le README le dit crûment — le schéma de base de données évolue entre les versions et les migrations ne font qu'avancer, sans retour arrière. En production, il faut épingler une version précise et sauvegarder la base avant chaque mise à jour.
Pourquoi le prochain problème des agents, c'est le temps
La mémoire des agents IA a fait des progrès rapides : on sait désormais leur donner des notes persistantes, des bases vectorielles, des historiques de conversation. Mais presque tout cet outillage partage le même angle mort : il décrit le présent. Le jour où un agent encaisse des années de documents d'entreprise, la question n'est plus « que sais-je ? » mais « que savais-je à cette date, sur la base de quoi, et qu'est-ce qui a changé depuis ? »
C'est exactement ce dont dépendent l'audit de décisions, la conformité réglementaire, la gestion de conflits entre sources, ou plus simplement la confiance qu'on peut accorder à un agent qui travaille avec des informations mouvantes. Le projet Utopia ne prétend pas résoudre ça tout seul — sa feuille de route liste encore la relecture de décisions, les règles métier ou la mémoire d'agent via MCP comme chantiers à venir. Mais poser la temporalité dans la fondation plutôt qu'en rustine, c'est le bon sens technique.
Pour le lecteur qui teste les agents par chez lui, l'intérêt est direct : si tu construis un assistant qui lit tes documents, le graphe bitemporel est une réponse sérieuse au problème « mon agent n'apprend pas de ses erreurs ». Et si le projet explose comme le suggère sa trajectoire, tu auras vu la v0.1 avant la foule.
Limites, en toute honnêteté
- v0.1 assumée : migrations sans retour arrière, schéma appelé à bouger, à réserver à l'expérimentation pour l'instant.
- L'interface et la documentation sont en anglais, et le concept d'ontologie demande un peu de lecture avant d'être confortable.
- Un seul binaire Rust et PostgreSQL, mais quand même : il faut un serveur qui tourne, ce n'est pas une extension de navigateur.
- Le terme « modèle du monde » vend du rêve : c'est une plateforme de connaissances bien conçue, pas une conscience d'entreprise.
Le dépôt publie aussi un avis de sécurité à lire avant toute exposition sur internet — règle habituelle de l'auto-hébergement prudent.
Verdict
Utopia est le genre de projet qu'on regarde maintenant : technique solide (Rust, PostgreSQL/pgvector), problème réel et pas encore saturé d'alternatives, exécution sérieuse avec audit et réversibilité intégrés. L'angle bitemporel ne remplacera pas ton RAG du jour au lendemain, mais il indique où va la mémoire des agents : moins « je stocke », plus « je sais quand ». À suivre de très près.
Sources
deeplethe/utopia — le dépôt GitHub officiel du projet, avec le README détaillé, la feuille de route et les instructions d'installation.
Utopia — site officiel — le site du projet, avec la présentation de la philosophie bitemporelle.
Ontology2SQL — la méthode d'interrogation de bases de données par ontologie, liée au projet.
Apache-2.0 — la licence open source du projet.
Recherche, relecture et illustration assistées par IA. Le contenu reflète le travail éditorial de la rédaction.




No comments yet