Skip to main content
Dreaming — це фонова система консолідації пам’яті в memory-core. Вона переносить виразні короткострокові сигнали до довготривалої пам’яті, зберігаючи процес зрозумілим і придатним для перевірки.
Dreaming є добровільною функцією та початково вимкнена.

Що записує Dreaming

  • Машинний стан у memory/.dreams/ (сховище відтворення, сигнали фаз, контрольні точки приймання даних, блокування).
  • Зручні для читання результати у DREAMS.md (або наявний dreams.md) і необов’язкові файли звітів про фази в memory/dreaming/<phase>/YYYY-MM-DD.md.
Довготривале підвищення рівня, як і раніше, записує дані лише до MEMORY.md.

Модель фаз

Dreaming виконує три узгоджені фази за один цикл у такому порядку: легка -> REM -> глибока. Це внутрішні фази реалізації, а не окремі режими, які налаштовує користувач.
  • Зчитує недавній стан короткострокового відтворення, щоденні файли пам’яті та редаговані стенограми сеансів, якщо вони доступні.
  • Усуває дублікати сигналів і готує рядки-кандидати.
  • Записує керований блок ## Light Sleep, коли сховище передбачає вбудоване виведення.
  • Записує сигнали підсилення для подальшого глибокого ранжування.
  • Ніколи не записує до MEMORY.md.
  • Створює підсумки тем і міркувань на основі недавніх короткострокових слідів.
  • Записує керований блок ## REM Sleep, коли сховище передбачає вбудоване виведення.
  • Записує сигнали підсилення REM, які використовуються для глибокого ранжування.
  • Ніколи не записує до MEMORY.md.
  • Ранжує кандидатів за допомогою зваженого оцінювання та порогових умов (minScore, minRecallCount і minUniqueQueries мають виконуватися одночасно).
  • Перед записуванням повторно завантажує фрагменти з актуальних щоденних файлів, тому застарілі або видалені фрагменти пропускаються.
  • Додає підвищені записи до MEMORY.md.
  • Записує підсумок ## Deep Sleep до DREAMS.md і, за бажанням, до memory/dreaming/deep/YYYY-MM-DD.md.

Приймання стенограм сеансів

Dreaming може додавати редаговані стенограми сеансів до свого корпусу. За наявності стенограми надходять до легкої фази разом із сигналами щоденної пам’яті та слідами відтворення. Особистий і конфіденційний вміст редагується до приймання.

Щоденник сновидінь

Dreaming веде оповідний Щоденник сновидінь у DREAMS.md. Коли після кожної фази накопичено достатньо матеріалу, memory-core запускає у фоновому режимі спробу виконання субагента й додає короткий запис до щоденника, використовуючи початкову модель середовища виконання, якщо не налаштовано dreaming.model. Якщо налаштована модель недоступна, виконання щоденника один раз повторюється з початковою моделлю сеансу; у разі помилок довіри або списку дозволених моделей повторних спроб немає, а помилки залишаються видимими в журналах замість непомітного переходу до типового запису щоденника.
Щоденник призначений для читання людиною в інтерфейсі сновидінь, а не як джерело підвищення рівня. Артефакти щоденника та звітів виключаються з короткострокового підвищення рівня; лише обґрунтовані фрагменти пам’яті можуть бути підвищені до MEMORY.md.
Також є канал обґрунтованого історичного дозаповнення для перевірки та відновлення:
  • memory rem-harness --path ... --grounded показує попередній перегляд обґрунтованого виведення щоденника з історичних нотаток YYYY-MM-DD.md.
  • memory rem-backfill --path ... записує оборотні обґрунтовані записи щоденника до DREAMS.md.
  • memory rem-backfill --path ... --stage-short-term готує обґрунтованих довготривалих кандидатів у тому самому короткостроковому сховищі доказів, яке використовує звичайна глибока фаза.
  • memory rem-backfill --rollback і --rollback-short-term видаляють ці підготовлені артефакти дозаповнення, не змінюючи звичайні записи щоденника чи актуальне короткострокове відтворення.
Control UI надає той самий процес дозаповнення та скидання щоденника на вкладці пам’яті агента (сторінка агентів), щоб можна було переглянути результати у сцені сновидіння, перш ніж вирішувати, чи заслуговують обґрунтовані кандидати на підвищення рівня. Окремий канал обґрунтованої сцени показує, які підготовлені короткострокові записи надійшли з історичного відтворення, які підвищені елементи були створені переважно на основі обґрунтованих даних, і дає змогу очистити лише підготовлені записи, що походять виключно з обґрунтованих даних, не змінюючи актуальний короткостроковий стан.

