Symptôme : votre agent retrouve un passage similaire, mais ne sait pas expliquer quelle source, quelle relation ou quelle décision a produit sa réponse.
Solution la plus rapide : évaluez Semantica si vous avez besoin d’une mémoire sémantique structurée, d’un Context Graph et d’une traçabilité des décisions ; restez sur une mémoire vectorielle simple pour un agent conversationnel sans exigence d’audit.
Ce guide s’adresse aux développeurs qui conçoivent le backend d’un agent doté d’une mémoire longue, aux équipes IA soumises à des exigences de justification, ainsi qu’aux architectes qui veulent partager un même contexte entre plusieurs agents.
Dernière mise à jour : 14 août 2026. Les informations ont été vérifiées à partir du dépôt officiel, de la documentation du projet, de la documentation du module Context et du journal des versions ; les fonctions et dépendances peuvent évoluer après cette date. (github.com)
Commencez par distinguer les quatre couches de mémoire
Le terme « mémoire d’agent » recouvre plusieurs fonctions qui ne répondent pas au même problème. Un historique de conversation conserve les échanges récents dans la fenêtre de contexte. Une mémoire sémantique transforme des faits, préférences ou événements en éléments récupérables au-delà d’une session. Une base de connaissances organise les entités et leurs relations. Enfin, la provenance explique d’où vient chaque fait, quand il a été ajouté et quelle décision l’a utilisé.
Cette distinction est importante, car un système peut parfaitement retrouver le bon document tout en restant incapable de répondre à des questions opérationnelles comme :
- quelle version de la politique était active au moment de la décision ;
- quel événement a conduit l’agent à modifier une recommandation ;
- quelles sources se contredisent ;
- quels autres agents ont écrit dans le même contexte ;
- quelles conséquences ont suivi une décision précédente.
Une base vectorielle répond principalement à une question de similarité : « quels passages ressemblent à cette requête ? ». Semantica se présente plutôt comme une couche de contexte et d’intelligence qui ajoute des nœuds, des relations, des décisions, des règles et des liens de provenance autour de la recherche sémantique. Le dépôt officiel indique explicitement que le projet est conçu pour compléter une pile existante, et non pour imposer le remplacement du modèle de langage ou du stockage vectoriel. (github.com)
| Couche | Question traitée | Exemple | Limite principale |
|---|---|---|---|
| Contexte court | Que vient de dire l’utilisateur ? | Les derniers messages d’une session | Disparaît ou devient coûteux quand l’historique grandit |
| Mémoire sémantique | Quel fait antérieur est pertinent ? | Préférence, événement ou observation | Ne décrit pas toujours les relations entre faits |
| Graphe de connaissances | Quelles entités sont liées ? | Client → contrat → décision | Demande un modèle d’entités et de relations cohérent |
| Provenance et décision | Pourquoi cette décision a-t-elle été prise ? | Source, règle, précédent et conséquence | Nécessite une écriture structurée au moment de l’action |
Comprenez ce que Semantica ajoute réellement
Semantica est un framework open source présenté comme une infrastructure orientée graphe pour le contexte et les systèmes IA traçables. Ses modules couvrent notamment l’ingestion, l’extraction sémantique, la construction de graphes, le raisonnement, la provenance, l’ontologie, la détection de conflits, la déduplication et l’export. Il ne s’agit donc pas uniquement d’un composant de rappel de conversations. (github.com)
Le module central à examiner est semantica.context. La documentation le décrit comme une couche de mémoire et de décision pour les agents, avec stockage de faits, récupération soutenue par des représentations vectorielles, décisions, parcours de graphe et points de contrôle. L’API AgentContext sert de point d’entrée de haut niveau pour relier ces fonctions dans un flux de travail d’agent. (docs.getsemantica.ai)
Le concept de Context Graph constitue la différence la plus visible. Au lieu de conserver uniquement des fragments associés à des vecteurs, vous représentez des entités, des faits, des événements et des décisions comme des nœuds reliés par des arêtes typées. Vous pouvez alors rechercher une similarité sémantique, mais aussi parcourir un voisinage, retrouver une relation causale ou reconstruire l’état du graphe à une date donnée.
Le dépôt officiel cite plusieurs fonctions de décision : record_decision, trace_decision_chain, find_similar_decisions, analyze_decision_impact et check_decision_rules. Ces noms ne constituent pas une preuve de performance indépendante ; ils indiquent plutôt le modèle d’utilisation prévu par le projet. Avant une mise en production, vous devez vérifier le comportement de chaque fonction avec votre version installée et vos données. (github.com)
Remontez la provenance avant de promettre un audit
Le cas le plus convaincant concerne les systèmes où une réponse ne suffit pas : vous devez aussi fournir son origine et son chemin de décision. La documentation officielle présente la provenance W3C PROV-O comme un mécanisme permettant d’associer les faits à leur source, tandis que les exemples du dépôt montrent une exportation en RDF pour conserver une trace exploitable par d’autres outils. (github.com)
Dans une application de traitement documentaire, vous pouvez par exemple conserver :
- le document d’origine et son identifiant ;
- l’extracteur ou la méthode ayant produit le fait ;
- l’entité ou l’événement concerné ;
- la décision prise par l’agent ;
- les relations causales entre décisions ;
- la conséquence observée ou la demande de révision.
Semantica documente trois types de relations causales dans ses exemples de suivi des décisions : CAUSED, INFLUENCED et PRECEDENT_FOR. Cette distinction est utile, car « cette information a causé la décision » ne signifie pas la même chose que « cette décision a seulement influencé l’action » ou « une décision antérieure a servi de précédent ». (github.com)
La version actuelle du modèle temporel documenté ajoute également l’algèbre d’intervalles d’Allen, avec 13 relations temporelles. Pour un agent qui doit répondre selon la validité historique d’un contrat, d’une politique ou d’un état opérationnel, cette capacité est plus pertinente qu’un simple classement par proximité sémantique. Elle reste toutefois à tester sur vos propres règles temporelles : la présence d’une API ne garantit pas que votre ontologie et vos données soient correctement modélisées. (github.com)
Cas concret : une recommandation audiovisuelle doit rester explicable
Imaginez un agent qui prépare une recommandation de matériel pour un studio audio-vidéo. Il récupère une fiche technique, une contrainte budgétaire et une note interne indiquant qu’un périphérique a posé des problèmes de compatibilité. Une recherche vectorielle peut retrouver les trois textes, mais elle ne garantit pas que le système relie correctement :
- le périphérique à la version du logiciel utilisée ;
- la contrainte à la date du projet ;
- l’incident à la décision de l’écarter ;
- la recommandation finale à la source qui justifie cette exclusion.
Avec un graphe de contexte, vous pouvez représenter ces liens et demander à l’agent de restituer non seulement une recommandation, mais aussi les éléments qui l’ont déterminée. C’est particulièrement intéressant pour la postproduction, le design industriel, la documentation technique et les environnements où plusieurs spécialistes modifient progressivement le même dossier.
Séparez mémoire partagée et écriture concurrente
Semantica documente un modèle dans lequel plusieurs agents peuvent s’appuyer sur une même couche de contexte. L’intérêt est évident : un agent de recherche peut enrichir le graphe, un agent de validation peut vérifier les règles et un agent de planification peut réutiliser les décisions précédentes sans copier manuellement tout l’historique. Le dépôt présente cette approche comme une couche d’intelligence partagée entre agents. (github.com)
Cependant, « mémoire partagée » ne signifie pas « cohérence automatique ». Vous devez encore décider :
- qui peut créer ou modifier une entité ;
- comment fusionner deux noms qui désignent le même objet ;
- que faire lorsqu’un agent écrit une information contradictoire ;
- quelles sources ont priorité ;
- quels nœuds sont visibles par chaque équipe ou agent ;
- comment conserver une révision au lieu d’écraser l’ancienne valeur.
Le projet expose des fonctions de détection de conflits, de déduplication sémantique et de résolution d’entités. Cela fournit des briques utiles, mais la politique métier reste à votre charge. Une règle de fusion adaptée à des tickets logiciels ne conviendra pas automatiquement à des dossiers médicaux, juridiques ou financiers.
| Risque dans une architecture multi-agent | Ce que Semantica peut apporter | Ce que vous devez encore concevoir |
|---|---|---|
| Deux agents créent la même entité | Déduplication et résolution d’entités | Identifiant canonique, seuil de fusion et validation humaine |
| Une source contredit une autre | Détection et signalement des conflits | Hiérarchie des sources et procédure d’arbitrage |
| Un agent voit trop de contexte | Graphe commun et règles de politique | Permissions par agent, tenant, équipe ou projet |
| Une décision doit être réexaminée | Chaîne causale et provenance | Versionnement, conservation et processus d’appel |
| Le graphe devient difficile à interroger | Recherche sémantique et parcours | Schéma, index, limites de profondeur et tests de pertinence |
Comparez le graphe, le vecteur et la mémoire conversationnelle
Semantica et une base vectorielle ne sont pas des solutions mutuellement exclusives. La recherche vectorielle est souvent efficace pour retrouver un passage formulé différemment de la requête. Le graphe est plus adapté lorsque la réponse dépend de relations explicites, de contraintes temporelles, d’un précédent ou d’une chaîne de justification.
Évitez donc la conclusion automatique selon laquelle un graphe serait toujours supérieur. Pour un assistant qui répond à partir d’un corpus documentaire relativement stable, une indexation vectorielle bien découpée peut être plus simple à exploiter. Pour un agent qui doit relier des personnes, des contrats, des décisions, des événements et des règles, l’ajout d’une structure graphique peut réduire les ambiguïtés que la seule similarité ne détecte pas.
| Besoin dominant | Approche à privilégier | Pourquoi | Quand éviter Semantica |
|---|---|---|---|
| Répondre à des questions sur des documents | RAG vectoriel | Mise en œuvre plus directe | Si aucune relation ni justification détaillée n’est nécessaire |
| Mémoriser des préférences utilisateur | Mémoire sémantique légère | Modèle de données limité | Si vous n’avez pas de décisions ni de sources à auditer |
| Relier événements, entités et décisions | Context Graph | Les relations deviennent interrogeables | Si votre équipe ne peut pas maintenir un schéma minimal |
| Coordonner plusieurs agents | Graphe partagé avec contrôle d’accès | Contexte commun et réutilisable | Si les agents doivent rester totalement isolés |
| Produire une trace de conformité | Provenance, règles et export | Chaque fait peut être rattaché à son origine | Si vous ne pouvez pas définir les événements à journaliser |
Vérifiez les dépendances avant le déploiement local
Oui, Semantica peut être évalué localement. Le dépôt officiel propose une installation Python avec pip, un contrôle via la commande semantica doctor et des exemples qui commencent avec un stockage vectoriel local. La documentation décrit aussi des stockages de graphes RDF ou orientés propriétés, ainsi que plusieurs moteurs vectoriels optionnels. Vérifiez toujours les extras réellement disponibles dans la version que vous installez, car l’installation minimale et l’installation complète n’ont pas le même périmètre. (github.com)
Le coût de complexité vient moins de la commande d’installation que de l’architecture complète. Vous pouvez devoir gérer simultanément :
- l’environnement Python et les dépendances d’extraction ;
- un stockage de graphe ;
- un stockage vectoriel ;
- un fournisseur de modèles pour l’extraction ou l’embedding ;
- une API REST, un serveur MCP ou une intégration d’agent ;
- la sauvegarde des graphes, des index et des journaux de provenance.
Pour un prototype, commencez avec un graphe local, un petit jeu de documents et un stockage vectoriel facilement réinitialisable. Pour une équipe, séparez rapidement les données de test, les données de validation et les données de production. Un graphe qui mélange les trois environnements rend les résultats difficiles à reproduire et complique l’effacement des informations.
| Mode de déploiement | Bon choix si… | Points de contrôle |
|---|---|---|
| Poste local | Vous validez le modèle de données et les appels API | Réinitialisation, dépendances et taille du corpus |
| Mac distant | Vous développez depuis un poste léger avec un environnement macOS persistant | Accès distant, stockage durable et séparation des secrets |
| Serveur partagé | Plusieurs développeurs testent le même graphe | Permissions, sauvegardes, concurrence et quotas |
| Infrastructure cloud | Le service doit être intégré à une chaîne de production | Réseau privé, journalisation, coûts variables et reprise après incident |
Pour les essais qui nécessitent macOS, Xcode, des outils audio ou des logiciels de design, un Mac distant peut être plus pratique qu’un poste local que vous devez maintenir en permanence. Vous pouvez consulter le centre d’aide Macstripe pour vérifier les modalités d’accès et les conditions d’exploitation, puis utiliser la page de configuration d’une commande lorsque vous connaissez déjà vos besoins techniques.
Suivez une validation en cinq étapes avant de migrer
Ne commencez pas par importer tout votre historique. La meilleure façon d’évaluer Semantica consiste à choisir un flux où l’absence de provenance produit déjà une erreur mesurable.
1. Définissez une décision testable
Choisissez une décision précise : classer un incident, sélectionner une configuration, approuver une source ou proposer une action. Écrivez les informations qui doivent apparaître dans l’explication finale. Si vous ne savez pas ce que l’agent devra justifier, vous ne pourrez pas évaluer la valeur du graphe.
2. Construisez un corpus réduit
Sélectionnez quelques documents représentatifs, incluant au moins un doublon, une contradiction et une information datée. L’objectif n’est pas de mesurer la taille maximale du système, mais d’observer la qualité des relations et la capacité à conserver la source.
3. Modélisez les entités et les relations
Commencez avec peu de types : document, personne, projet, événement, décision et règle peuvent suffire pour un premier test. Ajoutez une relation temporelle ou causale seulement lorsqu’elle répond à une question concrète. Un schéma trop ambitieux ralentit l’évaluation et masque les erreurs d’extraction.
4. Comparez trois modes de recherche
Testez la même question avec une recherche vectorielle seule, un parcours de graphe seul et une combinaison des deux. Notez si la réponse est exacte, si elle cite la bonne source, si elle respecte la date demandée et si elle explique la décision sans inventer une relation absente.
5. Fixez un critère de sortie
Continuez uniquement si le graphe améliore une décision importante, une traçabilité ou une collaboration multi-agent. Quittez l’expérimentation si les relations sont trop bruitées, si l’équipe ne peut pas maintenir l’ontologie ou si le coût opérationnel dépasse clairement le bénéfice observé.
Utilisez cette liste avant d’ajouter Semantica à votre architecture :
- [ ] Une décision métier exige une justification au-delà du texte retrouvé.
- [ ] Vous pouvez identifier les sources à conserver pour chaque fait.
- [ ] Vous avez défini les entités et relations minimales du premier cas d’usage.
- [ ] Vous avez prévu une règle pour les contradictions et les doublons.
- [ ] Vous savez quels agents ou utilisateurs peuvent lire et écrire le graphe.
- [ ] Vous pouvez tester une réponse avec et sans Context Graph.
- [ ] Vous avez prévu une sauvegarde et une procédure de réinitialisation.
- [ ] Vous avez fixé un critère d’abandon avant le déploiement en production.
Choisissez selon le niveau de risque du projet
Un simple robot conversationnel n’a généralement pas besoin de toute cette infrastructure. Si votre besoin se limite à retrouver des documents, conserver quelques préférences et répondre sans audit détaillé, une mémoire sémantique plus légère sera probablement suffisante.
Un agent de connaissance qui doit relier des informations provenant de plusieurs sources mérite une évaluation plus sérieuse. Le graphe peut aider lorsque les réponses dépendent de relations, de dates, de précédents ou de conflits documentaires. Vous devez cependant accepter de consacrer du temps au schéma, à la qualité des extractions et à la maintenance des règles.
Une plateforme multi-agent constitue un cas plus favorable, à condition de traiter les autorisations comme une fonction de premier ordre. Le partage d’un contexte unique peut éviter les copies divergentes, mais il augmente aussi le risque qu’un agent écrive une information visible par des processus qui ne devraient pas y accéder.
Les projets réglementés sont les plus susceptibles de tirer profit de la provenance et des décisions enregistrées. Cela ne signifie pas que Semantica suffit à satisfaire une obligation de conformité : il faut encore définir les politiques, les contrôles d’accès, la conservation, la revue humaine et les preuves attendues par votre organisation.
En pratique, adoptez Semantica lorsque vous pouvez répondre « oui » à trois questions : une relation entre faits est-elle aussi importante que le texte lui-même ? devez-vous expliquer l’origine d’une décision ? plusieurs agents doivent-ils travailler sur un contexte commun ? Si la réponse est négative aux trois, commencez par une architecture plus simple.
Décidez si votre environnement de développement est adapté
Le choix entre poste local, Mac distant et infrastructure partagée dépend moins de Semantica lui-même que des outils qui l’entourent. Un poste local convient aux premiers tests, notamment si vous travaillez sur un corpus non sensible et si vous pouvez recréer l’environnement sans difficulté. Un Mac distant devient intéressant lorsque votre équipe doit conserver un environnement macOS, lancer des outils de développement Apple, manipuler des logiciels créatifs ou permettre à plusieurs personnes de reproduire la même configuration.
La solution distante ne supprime pas les problèmes d’architecture : vous devez toujours gérer les secrets, les volumes persistants, les sauvegardes et la latence entre l’agent, le graphe et le stockage vectoriel. Elle peut toutefois éviter l’achat d’une machine dédiée pour une phase de validation, surtout si vous ne savez pas encore si le projet dépassera le stade du prototype. Les informations générales sur les services et les conditions d’utilisation peuvent être vérifiées dans le centre juridique de Macstripe.
Votre solution actuelle peut rester préférable pour une charge longue, stable et prévisible, ou lorsque vous devez connecter directement des périphériques physiques. En revanche, un poste Windows ou Linux utilisé ponctuellement pour tester Semantica peut présenter des limites concrètes : environnement macOS absent pour certains outils, configuration locale difficile à reproduire et temps perdu à maintenir une machine qui ne sert pas entre deux campagnes de validation. Dans ce cas, louer un Mac auprès de Macstripe peut offrir un environnement de test plus souple, à condition de confirmer à l’avance les besoins de stockage, d’accès distant, de persistance et d’outils. Pour une simple mémoire conversationnelle, ne louez pas de machine uniquement pour ajouter une couche technique dont vous n’avez pas encore démontré l’utilité ; pour un prototype d’agent avec outils macOS, audio, vidéo ou design, la location devient une option raisonnable à comparer à l’achat.
Si votre test confirme le besoin d’un graphe de contexte et d’une traçabilité exploitable, consultez ensuite les ressources Macstripe consacrées à la préparation d’un environnement de développement distant et validez le périmètre exact avant de lancer l’installation.