Sélection sémantique de mémoire
L'agent ne se souvient pas de tout, il se souvient de ce qui est pertinent.
Un agent peut avoir des milliers de souvenirs en mémoire. Tout injecter dans le contexte à chaque message serait impossible et contre-productif. La sélection sémantique resout ce problème.
Quand un nouveau message arrive, le système analyse son contenu et identifié les souvenirs les plus pertinents. La sélection combine plusieurs signaux : proximite sémantique, recence, fréquence de rappel, et importance.
Le résultat est un contexte enrichi avec exactement les bons souvenirs. L'agent semble se souvenir naturellement des informations pertinentes, comme le ferait un collaborateur humain.
Analyse du message
Le message entrant est transforme en vecteur sémantique et analyse pour en extraire les thèmes et entites clés.
Recherche vectorielle
Les souvenirs proches sémantiquement sont identifiés via une recherche dans la base vectorielle (Qdrant, pgvector).
Scoring multi-critères
Chaque souvenir candidat reçoit un score combine : pertinence sémantique (40%), recence (20%), fréquence de rappel (20%), importance (20%).
Sélection
Les N souvenirs les mieux scores sont sélectionnés (N configurable, typiquement 5-15).
Injection
Les souvenirs sélectionnés sont injectes dans le contexte de l'agent, dans une section dédiée, avant que l'agent ne formule sa réponse.
Continuite de projet
Un utilisateur reprend un projet après 2 semaines d'absence. A son premier message mentionnant le nom du projet, l'agent se rappelle automatiquement les derniers choix techniques.
Préférences implicites
Un utilisateur mentionne qu'il travaille sur un composant React. L'agent se souvient que cet utilisateur préféré TypeScript strict et les hooks aux classes.
Multi-utilisateurs
Chaque utilisateur a son propre ensemble de souvenirs. Quand Alice parle du dashboard, l'agent se souvient du dashboard EasyBoard. Quand Bob en parle, il se souvient du dashboard Monitoring.
featurePages.memorySelection.config
- Actif par défaut sur tous les agents EasyClaw v2
- Requiert un backend vectoriel (Qdrant, pgvector, ou FalkorDB via Graphiti)
- Fonctionne en synergie avec Extract-Memories et Auto-Dream
