Claude Code получил память между сессиями
Открываю терминал, запускаю Claude Code в проекте, и вижу непривычное:
Recalled 3 memories
Ctrl+O — раскрываются подробности. Заметки про стек, команды сборки, предыдущие баги. Откуда? Я ничего не настраивал.
Первое что сделал — открыл /memory и посмотрел что там.
Что это вообще такое
Auto Memory появилась в Claude Code 2.1.32. Агент ведёт конспект по ходу работы. Между сессиями заметки сохраняются на диск, при старте — подгружаются обратно.
Два сообщения, которые вы увидите:
- «Recalled X memories» — загрузил заметки из прошлых сессий
- «Wrote X memories» — записал что-то новое в текущей
Фича раскатывается постепенно. У кого-то работает, у кого-то нет. Можно форсировать — про это ниже.
Как устроена память
Заметки живут в предсказуемом месте:
~/.claude/projects/<project-path>/memory/
├── MEMORY.md ← индекс, грузится всегда
├── debugging.md ← грузится по требованию
├── api-conventions.md ← грузится по требованию
└── patterns.md ← грузится по требованию
Проект определяется по корню git-репозитория. Все поддиректории одного репо — одна общая память.
Первые 200 строк MEMORY.md попадают в system prompt каждой сессии. Агент «помнит» основное без дополнительных запросов. Подробнее про экономию контекста писал в Как перестать сжигать контекст Claude Code впустую.
Topic-файлы (debugging.md, patterns.md) — детальные заметки. Автоматически НЕ грузятся. Агент подтягивает их, когда тема всплывает в разговоре.
Архитектура памяти
Старт сессии
│
├─ system prompt ← CLAUDE.md (ваши инструкции)
│ ← MEMORY.md, первые 200 строк (конспект агента)
│
├─ по ходу диалога
│ └─ topic-файлы ← подгружаются при совпадении темы
│
└─ конец сессии
└─ «Wrote N memories» → обновление MEMORY.md / topic-файлов
Что агент запоминает
Не всё подряд. Фиксирует то, что пригодится в будущих сессиях:
- Паттерны проекта — пакетный менеджер, команды сборки, линтер
- Решения проблем — «баг из-за X, починили через Y»
- Архитектура — ключевые файлы, зависимости между модулями
- Предпочтения — стиль общения, привычки в код-ревью
По-моему, это самая ценная часть. Похоже на подход из Правка → Правило — только здесь агент сам формулирует правила из наблюдений.
Чем отличается от CLAUDE.md
| CLAUDE.md | Auto Memory (MEMORY.md) | |
|---|---|---|
| Кто пишет | Вы сами | Агент автоматически |
| Где лежит | Корень проекта / ~/.claude/ |
~/.claude/projects/<path>/memory/ |
| Приоритет | Высокий (инструкции) | Справочный (заметки) |
| Загрузка | Всегда целиком | Первые 200 строк + topics по запросу |
| Версионирование | В git (по желанию) | Локально, вне git |
| При конфликте | Побеждает | Уступает |
CLAUDE.md — ваш голос. Auto Memory — конспект агента. Дополняют друг друга.
Как настроить
Включить
Добавьте в профиль терминала (~/.zshrc или ~/.bashrc):
CLAUDE_CODE_DISABLE_AUTO_MEMORY=0
Для выключения — поменяйте 0 на 1.
Посмотреть и отредактировать
Команда /memory в сессии Claude Code откроет память в вашем редакторе.
Попросить запомнить явно
Подводные камни
Фича свежая. Шероховатости есть.
Непрозрачность записи. «Wrote 1 memory» — а что именно? Нет diff-превью. Приходится лезть в /memory глазами. Известная проблема.
И вот что мне кажется неудобным: память подгружается из двух мест одновременно. В некоторых версиях MEMORY.md попадает в контекст дважды — лишние токены. Баг задокументирован.
Race condition с auto-compact. Когда контекст сжимается автоматически, последние сообщения могут не попасть в память. Редко. Но неприятно.
Лимит 200 строк. Если память разрастётся — хвост обрежется. Периодически заходите через /memory и чистите неактуальное. Или:
Когда это полезно
Длинные проекты. Работаете над репо неделями. Агент накапливает контекст. Новая сессия не начинается с нуля.
Повторяющиеся ошибки. Наступил на грабли с конфигурацией — записал. В следующий раз обойдёт.
Мультипроектная работа. Три репозитория — три отдельных памяти.
Онбординг на чужой проект. Начинаете с новой кодобазой. Агент записывает открытия по ходу. Через пару сессий — готовая шпаргалка в памяти агента. Мне кажется, это хорошо дополняет подход из Документируй разговоры с агентом, а не код. Ну а если хотите внешнюю память для всей команды — есть вариант через GitHub Projects.
Итого
Auto Memory — текстовый файл с заметками, который агент ведёт сам. Первые 200 строк в каждой сессии, остальное — по требованию. CLAUDE.md по-прежнему главнее.
Три вещи прямо сейчас:
- Проверить
~/.claude/projects/— если папкаmemoryсуществует, фича работает - Открыть
/memory— посмотреть, что агент нарешал - Мусорные заметки — почистить или попросить агента навести порядок
Но направление, по-моему, верное. Агент с памятью между сессиями — заметная разница на проектах, которые живут месяцами.
Подписаться на обновления — @sereja_tech