Mémoire persistante (MemoryTool)

Présentation

L'outil de mémoire permet à un agent de stocker, rechercher et retrouver des informations de manière persistante. Contrairement aux messages de conversation qui disparaissent à la fin du flux de travail, les mémoires sont enregistrées en base de données et peuvent être consultées ultérieurement, y compris depuis d'autres flux de travail.

L'outil prend en charge la recherche sémantique : lorsqu'un service de plongements lexicaux est configuré, les mémoires sont indexées sous forme de vecteurs et retrouvées par similarité de sens, pas uniquement par correspondance de mots.

Les quatre types de mémoires

Chaque mémoire appartient à l'un des quatre types suivants, qui déterminent sa portée et sa durée de vie :

  • Préférence utilisateur — Choix et habitudes de l'utilisateur. Portée générale, importance élevée, sans expiration.
  • Contexte — Information temporaire liée à la session en cours. Portée limitée au flux de travail, importance faible, expire automatiquement après 7 jours.
  • Connaissance — Fait, référence ou savoir-faire. Portée générale, importance moyenne, sans expiration.
  • Décision — Choix effectué et son raisonnement. Portée limitée au flux de travail, importance élevée, sans expiration.

Portée automatique

La portée d'une mémoire détermine sa visibilité :

  • Générale — Accessible depuis tous les flux de travail. Les préférences utilisateur et les connaissances sont automatiquement stockées en portée générale.
  • Flux de travail — Accessible uniquement dans le flux de travail où elle a été créée. Les contextes et les décisions sont automatiquement rattachés au flux de travail en cours.

Cette attribution est automatique, mais l'agent peut la modifier explicitement s'il le souhaite.

Opérations disponibles

Décrire

Affiche des statistiques sur les mémoires accessibles : nombre total, répartition par type, étiquettes utilisées, mémoires les plus anciennes et les plus récentes. Permet à l'agent de découvrir ce qui est disponible avant de chercher.

Ajouter

Crée une nouvelle mémoire avec un type, un contenu et des métadonnées optionnelles (étiquettes, source). L'importance et la portée sont attribuées automatiquement selon le type. Si un service de plongements lexicaux est actif, un vecteur est généré pour la recherche sémantique.

Rechercher

Retrouve les mémoires les plus pertinentes par rapport à une requête en langage naturel. La recherche sémantique compare le sens de la requête avec le contenu des mémoires stockées. Si le service de plongements lexicaux n'est pas disponible, une recherche textuelle est utilisée automatiquement.

Le score de pertinence combine trois facteurs :

  • Similarité sémantique (70 %)
  • Importance de la mémoire (15 %)
  • Fraîcheur de la mémoire (15 %)

Lister

Affiche les mémoires avec filtrage optionnel par type et par portée. Un mode compact est disponible pour limiter la quantité de données, en tronquant le contenu à 100 caractères.

Consulter

Récupère le détail complet d'une mémoire à partir de son identifiant.

Supprimer

Supprime définitivement une mémoire par son identifiant.

Vider par type

Supprime toutes les mémoires d'un type donné, avec filtrage optionnel par portée. Opération irréversible.

Recherche sémantique et bascule de secours

Lorsqu'un service de plongements lexicaux est configuré (Mistral ou Ollama), chaque mémoire est convertie en un vecteur de 1 024 dimensions et indexée dans une structure HNSW. La recherche compare alors les vecteurs par similarité cosinus.

Si le service de plongements lexicaux n'est pas disponible ou rencontre une erreur, l'outil bascule automatiquement vers une recherche textuelle par sous-chaîne. L'opération reste fonctionnelle dans tous les cas.

Paramètres communs

  • Contenu — Texte de la mémoire, jusqu'à 50 000 caractères
  • Seuil — Score minimal pour la recherche (0 à 1, par défaut 0,7)
  • Limite — Nombre maximal de résultats (par défaut 10, maximum 100)
  • Portée — Filtrage par portée : flux de travail uniquement, générale uniquement, ou les deux

Les quatre types de mémoires

Chaque type détermine automatiquement la portée, l'importance et la durée de vie de la mémoire.

Préférence utilisateur

user_pref

Choix et habitudes de l'utilisateur

Générale Importance : 0,8 Permanente

Contexte

context

Information temporaire liée à la session

Flux de travail Importance : 0,3 Expire après 7 jours

Connaissance

knowledge

Fait, référence ou savoir-faire

Générale Importance : 0,6 Permanente

Décision

decision

Choix effectué et son raisonnement

Flux de travail Importance : 0,7 Permanente

Portée automatique

La portée détermine la visibilité d'une mémoire. Elle est attribuée automatiquement selon le type.

Portée générale

Accessible depuis tous les flux de travail

Préférence utilisateur Connaissance

Portée flux de travail

Accessible uniquement dans le flux de travail d'origine

Contexte Décision
Lors d'une recherche, l'agent peut choisir de consulter uniquement les mémoires du flux de travail en cours, uniquement les mémoires générales, ou les deux à la fois (comportement par défaut).

Opérations disponibles

L'outil expose sept opérations que l'agent peut appeler selon ses besoins.

Décrire

Statistiques sur les mémoires accessibles : total, répartition par type, étiquettes

Ajouter

Crée une mémoire avec type, contenu et métadonnées. Vecteur généré automatiquement.

Rechercher

Recherche sémantique par similarité de sens, avec bascule de secours en mode texte

Lister

Affiche les mémoires avec filtrage par type et portée. Mode compact disponible.

Consulter

Récupère le détail complet d'une mémoire par son identifiant

Supprimer

Supprime définitivement une mémoire par identifiant

Vider par type

Supprime toutes les mémoires d'un type donné. Opération irréversible.

Recherche sémantique

Le score de pertinence combine trois facteurs pour classer les résultats.

Similarité sémantique 70 %

Proximité de sens entre la requête et le contenu de la mémoire

Importance 15 %

Poids attribué selon le type de mémoire (0,3 à 0,8)

Fraîcheur 15 %

Décroissance progressive sur 30 jours

Si le service de plongements lexicaux n'est pas disponible, l'outil bascule automatiquement vers une recherche textuelle par sous-chaîne. Le champ « type de recherche » dans le résultat indique le mode utilisé.

Paramètres et limites

Paramètre
Valeur par défaut
Limite
Contenu
50 000 caractères
Résultats par requête
10
100 maximum
Seuil de similarité
0,7
0 à 1
Aperçu compact
100 caractères
Dimensions du vecteur
1 024
Expiration contexte
7 jours
Décroissance fraîcheur
30 jours
L'opération « vider par type » est irréversible. Elle supprime définitivement toutes les mémoires du type sélectionné, sans possibilité de récupération.