Каждая новая сессия в большинстве ИИ-инструментов разработки начинается с чистого листа. Разработчику приходится заново объяснять стек проекта, принятые стандарты кодирования, структуру каталогов и команды запуска тестов. Это не только замедляет работу, но и нерационально расходует лимиты контекстного окна.
В CLI-инструменте Claude Code от Anthropic эта проблема решена с помощью встроенной многослойной системы памяти. Ее основу составляют конфигурационные файлы CLAUDE.md, которые позволяют зафиксировать требования к проекту один раз и автоматически передавать их ассистенту при каждом запуске. В этом руководстве мы разберем, как устроена память Claude Code, как распределяются приоритеты правил и как создать оптимальный файл конфигурации.
Две системы памяти: CLAUDE.md против Auto Memory
Claude Code сочетает два взаимодополняющих механизма сохранения контекста между сессиями. Оба они автоматически загружаются в начале каждого диалога.
| Характеристика | Файлы CLAUDE.md | Автоматическая память (Auto Memory) |
|---|---|---|
| Кто создает | Сам разработчик (вручную или через интерактивный скрипт) | Claude (автоматически на основе сессий) |
| Что содержит | Стандарты написания кода, архитектуру, команды сборки, линтинга и тестов | Выявленные паттерны, особенности окружения, историю исправленных багов |
| Область применения | Уровень проекта, конкретной папки, пользователя или всей организации | Локально в рамках текущего репозитория |
| Поведение лимитов | Ограничивается только здравым смыслом разработчика (желательно держать файлы лаконичными) | Имеет жесткий лимит в 200 строк текста (около 25 КБ) для удержания фокуса |
Используйте CLAUDE.md для явного управления поведением ассистента. В то же время Auto Memory позволяет Claude самостоятельно учиться на ваших исправлениях в фоновом режиме, сохраняя выводы между перезапусками терминала.
Иерархия памяти: 6 уровней приоритета
Одной из ключевых особенностей архитектуры Claude Code является многослойная структура контекста. Система считывает инструкции из нескольких источников, где более специфические и локальные файлы переопределяют глобальные правила. Ниже представлена иерархия приоритетов от наивысшего к наинизшему:
-
Локальная память проекта (
CLAUDE.local.md)
Приоритет: 1 (Наивысший)
Этот файл создается индивидуально каждым разработчиком на его машине и заносится в.gitignore. Он идеально подходит для хранения персональных путей к базам данных, локальных переменных окружения и специфических флагов запуска утилит. -
Пользовательская память (
~/.claude/CLAUDE.md)
Приоритет: 2
Глобальные предпочтения конкретного разработчика, которые будут загружаться в любом репозитории на текущей машине. Сюда можно внести привычный вам стиль написания комментариев или предпочтительные форматы вывода сообщений. -
Правила по путям (
.claude/rules/*.md)
Приоритет: 3
Файлы, определяющие поведение модели при работе с конкретными директориями или типами файлов. Например, вы можете создать файл.claude/rules/typescript.md, инструкции из которого будут подгружаться только тогда, когда Claude открывает или редактирует TypeScript-файлы. -
Память проекта (
CLAUDE.md)
Приоритет: 4
Основной файл стандартов кодирования на уровне репозитория. Он версионируется в Git и является общим для всей команды разработки. -
Корпоративная политика (
/etc/claude-code/CLAUDE.md)
Приоритет: 5
Правила, развертываемые системными администраторами на рабочих станциях внутри организации (Enterprise-политики). Направлены на соблюдение корпоративной безопасности и лицензионных ограничений. -
Автоматическая память (Auto Memory)
Приоритет: 6 (Наинизший)
Заметки, которые Claude Code делает сам для себя в процессе работы. Хранятся в служебной директории проекта под управлением CLI.
Ключевые команды управления контекстом
Для взаимодействия с системой контекста в терминале предусмотрены встроенные команды:
-
Инициализация проекта (
/init):
Команда сканирует репозиторий, определяет язык программирования, фреймворки, менеджеры пакетов и генерирует базовый файлCLAUDE.md. Для запуска продвинутого интерактивного режима с пошаговыми вопросами используйте специальную переменную среды:CLAUDE_CODE_NEW_INIT=1 claude /init -
Редактирование памяти (
/memory):
Открывает интерактивный редактор прямо в сессии CLI, позволяя быстро актуализировать, объединить или удалить накопившиеся автоматические заметки, а также отредактировать текущие правила. -
Импорт внешних документов (
@path/to/file):
Вы можете ссылаться на внешнюю документацию прямо из файлов памяти или промптов. Например, указав@docs/api.md, вы передаете Claude Code точное содержимое этого файла без необходимости копировать его вручную.
Анатомия эталонного CLAUDE.md (Готовый шаблон)
Хороший файл CLAUDE.md — это не описание концепции проекта для человека, а лаконичный свод строгих инструкций (поведенческий контракт) для искусственного интеллекта. Чем короче и точнее сформулированы правила, тем надежнее ИИ будет их исполнять.
Ниже представлен проверенный на практике шаблон структуры файла, который вы можете скопировать в корень своего репозитория:
# Проект: [Название проекта] (например, E-commerce API)
## Стек технологий
- Node.js (v20+), NestJS, PostgreSQL, Prisma ORM
- Менеджер пакетов: pnpm
## Ключевые команды
- Запуск dev-сервера: `pnpm run start:dev`
- Сборка проекта: `pnpm run build`
- Запуск линтера: `pnpm run lint`
- Запуск тестов: `pnpm run test`
- Генерация миграции БД: `pnpm prisma migrate dev`
## Архитектурные правила
- Всегда используйте структуру каталогов: контроллеры в `/src/controllers`, сервисы в `/src/services`.
- Все сущности базы данных должны наследоваться от базового класса BaseEntity.
- Каждое бизнес-исключение должно обрабатываться через кастомные HTTP-фильтры.
## Правила написания кода (Code Style)
- Использовать строго TypeScript, избегать явного указания типа `any`.
- Названия переменных — camelCase, названия классов — PascalCase.
- При импорте модулей всегда использовать абсолютные пути (начиная с `@/`).
## Правила выполнения задач ИИ
- Перед написанием сложного кода всегда запускай `/plan`.
- После внесения изменений в код обязательно запускай проверку типов (`pnpm run lint`).
- Не производи рефакторинг сторонних файлов, если об этом не просили напрямую.
- Никогда не фиксируй в Git файлы `.env` или приватные ключи.
Практические советы по оптимизации памяти
-
Своевременно сокращайте объем данных:
Поскольку Claude считываетCLAUDE.mdпри старте каждого диалога, слишком раздутый файл будет увеличивать задержку ответов (latency) и потреблять больше токенов. Старайтесь удерживать файл в пределах 100-150 строк. -
Используйте модульные правила для микросервисов:
Если у вас монорепозиторий, не помещайте правила для фронтенда и бэкенда в один корневойCLAUDE.md. Вместо этого создайте локальные файлыCLAUDE.mdв поддиректориях (например, в/apps/frontend/CLAUDE.md). Claude будет загружать их контекст только тогда, когда перейдет к работе с файлами в соответствующей папке. -
Добавляйте правила «Второй ошибки»:
Если в процессе работы Claude Code допустил архитектурную ошибку, вы указали на нее, но при следующем запросе он повторил ее снова — это верный сигнал для обновления памяти. Занесите строгое ограничение в раздел «Правила написания кода» в вашемCLAUDE.md.
Настройка системы памяти в Claude Code окупает себя в первые же дни использования. Создание лаконичного файла CLAUDE.md и распределение специфических ограничений по локальным файлам правил позволяет превратить ИИ-ассистента из временного собеседника в полноценного автономного инженера, который глубоко понимает особенности вашего проекта и действует строго в рамках принятых в команде стандартов.

