Перейти до основного вмісту

Dreaming (експериментально)

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

Що записує dreaming

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

Модель фаз

Dreaming використовує три кооперативні фази:
ФазаПризначенняПостійний запис
LightСортує та підготовлює нещодавній короткостроковий матеріалНі
DeepОцінює та просуває довготривалі кандидатиТак (MEMORY.md)
REMОсмислює теми та повторювані ідеїНі
Ці фази є внутрішніми деталями реалізації, а не окремими користувацькими «режимами».

Фаза Light

Фаза Light поглинає нещодавні щоденні сигнали пам’яті та сліди recall, усуває дублікати й підготовлює рядки-кандидати.
  • Читає з короткострокового стану recall, нещодавніх щоденних файлів пам’яті та відредагованих транскриптів сесій, якщо вони доступні.
  • Записує керований блок ## Light Sleep, якщо сховище підтримує вбудований вивід.
  • Фіксує сигнали підкріплення для подальшого глибокого ранжування.
  • Ніколи не записує в MEMORY.md.

Фаза Deep

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

Фаза REM

Фаза REM витягує шаблони та рефлексивні сигнали.
  • Формує підсумки тем і рефлексій на основі нещодавніх короткострокових слідів.
  • Записує керований блок ## REM Sleep, якщо сховище підтримує вбудований вивід.
  • Фіксує сигнали підкріплення REM, які використовуються для глибокого ранжування.
  • Ніколи не записує в MEMORY.md.

Поглинання транскриптів сесій

Dreaming може поглинати відредаговані транскрипти сесій до корпусу dreaming. Коли транскрипти доступні, вони подаються у фазу Light разом із щоденними сигналами пам’яті та слідами recall. Особистий і чутливий вміст редагується перед поглинанням.

Dream Diary

Dreaming також веде наративний Dream Diary у DREAMS.md. Після того як кожна фаза накопичує достатньо матеріалу, memory-core виконує фоновий хід субагента в режимі best-effort (використовуючи модель середовища виконання за замовчуванням) і додає короткий запис щоденника. Цей щоденник призначений для читання людьми в інтерфейсі Dreams, а не є джерелом просування. Також є окремий grounded-канал історичного дозаповнення для перевірки та відновлення:
  • memory rem-harness --path ... --grounded показує попередній перегляд grounded-виводу щоденника з історичних нотаток YYYY-MM-DD.md.
  • memory rem-backfill --path ... записує зворотні grounded-записи щоденника в DREAMS.md.
  • memory rem-backfill --path ... --stage-short-term підготовлює grounded довготривалі кандидати в те саме сховище короткострокових доказів, яке вже використовує звичайна фаза Deep.
  • memory rem-backfill --rollback і --rollback-short-term видаляють ці підготовлені артефакти дозаповнення, не зачіпаючи звичайні записи щоденника або поточний короткостроковий recall.
Control UI надає той самий процес дозаповнення/скидання щоденника, щоб ви могли переглянути результати в сцені Dreams, перш ніж вирішувати, чи заслуговують grounded-кандидати на просування. Scene також показує окремий grounded-канал, щоб ви могли бачити, які підготовлені короткострокові записи надійшли з історичного відтворення, які просунуті елементи були спричинені grounded-процесом, а також очищати лише підготовлені записи, що належать лише grounded-процесу, не торкаючись звичайного поточного короткострокового стану.

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

Глибоке ранжування використовує шість зважених базових сигналів плюс підкріплення фаз:
СигналВагаОпис
Частота0.24Скільки короткострокових сигналів накопичив запис
Релевантність0.30Середня якість вилучення для запису
Різноманітність запитів0.15Окремі контексти запиту/дня, у яких він з’являвся
Нещодавність0.15Оцінка свіжості з часовим затуханням
Консолідація0.10Сила повторюваності впродовж кількох днів
Концептуальна насиченість0.06Щільність тегів концептів із фрагмента/шляху
Попадання фаз Light і REM додають невелике посилення із затуханням за нещодавністю з memory/.dreams/phase-signals.json.

Планування

Коли цю функцію ввімкнено, memory-core автоматично керує одним cron-завданням для повного циклу dreaming. Кожен цикл виконує фази по порядку: light -> REM -> deep. Поведінка стандартної періодичності:
НалаштуванняЗначення за замовчуванням
dreaming.frequency0 3 * * *

Швидкий старт

Увімкніть dreaming:
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}
Увімкніть dreaming із власною періодичністю циклу:
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true,
            "timezone": "America/Los_Angeles",
            "frequency": "0 */6 * * *"
          }
        }
      }
    }
  }
}

Slash-команда

/dreaming status
/dreaming on
/dreaming off
/dreaming help

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

Використовуйте просування через CLI для попереднього перегляду або ручного застосування:
openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
Ручна команда memory promote за замовчуванням використовує пороги фази Deep, якщо їх не перевизначено прапорцями CLI. Пояснити, чому конкретний кандидат буде або не буде просунутий:
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
Перегляньте REM-рефлексії, кандидатні істини та вивід глибокого просування без запису будь-чого:
openclaw memory rem-harness
openclaw memory rem-harness --json

Ключові значення за замовчуванням

Усі налаштування розташовані в plugins.entries.memory-core.config.dreaming.
КлючЗначення за замовчуванням
enabledfalse
frequency0 3 * * *
Політика фаз, пороги та поведінка сховища є внутрішніми деталями реалізації (не користувацькими налаштуваннями). Повний перелік ключів див. у довіднику з конфігурації Memory.

Інтерфейс Dreams

Коли цю функцію ввімкнено, вкладка Dreams у Gateway показує:
  • поточний стан увімкнення dreaming
  • статус на рівні фаз і наявність керованого циклу
  • кількість короткострокових, grounded, сигнальних і просунутих сьогодні записів
  • час наступного запланованого запуску
  • окремий grounded-канал Scene для підготовлених записів історичного відтворення
  • розгортаний читач Dream Diary, що працює на основі doctor.memory.dreamDiary

Пов’язане