Спросите Claude: «Ты помнишь, о чём мы говорили раньше?» — и ответ будет зависеть от того, где вы общаетесь. Иногда он помнит. Иногда нет. Дело не в том, что у модели «хорошая» или «плохая» память, а в том, что у Claude вообще нет единой системы памяти. Чат, проекты, Claude Code и приложения на базе Claude API используют разные механизмы, хранят разные данные в разных местах и останавливаются на разных границах.
Чтобы не запутаться, полезно составить карту. Я выделяю шесть «контейнеров» — это не официальная терминология Anthropic, но с ней удобно работать.
Шесть контейнеров памяти
| Поверхность | Механизм | Кто управляет | Граница действия |
|---|---|---|---|
| Claude Chat | Память из обычных чатов | Claude | Чаты вне проектов |
| Claude Chat | Память проекта | Claude | Один конкретный проект |
| Claude Chat | Поиск по прошлым чатам | Claude ищет по запросу | Чаты вне проектов или внутри одного проекта |
| Claude Code | CLAUDE.md, CLAUDE.local.md, .claude/rules/*.md | Вы | Зависит от расположения файла и директории запуска |
| Claude Code | Автопамять | Claude Code | Один репозиторий на одной машине |
| Приложение на Claude API | Memory tool | Claude запрашивает операции, ваше приложение выполняет | Всё, что определит ваше приложение |
Между этими колонками нет стрелок: память не переносится автоматически. То, что Claude узнал в обычном чате, не становится автопамятью Claude Code. Файл CLAUDE.md не появляется сам собой в чате. Memory tool в API — это не способ прочитать память, привязанную к вашему аккаунту в чате.
В чате память и поиск — разные вещи
Первое, что легко упустить: память и поиск по прошлым чатам — это два отдельных механизма. Память хранит извлечённую информацию, которая может пригодиться в будущих разговорах: вашу роль, активные задачи, предпочтения в общении, инструменты. Поиск не хранит сводку всего подряд — он поднимает оригинальную историю разговора, когда понадобится деталь. При этом поиск виден как вызов инструмента.
Практическая разница:
- Память — подготовленный контекст, который уже влияет на новый разговор;
- Поиск — извлечение из старого чата, когда это нужно.
Эти функции ещё и по-разному раскатываются. Если в настройках видите пункт Memory — это новая версия, где память хранится отдельными записями и обновляется в реальном времени. Если память лежит в разделе Capabilities — это старая версия с суммаризацией примерно раз в сутки. Поиск по чатам доступен на платных планах, но границы у него свои.
Границы поиска и памяти в чате
Поиск работает либо по всем чатам вне проектов, когда вы вне проекта, либо по чатам внутри текущего проекта. Единого поиска «по всему аккаунту» нет. Поэтому не работают сценарии вроде «найти из обычного чата то, что обсуждалось в проекте А» или «найти из проекта А то, что было вне проектов». У каждого проекта — своя память и свой поиск.
Такое разделение легко принять за забывчивость, но оно же не даёт контексту одного клиента просочиться в другой.
Удалить чат — не значит удалить память
В новой версии памяти удаление или истечение срока исходного чата не удаляет записи памяти, созданные из него. Их нужно удалять отдельно, в настройках памяти. В старой версии удаление чата убирает его из синтезированной памяти в течение 24 часов. Если хочется просто отключить поиск, можно выключить опцию поиска и ссылок на чаты, не удаляя сами разговоры.
Инкогнито-чат: временно, но не тайник
Инкогнито-чат не использует существующую память, не попадает в историю, не создаёт будущих записей и не участвует в поиске. Но данные не стираются в момент закрытия окна. По умолчанию инкогнито-чаты хранятся 30 дней. Организации в Enterprise могут настроить более долгий срок, а экспорт данных Teams и Enterprise включает эти чаты.
Так что правильный сценарий — разговор, который не должен влиять на будущие чаты, а не место, где конфиденциальное гарантированно не сохранится.
Claude Code: файлы, которые пишете вы, и заметки, которые пишет он
Каждая сессия Claude Code начинается с пустого контекстного окна. Два механизма переносят знания между сессиями: файлы CLAUDE.md (инструкции, которые вы написали) и автопамять (заметки, которые Claude написал сам).
CLAUDE.md — инструкции под вашим контролем
Сюда стоит класть то, что не хочется объяснять заново: команды сборки и тестирования, стиль кода, архитектуру, требования к ревью, действия, которых Claude должен избегать. Расположение файла определяет область действия:
| Область | Расположение | Типичное использование |
|---|---|---|
| Пользователь | ~/.claude/CLAUDE.md | Предпочтения для всех проектов |
| Проект | ./CLAUDE.md или ./.claude/CLAUDE.md | Командные инструкции, обычно в Git |
| Локально | ./CLAUDE.local.md | Личные инструкции для этого проекта |
CLAUDE.local.md — личный файл, но Git сам по себе не делает его приватным. Добавьте его в .gitignore, если не хотите коммитить.
Важный нюанс: эти файлы — контекст, а не жёсткое правило. Claude Code склеивает найденные инструкции и не считает ближний файл гарантированным переопределением всего, что было раньше. Противоречивые правила могут давать непоследовательное поведение.
.claude/rules/ — дробите инструкции по темам
Для большого проекта удобно разложить инструкции по отдельным Markdown-файлам. В правилах можно задать paths, чтобы файл подгружался только для определённых файлов. Мой ориентир: короткие общепроектные инструкции — в CLAUDE.md, отдельные темы или путь-специфичные вещи — в .claude/rules/.
Автопамять: заметки Claude Code для себя
Автопамять хранит то, что Claude Code сочтёт полезным для будущих сессий: команды сборки, результаты отладки, заметки по архитектуре, предпочтения в стиле кода. По умолчанию каждый репозиторий получает локальную директорию ~/.claude/projects/<project>/memory/. Там есть MEMORY.md (точка входа, загружаются первые 200 строк или 25 КБ) и более детальные файлы, которые читаются по необходимости.
Ключевая граница — машина. Поддиректории и worktree в одном репозитории делят единую память, но на другой машине её нет, и она не приходит сама при клоне. Команда /memory показывает и редактирует эти файлы.
Что из этого стоит коммитить в Git?
- Общекомандные правила и обязательные процедуры — коммитьте в CLAUDE.md или .claude/rules/;
- Черновые находки с одной машины — оставляйте в автопамяти;
- Результат, который повторно важен, — ревью и переносите в общий файл.
Автопамять удобна как блокнот, но не должна быть единственной копией знаний, от которых зависит команда.
API memory tool: памятью владеет ваше приложение
У Claude API memory tool похожее название, но другая модель хранения. Claude может запрашивать операции с файлами (создание, чтение, обновление, удаление) в логическом пути /memories, а выполняет их ваше приложение. Решение о том, где хранить данные, как отделять память одного пользователя от другого, какие сессии подключаются к той же памяти и как долго всё это живёт, принимаете вы. Anthropic не предоставляет аккаунт-уровневое хранилище для вашего приложения через этот инструмент.
Пять границ, которые стоит запомнить
- Claude Chat / Claude Code — контекст не переходит автоматически ни в одну сторону.
- Вне проекта / внутри проекта — создание проекта означает создание границы памяти.
- Эта машина / другая машина — автопамять Claude Code локальна для машины.
- Claude Chat / Cowork — то, что Claude помнит о вас в чате, не переносится в Cowork.
- Claude / другое приложение — память не переезжает сама ни в один сторонний сервис.
Названия продуктов поменяются, а границы останутся. Иметь это в виду — значит перестать удивляться тому, что Claude «забыл»: скорее всего, он просто обратился не к тому контейнеру.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.