---
read_when:
    - Вы хотите, чтобы повышение уровня памяти выполнялось автоматически
    - Вы хотите понять, что происходит на каждом этапе Dreaming
    - Вы хотите настроить консолидацию, не засоряя MEMORY.md
sidebarTitle: Dreaming
summary: Фоновая консолидация памяти с лёгкой, глубокой и REM-фазами, а также дневником сновидений
title: Dreaming
x-i18n:
    generated_at: "2026-07-13T18:02:44Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 501ab42cfdfa0216c308896aa8c1719b06b49d64a62afdb004e097102a376eac
    source_path: concepts/dreaming.md
    workflow: 16
---

Dreaming — это система фоновой консолидации памяти в `memory-core`. Она переносит устойчивые краткосрочные сигналы в долговременную память, сохраняя процесс объяснимым и доступным для проверки.

<Note>
Dreaming работает только при **явном включении** и по умолчанию отключён.
</Note>

## Что записывает Dreaming

- **Состояние системы** в `memory/.dreams/` (хранилище припоминания, сигналы фаз, контрольные точки приёма данных, блокировки).
- **Доступные для чтения человеком данные** в `DREAMS.md` (или существующий `dreams.md`) и необязательные файлы отчётов по фазам в `memory/dreaming/<phase>/YYYY-MM-DD.md`.

При переносе в долговременную память данные по-прежнему записываются только в `MEMORY.md`.

## Модель фаз

За каждый проход Dreaming последовательно выполняет три совместно работающие фазы: лёгкую -> REM -> глубокую. Это внутренние фазы реализации, а не отдельные режимы, настраиваемые пользователем.

| Фаза    | Назначение                                           | Долговременная запись |
| ------- | ---------------------------------------------------- | --------------------- |
| Лёгкая  | Сортировка и подготовка свежих краткосрочных данных  | Нет                   |
| REM     | Анализ тем и повторяющихся идей                      | Нет                   |
| Глубокая | Оценка и перенос кандидатов в долговременную память | Да (`MEMORY.md`) |

<AccordionGroup>
  <Accordion title="Лёгкая фаза">
    - Считывает свежее состояние краткосрочного припоминания, ежедневные файлы памяти и отредактированные расшифровки сеансов, если они доступны.
    - Удаляет дублирующиеся сигналы и подготавливает строки-кандидаты.
    - Записывает управляемый блок `## Light Sleep`, если хранилище предусматривает встроенный вывод.
    - Регистрирует сигналы подкрепления для последующего ранжирования в глубокой фазе.
    - Никогда не записывает данные в `MEMORY.md`.

  </Accordion>
  <Accordion title="Фаза REM">
    - Формирует сводки по темам и размышлениям на основе свежих краткосрочных следов.
    - Записывает управляемый блок `## REM Sleep`, если хранилище предусматривает встроенный вывод.
    - Регистрирует сигналы подкрепления REM, используемые при ранжировании в глубокой фазе.
    - Никогда не записывает данные в `MEMORY.md`.

  </Accordion>
  <Accordion title="Глубокая фаза">
    - Ранжирует кандидатов с помощью взвешенной оценки и пороговых условий (все `minScore`, `minRecallCount` и `minUniqueQueries` должны быть выполнены).
    - Перед записью повторно загружает фрагменты из актуальных ежедневных файлов, поэтому устаревшие или удалённые фрагменты пропускаются.
    - Добавляет перенесённые записи в `MEMORY.md`.
    - Записывает сводку `## Deep Sleep` в `DREAMS.md` и при необходимости в `memory/dreaming/deep/YYYY-MM-DD.md`.

  </Accordion>
</AccordionGroup>

## Приём расшифровок сеансов

Dreaming может добавлять отредактированные расшифровки сеансов в свой корпус данных. Когда расшифровки доступны, они поступают в лёгкую фазу вместе с сигналами ежедневной памяти и следами припоминания. Перед приёмом персональные и конфиденциальные данные редактируются.

## Дневник сновидений

Dreaming ведёт повествовательный **дневник сновидений** в `DREAMS.md`. После того как в каждой фазе накапливается достаточно материала, `memory-core` в фоновом режиме по мере возможности запускает ход субагента и добавляет краткую запись в дневник, используя модель среды выполнения по умолчанию, если не настроен `dreaming.model`. Если настроенная модель недоступна, дневник повторяет запуск один раз с моделью сеанса по умолчанию; ошибки доверия или списка разрешённых моделей не приводят к повторной попытке и остаются видимыми в журналах вместо незаметного перехода к универсальной записи дневника.

<Note>
Дневник предназначен для чтения человеком в интерфейсе сновидений, а не для переноса данных. Артефакты дневника и отчётов исключены из переноса краткосрочной памяти; в `MEMORY.md` могут переноситься только фрагменты памяти, подкреплённые исходными данными.
</Note>

Также предусмотрен контур обоснованного исторического заполнения для проверки и восстановления:

<AccordionGroup>
  <Accordion title="Команды заполнения">
    - `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` удаляют эти подготовленные артефакты заполнения, не затрагивая обычные записи дневника и актуальное краткосрочное припоминание.

  </Accordion>
</AccordionGroup>

