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
Фаза REM
- Формирует сводки по темам и размышлениям на основе свежих краткосрочных следов.
- Записывает управляемый блок
## 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удаляют эти подготовленные артефакты заполнения, не затрагивая обычные записи дневника и актуальное краткосрочное припоминание.
Сигналы ранжирования глубокой фазы
Ранжирование глубокой фазы использует шесть взвешенных базовых сигналов и подкрепление фаз:
Срабатывания в лёгкой фазе и фазе 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
- Пользовательская периодичность проходов
Команда с косой чертой
/dreaming on и /dreaming off требуют статуса владельца для вызывающих сторон канала или operator.admin для клиентов Gateway. /dreaming status и /dreaming help доступны только для чтения.
Рабочий процесс CLI
- Предпросмотр и применение переноса
- Объяснение переноса
- Предпросмотр стенда REM
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. Происхождение данных ранжирования остаётся видимым.Большинство правил фаз, пороговых значений и особенностей работы хранилища относятся к внутренним деталям реализации. Полный список ключей приведён в справочнике по настройке памяти.
Интерфейс сновидений
Когда функция включена, вкладка сновидений в Gateway показывает:- текущее состояние включения Dreaming
- состояние отдельных фаз и наличие управляемого прохода
- количество краткосрочных, обоснованных и перенесённых сегодня элементов, а также сигналов
- время следующего запланированного запуска
- отдельный обоснованный контур сцены для подготовленных записей исторического воспроизведения
- раскрываемое средство чтения дневника сновидений на основе
doctor.memory.dreamDiary