memory-core. Il transfère les signaux forts à court terme vers la mémoire durable, tout en maintenant le processus explicable et vérifiable.
Dreaming est facultatif et désactivé par défaut.
Ce que Dreaming écrit
- État de la machine dans
memory/.dreams/(stockage de rappel, signaux de phase, points de contrôle d’ingestion, verrous). - Sortie lisible par l’utilisateur dans
DREAMS.md(ou un fichierdreams.mdexistant) et fichiers facultatifs de rapport de phase sousmemory/dreaming/<phase>/YYYY-MM-DD.md.
MEMORY.md.
Modèle de phases
Dreaming exécute trois phases coopératives par balayage, dans l’ordre : légère -> REM -> profonde. Il s’agit de phases d’implémentation internes, et non de modes distincts configurés par l’utilisateur.Phase légère
Phase légère
- Lit l’état récent du rappel à court terme, les fichiers de mémoire quotidiens et, lorsqu’elles sont disponibles, les transcriptions de sessions expurgées.
- Déduplique les signaux et prépare les lignes candidates.
- Écrit un bloc
## Light Sleepgéré lorsque le stockage inclut une sortie intégrée. - Enregistre les signaux de renforcement pour le classement profond ultérieur.
- N’écrit jamais dans
MEMORY.md.
Phase REM
Phase REM
- Génère des synthèses thématiques et réflexives à partir des traces récentes à court terme.
- Écrit un bloc
## REM Sleepgéré lorsque le stockage inclut une sortie intégrée. - Enregistre les signaux de renforcement REM utilisés par le classement profond.
- N’écrit jamais dans
MEMORY.md.
Phase profonde
Phase profonde
- Classe les candidats à l’aide d’une notation pondérée et de seuils (
minScore,minRecallCountetminUniqueQueriesdoivent tous être satisfaits). - Recharge les extraits depuis les fichiers quotidiens actifs avant l’écriture, afin d’ignorer les extraits obsolètes ou supprimés.
- Ajoute les entrées promues à
MEMORY.md. - Écrit une synthèse
## Deep SleepdansDREAMS.mdet, facultativement, dansmemory/dreaming/deep/YYYY-MM-DD.md.
Ingestion des transcriptions de sessions
Dreaming peut ingérer des transcriptions de session expurgées dans le corpus de Dreaming. Lorsqu’elles sont disponibles, les transcriptions alimentent la phase légère aux côtés des signaux de mémoire quotidiens et des traces de rappel. Le contenu personnel et sensible est expurgé avant l’ingestion.Journal des rêves
Dreaming conserve un journal des rêves narratif dansDREAMS.md. Une fois que chaque phase dispose de suffisamment de matière, memory-core exécute en arrière-plan, dans la mesure du possible, un tour de sous-agent et ajoute une courte entrée au journal, en utilisant le modèle d’exécution par défaut sauf si dreaming.model est configuré. Si le modèle configuré n’est pas disponible, l’exécution du journal réessaie une fois avec le modèle par défaut de la session ; les échecs liés à la confiance ou à la liste d’autorisation ne font pas l’objet d’une nouvelle tentative et restent visibles dans les journaux au lieu de déclencher silencieusement le recours à une entrée de journal générique.
Le journal est destiné à être lu par des personnes dans l’interface utilisateur Dreams, et non à servir de source de promotion. Les artefacts de journal et de rapport sont exclus de la promotion à court terme ; seuls les extraits de mémoire fondés sur des données factuelles peuvent être promus dans
MEMORY.md.Commandes de remplissage rétroactif
Commandes de remplissage rétroactif
memory rem-harness --path ... --groundedprévisualise la sortie fondée sur des données factuelles du journal à partir des notes historiquesYYYY-MM-DD.md.memory rem-backfill --path ...écrit des entrées de journal réversibles et fondées sur des données factuelles dansDREAMS.md.memory rem-backfill --path ... --stage-short-termplace les candidats durables fondés sur des données factuelles dans le même magasin de preuves à court terme que celui utilisé par la phase profonde normale.memory rem-backfill --rollbacket--rollback-short-termsuppriment ces artefacts de remplissage rétroactif mis en attente sans toucher aux entrées de journal ordinaires ni au rappel actif à court terme.
Signaux de classement profond
Le classement profond utilise six signaux de base pondérés, auxquels s’ajoute le renforcement de phase :
Les occurrences des phases légère et REM ajoutent une légère bonification de récence qui diminue avec le temps à partir de
memory/.dreams/phase-signals.json.
Les résultats des essais fantômes peuvent se superposer au score de base en tant que signal de révision avant toute écriture durable : un essai utile accorde au candidat une légère bonification plafonnée, un essai neutre maintient son report et un essai préjudiciable le marque comme rejeté pour cette passe de notation. Ce signal est réservé au rapport : il peut modifier l’ordre des candidats ou les métadonnées de révision, mais n’écrit jamais dans MEMORY.md et ne promeut jamais un candidat à lui seul.
Couverture des rapports d’essais fantômes d’assurance qualité
QA Lab inclut un scénario qui génère uniquement un rapport afin d’explorer comment un futur essai fantôme de Dreaming pourrait examiner une mémoire candidate avant sa promotion : un agent compare une réponse de référence à une réponse pouvant utiliser la mémoire candidate, puis rédige un rapport local comportant un verdict, une justification et des indicateurs de risque. Cette couverture est limitée à l’assurance qualité : elle vérifie que l’artefact de rapport reste distinct deMEMORY.md et que l’agent n’affirme jamais que la candidate a été promue. Elle n’ajoute aucun comportement d’essai fantôme en production et ne modifie pas le moteur de promotion de la phase approfondie.
L’exécuteur d’essais fantômes de memory-core conserve le même contrat de génération de rapport uniquement pour les chemins de code nécessitant un artefact stable. Il accepte la candidate, le prompt d’essai, le résultat de référence, le résultat avec la candidate, le verdict, la justification, les indicateurs de risque et les références des preuves, puis rédige un rapport contenant promotion action: report-only. Les verdicts favorables correspondent à une recommandation promote, les verdicts neutres à defer et les verdicts défavorables à reject ; aucun d’eux n’écrit dans MEMORY.md ni n’applique la promotion de la phase approfondie.
Planification
Lorsqu’il est activé,memory-core gère automatiquement une tâche Cron pour un balayage Dreaming complet, dédupliquée entre l’espace de travail principal de l’environnement d’exécution et les espaces de travail d’agents configurés, afin que la multiplication des espaces de travail de sous-agents n’exclue pas le fichier DREAMS.md ni l’état de la mémoire de l’agent principal.
Démarrage rapide
- Activer Dreaming
- Fréquence de balayage personnalisée
Commande oblique
/dreaming on et /dreaming off nécessitent le statut de propriétaire pour les appelants d’un canal ou operator.admin pour les clients du Gateway. /dreaming status et /dreaming help sont en lecture seule.
Flux de travail CLI
- Aperçu de la promotion / application
- Expliquer la promotion
- Aperçu du banc d’essai REM
memory promote utilise par défaut les seuils de la phase approfondie, sauf s’ils sont remplacés par des options CLI.Principales valeurs par défaut
Tous les paramètres se trouvent sousplugins.entries.memory-core.config.dreaming.
boolean
défaut:"false"
Active ou désactive le balayage Dreaming.
string
défaut:"0 3 * * *"
Fréquence Cron du balayage Dreaming complet.
string
Remplacement facultatif du modèle du sous-agent Dream Diary. Utilisez une valeur canonique
provider/model lorsque vous définissez également une liste d’autorisation allowedModels pour le sous-agent.number
défaut:"160"
Nombre maximal estimé de jetons conservés pour chaque extrait de rappel à court terme promu dans
MEMORY.md. La provenance du classement reste visible.La plupart des politiques de phase, des seuils et des comportements de stockage sont des détails d’implémentation internes. Consultez la référence de configuration de la mémoire pour obtenir la liste complète des clés.
Interface utilisateur Dreams
Lorsqu’il est activé, l’onglet Dreams du Gateway affiche :- l’état d’activation actuel de Dreaming
- l’état de chaque phase et la présence du balayage géré
- les nombres d’éléments à court terme, ancrés, de signaux et promus aujourd’hui
- l’heure de la prochaine exécution planifiée
- une voie Scene ancrée distincte pour les entrées préparées de relecture historique
- un lecteur Dream Diary extensible reposant sur
doctor.memory.dreamDiary