Cognitive Weaver — architecture mémoire Agent expérimentale
Cognitive Weaver est une bibliothèque mémoire à vocation recherche qui explore la consolidation mémoire par réflexion — des Agent qui révisent et réécrivent périodiquement leurs propres souvenirs, au lieu de simplement les stocker.
What Cognitive Weaver explores
La plupart des bibliothèques mémoire sont write-mostly : extraire des faits, embarquer, récupérer. Cognitive Weaver ajoute une boucle de réflexion — périodiquement, un LLM passe en revue les mémoires récentes, consolide les doublons, promeut les faits importants et déclasse les obsolètes. L'idée est empruntée aux théories de consolidation pendant le sommeil en sciences cognitives.
C'est du code de recherche en phase précoce, pas une bibliothèque durcie pour la production. À envisager quand : (a) vous avez un Agent qui tourne pendant des mois et accumule des faits contradictoires, (b) vous devez expérimenter sur la qualité mémoire en recherche, ou (c) vous voulez voir comment la mémoire par réflexion diffère en pratique de la mémoire par extraction.
Si vous shippez un produit, utilisez plutôt mem0 ou Zep. Revenez sur Cognitive Weaver quand la qualité de votre récupération plafonne et que vous soupçonnez la consolidation mémoire d'être la pièce manquante.
Quick Start — Reflection Loop Pattern
L'API exacte de Cognitive Weaver est expérimentale et change entre versions. Considérez le code ci-dessus comme le pattern : conservez les mémoires brutes dans un vector store, exécutez une passe de réflexion séparée à une certaine cadence, et laissez la consolidation produire au fil du temps des mémoires à plus fort signal.
# Cognitive Weaver's core idea, implemented against any vector store.
# Treat this as a pattern you can replicate — the repo is experimental.
from datetime import datetime, timedelta
# from cognitive_weaver import MemoryStore, Reflector # experimental API
store = MemoryStore() # vector-backed store of raw memories
reflector = Reflector( # LLM-driven consolidation pass
llm="gpt-4o-mini",
window_hours=24,
)
# Normal path — write memories as they arrive
store.write(user_id="u1", text="User asked about Go vs Rust.")
store.write(user_id="u1", text="User prefers Rust for systems work.")
store.write(user_id="u1", text="User mentioned Rust again, with Axum framework.")
# Reflection pass — runs periodically (cron, background worker, etc.)
def nightly_consolidation(user_id: str):
recent = store.read_since(user_id, since=datetime.utcnow() - timedelta(days=1))
consolidated = reflector.consolidate(recent) # LLM merges and scores
for memory in consolidated:
store.upsert(user_id=user_id, text=memory.text, importance=memory.score)
# Low-importance memories decay (soft-delete on next read)
nightly_consolidation("u1")
# Later: a single higher-quality memory appears in retrieval
hits = store.search("what language does the user prefer?", user_id="u1")
# → "User consistently prefers Rust, especially for web services with Axum."Fonctionnalités clés
Consolidation par réflexion
Revue des mémoires récentes pilotée par LLM. Fusionne les doublons, promeut les faits importants, déclasse le bruit. Tourne en job de fond — pas à chaque requête.
Scoring d'importance
Chaque mémoire porte un score d'importance ajusté pendant la réflexion. La récupération est biaisée vers les mémoires à forte importance, accélérant la convergence vers « ce qui compte vraiment ».
Décroissance mémoire
Les mémoires à faible importance peuvent être soft-supprimées (ou archivées en stockage froid) après un âge configurable — l'index chaud reste léger.
Store interchangeable
N'importe quelle vector DB que vous utilisez déjà. Cognitive Weaver est la couche de réflexion par-dessus, pas un nouveau moteur de stockage.
Hooks d'observabilité
Des snapshots avant/après de chaque passe de réflexion sont émis sous forme d'événements structurés — vous pouvez auditer ce que l'Agent a « réécrit » pendant la consolidation.
Friendly pour la recherche
La base de code est petite et lisible — ~1,5K LOC en Python. Forkable comme point de départ pour une recherche mémoire custom.
Comparaison
| Maturity | Unique Idea | Production Use? | Best for | |
|---|---|---|---|---|
| Cognitive Weavercelui-ci | Experimental | Reflection-based consolidation | Not recommended yet | Research & experimentation |
| mem0 | Stable | Automatic extraction + dedup | Yes | Production chatbots |
| Letta | Stable | Agent-directed paging | Yes | Long-running agents |
| Graphiti | Stable | Temporal bitemporal edges | Yes | History-sensitive domains |
Cas d'usage
01. Recherche sur les architectures mémoire
Si vous écrivez un article ou menez des expériences sur la qualité mémoire des LLMs, la petite surface de Cognitive Weaver en fait un terrain facile à modifier et à mesurer.
02. Prototyper la réflexion dans des systèmes de production
Empruntez le pattern (passe de consolidation nocturne contre votre store mémoire existant) même si vous n'adoptez pas la bibliothèque. La plupart des stacks de production bénéficient d'une revue mémoire périodique.
03. Agent à forte dérive
Quand un Agent tourne pendant des mois et commence à remonter des mémoires obsolètes ou contradictoires, la consolidation par réflexion est l'une des rares parades connues.
Tarification et licence
Open source : vérifiez la licence exacte sur le repo ; la plupart des projets mémoire expérimentaux publient sous MIT ou Apache 2.0.
Coût : vous payez les appels LLM de réflexion. Une passe de consolidation quotidienne sur 1K mémoires en gpt-4o-mini coûte ~0,10 $. Le coût croît linéairement avec le volume de mémoires et la fréquence de réflexion.
Alternative sans adopter la bibliothèque : implémentez le pattern vous-même en ~200 lignes. La valeur de recherche est dans l'idée, pas dans la base de code spécifique.
Assets associés sur TokRepo
Questions fréquentes
Cognitive Weaver est-il production-ready ?+
Non — traitez-le comme un projet de recherche. Pour la production, utilisez mem0, Zep ou Letta. Cognitive Weaver est précieux quand vous voulez expérimenter la mémoire par réflexion ou forker le code pour de la recherche.
En quoi la réflexion diffère-t-elle de la déduplication ?+
La déduplication supprime les mémoires quasi identiques. La réflexion va plus loin : elle peut fusionner des mémoires apparentées-mais-pas-identiques en un seul résumé à plus fort signal, réordonner l'importance et émonder les faits obsolètes. C'est une opération sémantique, pas seulement du text matching.
Puis-je ajouter de la réflexion à mem0 ou Zep ?+
Oui. Exécutez un job planifié qui interroge les mémoires récentes, demande à un LLM de les consolider et réécrit le résultat. La fonctionnalité graph memory de mem0 fait déjà quelque chose de similaire pour les relations d'entités ; ajouter une réflexion au niveau des faits est une extension propre.
Quels problèmes la réflexion NE résout PAS ?+
Les hallucinations (si la source est fausse, la consolidation l'amplifie), les goulots d'étranglement de précision en récupération (la recherche hybride les corrige) et la latence (la réflexion est offline de toute façon). Utilisez-la quand la qualité mémoire se dégrade dans le temps — pas comme correctif général.
Où en apprendre plus sur la réflexion dans les Agent AI ?+
Commencez par l'article Reflexion (Shinn et al., 2023) pour l'auto-amélioration d'Agent, et l'article Voyager (Wang et al., 2023) pour l'apprentissage à vie avec une skill library. Cognitive Weaver s'inscrit dans la même lignée de recherche.