Dreaming (sperimentale)
Dreaming è il passaggio di consolidamento della memoria in background inmemory-core.
Si chiama “dreaming” perché il sistema rivisita ciò che è emerso durante la giornata
e decide cosa vale la pena conservare come contesto durevole.
Dreaming è sperimentale, opt-in e disattivato per impostazione predefinita.
Cosa fa dreaming
- Traccia gli eventi di richiamo a breve termine dagli hit di
memory_searchinmemory/YYYY-MM-DD.md. - Valuta questi candidati di richiamo con segnali ponderati.
- Promuove in
MEMORY.mdsolo i candidati qualificati.
Segnali di promozione
Dreaming combina quattro segnali:- Frequenza: quanto spesso è stato richiamato lo stesso candidato.
- Rilevanza: quanto erano forti i punteggi di richiamo quando è stato recuperato.
- Diversità delle query: quanti intenti di query distinti lo hanno fatto emergere.
- Recenza: ponderazione temporale sui richiami recenti.
Pesi dei segnali
| Segnale | Peso | Descrizione |
|---|---|---|
| Frequenza | 0.35 | Quante volte è stata richiamata la stessa voce |
| Rilevanza | 0.35 | Punteggi medi di richiamo quando viene recuperata |
| Diversità | 0.15 | Conteggio degli intenti di query distinti che la fanno emergere |
| Recenza | 0.15 | Decadimento temporale (emivita di 14 giorni) |
Come funziona
- Tracciamento dei richiami — Ogni hit di
memory_searchviene registrato inmemory/.dreams/short-term-recall.jsoncon conteggio dei richiami, punteggi e hash della query. - Valutazione pianificata — Con la cadenza configurata, i candidati vengono classificati usando segnali ponderati. Tutte le soglie devono essere superate contemporaneamente.
- Promozione — Le voci qualificate vengono aggiunte a
MEMORY.mdcon un timestamp di promozione. - Pulizia — Le voci già promosse vengono escluse dai cicli futuri. Un lock del file impedisce esecuzioni concorrenti.
Modalità
dreaming.mode controlla la cadenza e le soglie predefinite:
| Modalità | Cadenza | minScore | minRecallCount | minUniqueQueries |
|---|---|---|---|---|
off | Disabilitata | — | — | — |
core | Ogni giorno alle 3:00 | 0.75 | 3 | 2 |
rem | Ogni 6 ore | 0.85 | 4 | 3 |
deep | Ogni 12 ore | 0.80 | 3 | 3 |
Modello di pianificazione
Quando dreaming è abilitato,memory-core gestisce automaticamente la pianificazione ricorrente.
Non è necessario creare manualmente un cron job per questa funzionalità.
Puoi comunque regolare il comportamento con override espliciti come:
dreaming.frequency(espressione cron)dreaming.timezonedreaming.limitdreaming.minScoredreaming.minRecallCountdreaming.minUniqueQueries