Memory Consolidation для Claude Code: ночной воркфлоу
Как работает ночная консолидация памяти для Claude Code, зачем она нужна и как её настроить самостоятельно — открытый исходный код.
Проблема: Claude Code каждый раз начинает с чистого листа
Представьте: вы неделю работаете над сложным проектом вместе с Claude Code. Объяснили архитектуру, стек, соглашения по именованию, ключевые решения. И вот вы открываете новую сессию — и всё. Пустота.
Начните новую сессию Claude Code на проекте, над которым работаете месяцами, — и он не знает ничего: ни команд сборки, ни тестового воркфлоу, ни обходного пути для той странной проблемы с окружением, ни соглашений по именованию вашей команды.
Это не баг — это фундаментальная архитектурная особенность LLM: каждая сессия стартует с пустым контекстным окном. Но пока одни мирятся с этим ограничением, другие уже автоматизировали его обход. Именно об этом — ночной воркфлоу консолидации памяти для Claude Code.
Как устроена память Claude Code
У Claude Code есть две дополняющих друг друга системы памяти: CLAUDE.md — файлы с инструкциями, которые вы пишете сами, чтобы дать Клоду постоянный контекст, и Auto Memory — заметки, которые Claude пишет себе сам на основе ваших правок и предпочтений.
Auto Memory — это возможность агента автоматически записывать полезную информацию, обнаруженную в ходе сессии, в постоянный файл памяти (CLAUDE.md). Вместо того чтобы требовать от разработчика ручного обновления файла, Claude сам определяет, что стоит сохранить — исправления ошибок, флаги команд, соглашения проекта — и записывает это без подсказок. Каждая следующая сессия начинается с уже загруженными накопленными знаниями.
Но здесь кроется ловушка. Функция автопамяти, которая отслеживает ваши правки и предпочтения, ценна, но со временем деградирует. После 10 сессий файлы памяти нередко содержат 30% избыточных записей. После 50 сессий противоречивые факты накапливаются друг на друге: вы три недели назад перешли с Express на Fastify, но старая заметка «API использует Express» никуда не делась; три разные сессии записали одну и ту же особенность команды сборки немного по-разному. Эти конфликты активно сбивают модель с толку, вместо того чтобы помогать ей.
AutoDream: ночная «фаза REM» для вашего ИИ-агента
Claude Code AutoDream — это система, которая наводит порядок. Это фоновый процесс консолидации памяти, который запускается в периоды простоя, просматривает файлы памяти и реорганизует их — удаляет устаревшие записи, объединяет дубликаты и обновляет устаревший контекст. Всё это без необходимости управлять процессом вручную.
«Auto Memory без Auto Dream — это человек, который делает заметки, но никогда не разбирает блокнот. Auto Dream без Auto Memory — просто нечего консолидировать. Нужны оба.»
Название отсылает к аналогии со сном: так же, как сон (особенно фаза REM) — это время, когда мозг консолидирует, реорганизует и очищает дневные переживания в долгосрочную память, AutoDream делает то же самое с сохранённым контекстом Claude Code.
Четыре фазы цикла консолидации
Когда запускается AutoDream, он следует структурированному четырёхфазному процессу. Каждая фаза имеет конкретную цель, и вместе они превращают разрозненные заметки сессий в организованные знания о проекте.
graph TD
A[🔍 Фаза 1: Инвентаризация] --> B[🔎 Фаза 2: Сканирование сессий]
B --> C[✍️ Фаза 3: Консолидация и запись]
C --> D[📋 Фаза 4: Обновление MEMORY.md]
D --> E[✅ Память чистая и актуальная]
style A fill:#4A90D9,color:#fff
style B fill:#7B68EE,color:#fff
style C fill:#50C878,color:#fff
style D fill:#FF8C00,color:#fff
style E fill:#2ECC71,color:#fff
Фаза 1 — Инвентаризация. Claude читает текущую директорию памяти и оценивает, что в ней есть. Открывает MEMORY.md (индексный файл), сканирует список тематических файлов и строит ментальную карту текущего состояния памяти.
Фаза 2 — Целевое сканирование. Система извлекает сигналы об важных решениях: выборе архитектуры, инструментов, изменениях воркфлоу. Узкий поиск сделан намеренно — исчерпывающее чтение 500+ транскриптов сессий сожгло бы токены и время при убывающей отдаче.
Фаза 3 — Консолидация. Claude объединяет новую информацию с существующими тематическими файлами и выполняет критическое обслуживание: конвертирует относительные даты в абсолютные («Вчера мы решили использовать Redis» превращается в «15.03.2026 мы решили использовать Redis»), удаляет противоречащие факты — если вы перешли с Express на Fastify, старая запись «API использует Express» удаляется.
Фаза 4 — Обновление индекса. Финальная фаза сосредоточена на поддержании MEMORY.md в пределах 200 строк (порога загрузки при старте). Удаляются указатели на несуществующие файлы, добавляются ссылки на новые важные воспоминания, разрешаются противоречия между индексом и содержимым файлов. Файлы, не требующие изменений, остаются нетронутыми — AutoDream хирургически точен, а не переписывает всё при каждом запуске.
Когда и как запускается ночной воркфлоу
Условия срабатывания по умолчанию — 24 часа плюс 5 сессий — хорошо работают для активной разработки. Оба условия должны выполняться одновременно: одна длинная двухдневная сессия не запустит цикл (слишком мало сессий), десять быстрых сессий за два часа тоже не запустят (слишком мало времени). Это двойной шлюз, предотвращающий лишние запуски для малоактивных проектов и обеспечивающий регулярную чистку для активных.
В одном задокументированном случае система консолидировала память из 913 сессий примерно за 8–9 минут. Это весомо, но процесс работает в фоне, не блокируя вашу работу.
Ручная активация
Если вы переименовали половину кодовой базы, мигрировали фреймворки или изменили структуру API, запустите ручной цикл командой «dream» или «consolidate my memory files» прямо в Claude Code.
/dream работает, другие получают ошибку «Unknown skill» — даже при включённой функции. Обходной путь: напрямую сказать Клоду «consolidate my memory files» или «run a dream cycle on my memory».Как выстроить собственный ночной воркфлоу: open source подход
Если вы хотите больше контроля, чем даёт AutoDream из коробки, — или работаете с локальными агентами, n8n и SSH — существует open source путь.
Проект n8n-claude-memory-agent предоставляет готовый n8n-воркфлоу, который оркестрирует Claude Code CLI через SSH, поддерживая контекст разговора через MCP Memory Service.
Воркфлоу автоматически извлекает релевантный контекст из предыдущих сессий с помощью семантического поиска, поддерживает автотегирование по 8 технологическим категориям (Docker, Git, Python, JavaScript, N8N, Claude, Database, Cloud), извлечение фактов по 6 паттернам важности и отслеживание сессий на основе UUID.
Вот как выглядит типичный ночной цикл с использованием cron и bash:
#!/bin/bash
# nightly_memory_consolidation.sh
# Запускается в 03:00 по cron: 0 3 * * * /path/to/nightly_memory_consolidation.sh
PROJECT_DIR="$HOME/projects/my-project"
MEMORY_DIR="$HOME/.claude/projects/my-project/memory"
LOG_FILE="$HOME/llm-data/daily-log/$(date +%Y-%m-%d).md"
echo "## $(date '+%H:%M') — Ночная консолидация памяти" >> "$LOG_FILE"
# 1. Проверяем размер MEMORY.md
LINES=$(wc -l < "$MEMORY_DIR/MEMORY.md" 2>/dev/null || echo 0)
echo "Строк в MEMORY.md: $LINES" >> "$LOG_FILE"
# 2. Если файл близок к порогу — запускаем консолидацию через Claude
if [ "$LINES" -gt 150 ]; then
cd "$PROJECT_DIR" || exit 1
claude --no-interactive -p "Consolidate my memory files. \
Merge duplicates, remove outdated entries, \
keep MEMORY.md under 200 lines." \
>> "$LOG_FILE" 2>&1
echo "✅ Консолидация выполнена" >> "$LOG_FILE"
else
echo "ℹ️ Консолидация не требуется (${LINES} строк)" >> "$LOG_FILE"
fi
Такая практическая система постоянной памяти для Claude Code строится на чистом markdown и cron-задачах.
Claude Code поставляется с большинством примитивов: автозагрузка MEMORY.md, инъекция CLAUDE.md, slash-команды, директория планов. Чего в нём нет — это уровня жизненного цикла, который превращает эти примитивы в постоянную память: команд сессии для сохранения состояния, cron-ротации для предотвращения переполнения и правил, не дающих всему этому деградировать.
Четыре слоя памяти: архитектура, которая работает
С AutoDream Claude Code получил четыре отдельных механизма памяти, работающих вместе. Сильнейшая конфигурация использует все четыре: CLAUDE.md предоставляет авторитетные правила, которые вы контролируете; Auto Memory фиксирует то, что Claude узнаёт в процессе работы; Session Memory поддерживает непрерывность разговора; Auto Dream держит накопленные знания чистыми, актуальными и организованными.
| Слой памяти | Кто пишет | Когда загружается | Основное назначение |
|---|---|---|---|
| CLAUDE.md | Разработчик | Каждая сессия | Правила, конвенции, архитектура |
| Auto Memory | Claude | В ходе сессии | Инсайты, предпочтения, решения |
| Session Memory | Система | Только текущая сессия | Непрерывность диалога |
| Auto Dream / MEMORY.md | Claude (фон) | По триггеру (24ч + 5 сессий) | Консолидация и очистка |
Структура MEMORY.md: критический лимит в 200 строк
Важный момент: при старте сессии загружаются только первые 200 строк MEMORY.md. Это значит, что когда файл вырастает за этот порог, Claude теряет доступ к заметкам ниже отсечки.
Финальная фаза AutoDream оптимизирует именно этот индексный файл. Поскольку Claude Code загружает его в начале каждой сессии, но только первые 200 строк, а дальше контент обрезается, AutoDream держит индекс в этом лимите, перемещая детальные заметки в отдельные тематические файлы и сохраняя в основном индексе только ссылки на них.
Практические советы по настройке
Вот несколько проверенных правил для стабильной работы системы:
Держите CLAUDE.md лаконичным. Оптимальный объём — до 80 строк. Когда файл превращается в дамп инструкций на 2000 слов, агенту сложно расставлять приоритеты.
Запускайте консолидацию вручную после крупных рефакторингов. После масштабных изменений проекта — миграций фреймворков или реструктуризации репозитория — ручной запуск цикла немедленно очищает память, не дожидаясь автоматического срабатывания.
Периодически проверяйте результаты консолидации. AutoDream сохраняет актуальную информацию, удаляя устаревшую или избыточную. Но если у вас есть критические инструкции, убедитесь, что они чёткие и конкретные: размытые или противоречивые записи с большей вероятностью будут удалены, явные и хорошо поддерживаемые — сохранены.
Используйте тематические файлы для деталей. Каждый проект получает собственную директорию памяти по пути
~/.claude/projects/<project>/memory/, с главным файлом MEMORY.md в качестве индекса и тематическими файлами для детальных заметок.Автоматизируйте wrap-up шаг. Если шаг завершения сессии опционален или остаётся на усмотрение агента, он не будет выполняться стабильно. Сделайте его обязательным финальным действием, а не рекомендацией.
Выводы
AutoDream представляет более широкий сдвиг в том, как ИИ-инструменты управляют постоянным состоянием. Первое поколение ИИ-ассистентов для кодинга не имело памяти вообще. Второе поколение добавило постоянный контекст, но создало новое бремя обслуживания. Третье поколение автоматизирует это обслуживание.
Если вы создаёте ИИ-агентов для бизнес-воркфлоу, клиентских инструментов или внутренних автоматизаций, вы столкнётесь с тем же архитектурным вопросом: как агенты переносят знания между сессиями, не начиная каждый раз с нуля?
Ответ — правильно выстроенная система памяти с автоматической ночной консолидацией. Будь то встроенный AutoDream, open source воркфлоу на n8n, или собственный bash + cron скрипт — принцип один: AI-агент должен «спать» и «видеть сны», чтобы утром работать лучше.
Некоторые команды автоматизируют этот процесс с помощью выделенного навыка консолидации, который запускается еженедельно. Начните с малого: настройте CLAUDE.md, включите Auto Memory, дайте AutoDream поработать несколько дней — и вы увидите разницу уже на следующей сессии.
Источники
- Claude Code AutoDream: Memory Consolidation for AI Agents
- What Is Claude Code AutoDream?
- Claude Code Dreams: Anthropic's New Memory Feature
- Auto Memory and Auto Dream: how Claude Code learns and consolidates its memory
- Claude Code Memory System: MEMORY.md, Topic Files, and Automated Maintenance
- GitHub: n8n-claude-memory-agent