# Le modèle de mémoire SUMMARY: Comment les mémoires sont structurées — catégories, clés, tags, priorités, sources, vérification. Le modèle de mémoire Le modèle de mémoire de Synapse est conçu pour les agents LLM — suffisamment structuré pour un rappel fiable, suffisamment flexible pour tout domaine. Anatomie d'une mémoire [CODE BLOCK] Champs | Champ | Type | Requis | Description | |-------|------|----------|-------------| | | string | auto | Identifiant unique (memxxx) | | | enum | ✅ | Une des 8 catégories | | | string | ✅ | Identifiant stable (utilisé pour les mises à jour) | | | string | ✅ | Le contenu de la mémoire (n'importe quel texte) | | | string[] | – | Pour la recherche et le filtrage | | | enum | – | low, normal, high, critical (par défaut : normal) | | | enum | auto | user, agent (qui l'a stockée) | | | bool | auto | Un humain a-t-il vérifié ceci ? | | | float | – | 0.0 à 1.0 (par défaut : 1.0 pour user, 0.7 pour agent) | | | timestamp | – | Quand oublier cette mémoire | | | string | auto | Quel mind possède ceci | | | timestamp | auto | Premier stockage | | | timestamp | auto | Dernière modification | Catégories Huit catégories couvrent les cas d'usage courants des agents LLM : | Catégorie | Rôle | Exemple de contenu | |----------|---------|-----------------| | | Qui est l'utilisateur | "User is Michael Schäfer, software engineer in Berlin" | | | Préférences utilisateur | "Prefers concise technical responses" | | | Faits vérifiables | "Office is in Berlin, timezone Europe/Berlin" | | | Statut de projet | "Synapse v1.5.0 deployed, working on v1.6.0 docs" | | | Compétences de l'utilisateur | "Advanced Python, 10+ years" | | | Erreurs passées | "Forgot to bump npm version — CI failed" | | | Contexte de session | "Currently reviewing PR #42" | | | Notes diverses | "Try Redis for caching next sprint" | Clés : identifiants stables Le champ est critique — c'est ainsi que vous mettez à jour les mémoires sans créer de doublons. [CODE BLOCK] Règles de clé : - Doit être unique dans (catégorie, mind) - Utilisez - Préfixez avec la catégorie pour plus de clarté : , - Gardez-la stable — ne changez pas les clés après création Tags : pour la recherche Les tags permettent le filtrage et la recherche rapides : [CODE BLOCK] Bonnes pratiques de tag : - 2-5 tags par mémoire (ne pas sur-tagger) - Minuscules pour la cohérence - Utilisez des noms de projet, sujets, technologies - Les tags sont insensibles à la casse Niveaux de priorité | Priorité | Quand l'utiliser | Comportement de rappel | |----------|-------------|-----------------| | | Identité, juridique, irréversible | Toujours en haut du rappel | | | Projets actifs, préférences clés | Proéminent dans le rappel | | | La plupart des mémoires (par défaut) | Ordre de rappel standard | | | Éphémère, utile à savoir | Peut être résumé | trie par priorité (critical d'abord), puis par récence. Source : User vs Agent Les mémoires sont marquées avec : - — stockée par un humain (via JWT ou interface humaine) - — stockée par un agent LLM (via Mind Key) Cela affecte : - Vérification : les mémoires sont auto-vérifiées, les mémoires ne le sont pas - Confiance : par défaut à 1.0, à 0.7 - Rappel : marque les mémoires non vérifiées avec « (unverified) » > [!NOTE] > Traitez les mémoires avec un scepticisme approprié. Elles peuvent être > déduites ou supposées plutôt que directement énoncées par l'utilisateur. Vérification Le drapeau indique qu'un humain a confirmé la mémoire : - Mémoires : auto-vérifiées () - Mémoires : non vérifiées par défaut () Vérifiez les mémoires via : [CODE BLOCK] > [!NOTE] > La vérification nécessite un JWT (auth humaine), pas une Mind Key (auth agent). > Cela garantit que seuls les humains peuvent marquer des mémoires comme vérifiées. Confiance Le champ (0.0 à 1.0) indique la fiabilité de la mémoire : - 1.0 — directement énoncée par l'utilisateur - 0.7 — déduite par l'agent - 0.5 — incertaine, nécessite vérification - 0.0 — explicitement doutée Définissez la confiance lors du stockage : [CODE BLOCK] Expiration Définissez pour les mémoires sensibles au temps : [CODE BLOCK] Les mémoires expirées ne sont pas renvoyées par (mais existent toujours en base). Utilisez pour voir les mémoires expirant bientôt. Cycle de vie d'une mémoire [CODE BLOCK] Comportement de rappel renvoie un résumé en texte brut optimisé pour le contexte LLM : [CODE BLOCK] - Trié par priorité (critical → low), puis par récence - Mémoires non vérifiées marquées avec - Tags inclus pour le contexte - Texte brut (pas d'analyse JSON nécessaire) Prochaines étapes - API Memory - Bonnes pratiques mémoire - Recherche FTS5