Control UI предоставляет тот же процесс заполнения и сброса дневника на вкладке памяти агента (страница агентов), чтобы можно было проверить результаты в сцене сновидений, прежде чем решать, заслуживают ли обоснованные кандидаты переноса. Отдельный обоснованный контур сцены показывает, какие подготовленные краткосрочные записи получены при историческом воспроизведении, какие перенесённые элементы были преимущественно обоснованными, а также позволяет удалить только подготовленные записи, относящиеся исключительно к обоснованным данным, не затрагивая актуальное состояние краткосрочной памяти.

## Сигналы ранжирования глубокой фазы

Ранжирование глубокой фазы использует шесть взвешенных базовых сигналов и подкрепление фаз:

| Сигнал                   | Вес  | Описание                                                 |
| ------------------------ | ---- | -------------------------------------------------------- |
| Релевантность            | 0.30 | Среднее качество извлечения записи                       |
| Частота                  | 0.24 | Количество накопленных записью краткосрочных сигналов     |
| Разнообразие запросов    | 0.15 | Количество различных контекстов запросов и дней, в которых она появлялась |
| Актуальность             | 0.15 | Оценка свежести с временным затуханием                    |
| Консолидация             | 0.10 | Устойчивость повторения на протяжении нескольких дней    |
| Концептуальная насыщенность | 0.06 | Плотность тегов понятий во фрагменте или пути          |

Срабатывания в лёгкой фазе и фазе 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.frequency` | `0 3 * * *`   |
| `dreaming.model`     | модель по умолчанию |

## Быстрый старт

<Tabs>
  <Tab title="Включение Dreaming">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
  <Tab title="Пользовательская периодичность проходов">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true,
                "timezone": "America/Los_Angeles",
                "frequency": "0 */6 * * *"
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

## Команда с косой чертой

```text
/dreaming status
/dreaming on
/dreaming off
/dreaming help
```

`/dreaming on` и `/dreaming off` требуют статуса владельца для вызывающих сторон канала или `operator.admin` для клиентов Gateway. `/dreaming status` и `/dreaming help` доступны только для чтения.

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

<Tabs>
  <Tab title="Предпросмотр и применение переноса">
    ```bash
    openclaw memory promote
    openclaw memory promote --apply
    openclaw memory promote --limit 5
    openclaw memory status --deep
    ```

    При ручном `memory promote` по умолчанию используются пороговые значения глубокой фазы, если они не переопределены флагами CLI.

  </Tab>
  <Tab title="Объяснение переноса">
    Объясните, почему конкретный кандидат будет или не будет перенесён:

    ```bash
    openclaw memory promote-explain "router vlan"
    openclaw memory promote-explain "router vlan" --json
    ```

  </Tab>
  <Tab title="Предпросмотр стенда REM">
    Просмотрите размышления REM, истины-кандидаты и результаты переноса глубокой фазы без записи данных:

    ```bash
    openclaw memory rem-harness
    openclaw memory rem-harness --json
    ```

  </Tab>
</Tabs>

## Основные значения по умолчанию

Все настройки находятся в `plugins.entries.memory-core.config.dreaming`.

<ParamField path="enabled" type="boolean" default="false">
  Включает или отключает проход Dreaming.
</ParamField>
<ParamField path="frequency" type="string" default="0 3 * * *">
  Периодичность Cron для полного прохода Dreaming.
</ParamField>
<ParamField path="model" type="string">
  Необязательное переопределение модели субагента дневника сновидений. Используйте каноническое значение `provider/model`, если также задаётся список разрешённых моделей субагента `allowedModels`.
</ParamField>
<ParamField path="phases.deep.maxPromotedSnippetTokens" type="number" default="160">
  Максимальное приблизительное количество токенов, сохраняемое из каждого фрагмента краткосрочного припоминания, перенесённого в `MEMORY.md`. Происхождение данных ранжирования остаётся видимым.
</ParamField>

<Warning>
`dreaming.model` требует `plugins.entries.memory-core.subagent.allowModelOverride: true`. Чтобы ограничить его, также задайте `plugins.entries.memory-core.subagent.allowedModels`. Автоматическая повторная попытка выполняется только при ошибках недоступности модели; ошибки доверия или списка разрешённых моделей остаются видимыми в журналах вместо незаметного перехода к резервному варианту.
</Warning>

<Note>
Большинство правил фаз, пороговых значений и особенностей работы хранилища относятся к внутренним деталям реализации. Полный список ключей приведён в [справочнике по настройке памяти](/ru/reference/memory-config#dreaming).
</Note>

## Интерфейс сновидений

Когда функция включена, вкладка **сновидений** в Gateway показывает:

- текущее состояние включения Dreaming
- состояние отдельных фаз и наличие управляемого прохода
- количество краткосрочных, обоснованных и перенесённых сегодня элементов, а также сигналов
- время следующего запланированного запуска
- отдельный обоснованный контур сцены для подготовленных записей исторического воспроизведения
- раскрываемое средство чтения дневника сновидений на основе `doctor.memory.dreamDiary`

## Связанные материалы

- [Память](/ru/concepts/memory)
- [CLI памяти](/ru/cli/memory)
- [Справочник по настройке памяти](/ru/reference/memory-config)
- [Поиск по памяти](/ru/concepts/memory-search)