Сигнали глибокого ранжування

Глибоке ранжування використовує шість зважених базових сигналів разом із підсиленням фаз: Збіги легкої фази та фази REM додають невелике підсилення зі спаданням актуальності з memory/.dreams/phase-signals.json. Результати тіньового випробування можуть накладатися на базову оцінку як сигнал для перевірки до будь-якого довготривалого запису: корисне випробування дає кандидату невелике обмежене підсилення, нейтральне залишає його відкладеним, а шкідливе позначає його відхиленим для цього проходу оцінювання. Цей сигнал призначений лише для звітування — він може змінювати порядок кандидатів або метадані перевірки, але ніколи не записує до MEMORY.md і самостійно не підвищує рівень кандидата.

Покриття звітів тіньових випробувань у QA

QA Lab містить сценарій, призначений лише для звітування, щоб дослідити, як майбутнє тіньове випробування Dreaming могло б перевіряти пам’ять-кандидата до підвищення рівня: агент порівнює базову відповідь із відповіддю, яка може використовувати пам’ять-кандидата, а потім записує локальний звіт із вердиктом, причиною та прапорцями ризику. Це покриття обмежене QA — воно перевіряє, що артефакт звіту залишається окремим від MEMORY.md і що агент ніколи не стверджує, ніби кандидата було підвищено. Воно не додає тіньових випробувань до робочого середовища та не змінює механізм підвищення рівня глибокої фази. Засіб запуску тіньових випробувань memory-core дотримується того самого контракту лише для звітування для шляхів коду, яким потрібен стабільний артефакт. Він приймає кандидата, запит випробування, базовий результат, результат кандидата, вердикт, причину, прапорці ризику та посилання на докази, а потім записує звіт за допомогою promotion action: report-only. Корисні вердикти зіставляються з рекомендацією promote, нейтральні — з defer, а шкідливі — з reject. Жоден із них не записує до MEMORY.md і не застосовує підвищення рівня глибокої фази.

Планування

Коли функцію ввімкнено, memory-core автоматично керує одним завданням Cron для повного циклу Dreaming, усуваючи дублікати між основним робочим простором середовища виконання та всіма налаштованими робочими просторами агентів, щоб розгалуження робочих просторів субагентів не виключало DREAMS.md і стан пам’яті головного агента.

Швидкий початок

Команда з косою рискою

/dreaming on і /dreaming off вимагають статусу власника для викликів із каналів або operator.admin для клієнтів Gateway. /dreaming status і /dreaming help доступні лише для читання.

Робочий процес CLI

Ручний memory promote початково використовує порогові значення глибокої фази, якщо їх не перевизначено прапорцями CLI.

Ключові початкові значення

Усі налаштування розміщено в plugins.entries.memory-core.config.dreaming.
boolean
за замовчуванням:"false"
Увімкнення або вимкнення циклу Dreaming.
string
за замовчуванням:"0 3 * * *"
Періодичність Cron для повного циклу Dreaming.
string
Необов’язкове перевизначення моделі субагента для Щоденника сновидінь. Використовуйте канонічне значення provider/model, якщо також задаєте список дозволених моделей субагента allowedModels.
number
за замовчуванням:"160"
Максимальна приблизна кількість токенів, збережених із кожного фрагмента короткострокового відтворення, підвищеного до MEMORY.md. Походження ранжування залишається видимим.
dreaming.model потребує plugins.entries.memory-core.subagent.allowModelOverride: true. Щоб обмежити його, також установіть plugins.entries.memory-core.subagent.allowedModels. Автоматична повторна спроба охоплює лише помилки недоступності моделі; помилки довіри або списку дозволених моделей залишаються видимими в журналах без непомітного переходу до резервного варіанта.
Більшість правил фаз, порогових значень і поведінки сховища є внутрішніми деталями реалізації. Повний список ключів наведено в довіднику з налаштування пам’яті.

Інтерфейс сновидінь

Коли функцію ввімкнено, вкладка Сновидіння в Gateway показує:
  • поточний стан увімкнення Dreaming
  • стан кожної фази та наявність керованого циклу
  • кількість короткострокових і обґрунтованих записів, сигналів і записів, підвищених сьогодні
  • час наступного запланованого запуску
  • окремий канал обґрунтованої сцени для підготовлених записів історичного відтворення
  • розгортаний засіб перегляду Щоденника сновидінь на основі doctor.memory.dreamDiary

Пов’язані матеріали