Что такое память в OpenClaw
Память в OpenClaw — это механизм, который позволяет ИИ-агенту сохранять контекст разговора между сессиями и вести несколько параллельных бесед. Без памяти агент каждый раз начинал бы разговор с нуля — как человек с амнезией. С памятью он помнит ваши предпочтения, имена, проекты и договорённости.
OpenClaw реализует память через три уровня: сессии (краткосрочный контекст), файлы workspace (долгосрочная память) и систему компактации (оптимизация токенов).
Как работают сессии
Сессия — это контекст конкретного разговора. Каждый чат с агентом имеет свою сессию с историей сообщений. OpenClaw поддерживает три режима управления сессиями:
main — все личные сообщения объединены в одну сессиюper-peer — отдельная сессия на каждого отправителяper-channel-peer — отдельная сессия на каждый канал плюс отправительРежим per-channel-peer подходит для большинства: каждый чат в Telegram, Discord или другом мессенджере получает свою историю, и агент не путает контексты разных разговоров.
Настройка в конфиге:
{
"session": {
"dmScope": "per-channel-peer"
}
}
Сброс сессий
Сессии можно сбрасывать автоматически — например, раз в день, чтобы агент не накапливал устаревший контекст:
{
"session": {
"reset": {
"mode": "daily",
"atHour": 4,
"idleMinutes": 120
}
}
}
Здесь сессия сбрасывается каждый день в 4:00, но только если агент был неактивен более 2 часов.
Файлы долгосрочной памяти
Главная сила OpenClaw — не только история сообщений, а файлы workspace, которые агент обновляет сам:
Агент может читать и обновлять эти файлы через инструмент memory. Это значит, что через неделю общения агент уже знает ваше имя, часовой пояс, стиль общения и текущие проекты — без того, чтобы вы каждый раз напоминали.
Какие файлы видит агент
OpenClaw автоматически инжектирует определённые файлы в контекст агента при каждом ходе:
| Файл | Назначение |
|---|---|
| AGENTS.md | Правила работы, память, безопасность, поведение в группах |
| SOUL.md | Голос, характер, стиль общения |
| USER.md | Информация о пользователе |
| IDENTITY.md | Имя, сущность, эмодзи агента |
| TOOLS.md | Заметки об окружении |
| MEMORY.md | Долгосрочная память |
Файл MEMORY.md загружается только в main-сессии. Это сделано для экономии токенов — в коротких сессиях агент работает без балласта.
Компактация: сжатие старых сообщений
Длинные разговоры потребляют много токенов. Компактация автоматически сжимает старые сообщения, сохраняя суть, но убирая детали:
{
"session": {
"compaction": {
"enabled": true,
"threshold": 80000
}
}
}
Порог threshold задаётся в символах. Когда сессия превышает этот размер, OpenClaw сжимает старые сообщения в краткое саммари. Агент продолжает помнить контекст, но не тратит токены на перечитывание всего разговора.
Dreaming: консолидация памяти во сне
Dreaming — это система фоновой консолидации памяти. Она работает аналогично тому, как человеческий мозг обрабатывает информацию во сне: выделяет важное, отбрасывает мусор, укрепляет связи.
Dreaming отключён по умолчанию — это opt-in функция.
Три фазы консолидации
| Фаза | Назначение | Пишет в MEMORY.md? |
|---|---|---|
| Light | Сортировка недавнего материала | Нет |
| Deep | Оценка и продвижение долговечных кандидатов | Да |
| REM | Рефлексия по темам и идеям | Нет |
Каждый свип запускает фазы по порядку: light → REM → deep.
Как включить
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": { "enabled": true }
}
}
}
}
}
По умолчанию dreaming запускается каждый день в 3:00. Расписание настраивается через dreaming.frequency.
Как агент решает, что запомнить
OpenClaw использует систему весов для ранжирования записей памяти:
| Сигнал | Вес | Описание |
|---|---|---|
| Frequency | 0.24 | Сколько сигналов накопила запись |
| Relevance | 0.30 | Среднее качество извлечения |
| Query diversity | 0.15 | Уникальные контексты запросов |
| Recency | 0.15 | Скоринг свежести |
| Consolidation | 0.10 | Многодневная повторяемость |
| Conceptual richness | 0.06 | Плотность концептуальных тегов |
Записи, которые всплывают в разных контекстах и остаются актуальными несколько дней, получают высокий вес и продвигаются в долгосрочную память. Одноразовые заметки постепенно забываются.
Управление dreaming
# Slash-команды в чате
/dreaming status
/dreaming on
/dreaming off
# CLI на сервере
openclaw memory promote --apply # применить продвижение
openclaw memory status --deep # глубокий статус
Memory Wiki: память как база знаний
Плагин memory-wiki превращает долгосрочную память в структурированное хранилище знаний. Это не замена MEMORY.md, а дополнительный слой сверху.
Что добавляет memory-wiki:
wiki_search, wiki_get, wiki_apply, wiki_lintРежимы работы
Структура хранилища
/
AGENTS.md
WIKI.md
index.md
inbox.md
entities/ — люди, системы, проекты
concepts/ — идеи, паттерны, политики
syntheses/ — скомпилированные саммари
sources/ — импортированный сырой материал
reports/ — генерируемые дашборды
Memory Wiki полезна, когда агент работает с большими объёмами знаний и нужна не просто память, а управляемая база с провенансом и актуальностью.
Настройка для реального использования
Базовая конфигурация
Для большинства пользователей достаточно настроить режим сессий и включить компактацию:
{
"session": {
"dmScope": "per-channel-peer",
"compaction": {
"enabled": true,
"threshold": 80000
}
}
}
Продвинутая конфигурация
Для агентов, которые работают с большими проектами, добавьте dreaming и memory-wiki:
{
"session": {
"dmScope": "per-channel-peer",
"compaction": { "enabled": true, "threshold": 80000 }
},
"plugins": {
"entries": {
"memory-core": {
"config": { "dreaming": { "enabled": true } }
},
"memory-wiki": {
"enabled": true,
"config": {
"vaultMode": "bridge",
"render": { "createDashboards": true }
}
}
}
}
}
Практические советы
/compact вручную, если чувствуете, что агент «забывает» ранний контекст. Компактация сожмёт старые сообщения и освободит место./dreaming status. Если dreaming включён, но записи не продвигаются — возможно, порог слишком высокий.FAQ
Что происходит с памятью при перезапуске агента?
Сессии сбрасываются (если настроен сброс), но файлы MEMORY.md и USER.md сохраняются на диске. Агент загружает их при каждом старте и продолжает помнить всё, что записано в этих файлах.
Можно ли экспортировать память агента?
Да. Все файлы памяти — это обычные Markdown-файлы в workspace агента. Скопируйте папку workspace, и вся память сохранится. Это работает и при миграции между серверами.
Сколько токенов потребляет память?
MEMORY.md и USER.md инжектируются в каждый ход агента. Файл на 2000 символов потребляет примерно 500-700 токенов за ход. Компактация помогает контролировать общий размер контекста.
Помнит ли агент содержимое старых сессий?
Не напрямую. После сброса сессии история сообщений теряется. Но если важная информация была записана в MEMORY.md — агент продолжит её помнить. Поэтому dreaming так полезен: он автоматически извлекает важное из сессий в долгосрочную память.
Чем memory-wiki отличается от обычной памяти?
Обычная память (MEMORY.md) — это текстовый файл, который агент читает целиком. Memory-wiki — это структурированная база с поиском, провенансом и дашбордами. Wiki подходит для больших объёмов знаний, где важно отслеживать актуальность и источники.