Память и CLAUDE.md
Руководство по памяти
Память позволяет Claude сохранять контекст между сессиями и диалогами. Она существует в двух формах: автоматический синтез в claude.ai и файл CLAUDE.md на файловой системе в Claude Code.
Обзор
Память в Claude Code обеспечивает постоянный контекст, сохраняющийся между сессиями и диалогами. В отличие от временного контекстного окна, файлы памяти позволяют:
- делиться стандартами проекта с командой;
- хранить личные предпочтения по разработке;
- задавать правила и настройки для конкретных директорий;
- импортировать внешнюю документацию;
- держать память под контролем версий как часть проекта.
Система памяти работает на нескольких уровнях - от глобальных пользовательских предпочтений до отдельных поддиректорий, - что даёт гибкий контроль над тем, что Claude запоминает и как использует эти знания.
Краткий справочник команд памяти
| Command | Purpose | Usage | When to Use |
|---|---|---|---|
/init | Initialize project memory | /init | Starting new project, first-time CLAUDE.md setup |
/memory | Edit memory files in editor | /memory | Extensive updates, reorganization, reviewing content |
# prefix | - | Use /memory or ask conversationally instead | |
@path/to/file | Import external content | @README.md or @docs/api.md | Referencing existing documentation in CLAUDE.md |
Быстрый старт: инициализация памяти
Команда /init
Команда /init - самый быстрый способ настроить память проекта в Claude Code. Она создаёт файл CLAUDE.md с базовой документацией по проекту.
Использование:
Что делает команда:
- Создаёт новый файл CLAUDE.md в вашем проекте (обычно по пути
./CLAUDE.mdили./.claude/CLAUDE.md) - Задаёт соглашения и правила проекта
- Закладывает основу для сохранения контекста между сессиями
- Предоставляет шаблон для документирования стандартов вашего проекта
Расширенный интерактивный режим: установите CLAUDE_CODE_NEW_INIT=1, чтобы включить многоэтапный интерактивный сценарий, который шаг за шагом проведёт вас через настройку проекта:
Когда использовать /init:
- Старт нового проекта с Claude Code
- Введение командных стандартов и соглашений по написанию кода
- Создание документации по структуре кодовой базы
- Настройка иерархии памяти для совместной разработки
Пример рабочего процесса:
Быстрое обновление памяти
Примечание: Сокращение
#для быстрого добавления в память больше не поддерживается. Используйте/memory, чтобы редактировать файлы памяти напрямую, или попросите Claude что-либо запомнить в диалоге (например, «запомни, что мы всегда используем TypeScript strict mode»).
Рекомендуемые способы добавления информации в память:
Вариант 1: команда /memory
Открывает файлы памяти в системном редакторе для непосредственного редактирования.
Вариант 2: спросить в диалоге
Claude обновит соответствующий файл CLAUDE.md согласно вашему запросу.
Историческая справка (больше не поддерживается):
Ранее сокращение с префиксом # позволяло добавлять правила прямо на месте:
Если вы использовали этот подход, перейдите на команду /memory или запросы в диалоге.
Команда /memory
Команда /memory даёт прямой доступ к редактированию файлов памяти CLAUDE.md прямо из сессий Claude Code. Она открывает файлы памяти в системном редакторе для полноценного редактирования. При открытии файла в GUI-редакторе сессия больше не блокируется на время работы с файлом, так что можно продолжать работу параллельно (v2.1.216); терминальные редакторы вроде Vim по-прежнему занимают терминал до выхода из них.
Использование:
Что делает:
- Открывает файлы памяти в системном редакторе по умолчанию
- Позволяет вносить масштабные дополнения, изменения и реорганизацию
- Обеспечивает прямой доступ ко всем файлам памяти в иерархии
- Даёт возможность управлять постоянным контекстом между сессиями
Когда использовать /memory:
- Просмотр существующего содержимого памяти
- Внесение масштабных изменений в стандарты проекта
- Реорганизация структуры памяти
- Добавление подробной документации или инструкций
- Поддержка и обновление памяти по мере развития проекта
Сравнение: /memory и /init
| Aspect | /memory | /init |
|---|---|---|
| Purpose | Edit existing memory files | Initialize new CLAUDE.md |
| When to use | Update/modify project context | Begin new projects |
| Action | Opens editor for changes | Generates starter template |
| Workflow | Ongoing maintenance | One-time setup |
| Пример рабочего процесса: |
Использование импортов памяти:
Файлы CLAUDE.md поддерживают синтаксис @path/to/file для подключения внешнего содержимого:
Возможности импорта:
- Поддерживаются как относительные, так и абсолютные пути (например,
@docs/api.mdили@~/.claude/my-project-instructions.md) - Поддерживается рекурсивный импорт с максимальной глубиной в 4 уровня
- При первом импорте из внешних расположений открывается диалог подтверждения - из соображений безопасности
- Директивы импорта не обрабатываются внутри inline-кода и блоков кода в Markdown (поэтому их безопасно приводить в примерах)
- Помогает избежать дублирования за счёт ссылок на существующую документацию
- Автоматически подключает содержимое по ссылке в контекст Claude
Архитектура памяти
Память в Claude Code построена по иерархическому принципу: разные области видимости решают разные задачи. В отличие от 24-часового цикла синтеза в Claude Web/Desktop (см. Память в Claude Web/Desktop ниже), в Claude Code есть две системы памяти, которые загружаются в начале каждой сессии и обновляются непрерывно, а не по расписанию:
graph TB A["Session Start"] B["CLAUDE.md Files<br/>(you write)"] C["Auto Memory<br/>(Claude writes)"] D["Claude Session"] E["Your Correction /<br/>Preference"] B -->|loaded in full| A C -->|MEMORY.md loaded| A A --> D D -->|"Remember that..."| E E -->|writes during session| C D -->|"add this to CLAUDE.md"| BИерархия памяти в Claude Code
В Claude Code есть две взаимодополняющие системы памяти, и обе загружаются в начале каждого диалога: файлы CLAUDE.md (инструкции, которые пишете вы) и auto memory (заметки, которые Claude ведёт сам). Файлы CLAUDE.md склеиваются в контекст, а не переопределяют друг друга - это не строгая цепочка приоритетов, в которой верхний уровень замещает нижний. Файлы .claude/rules/*.md - это отдельный, но родственный механизм для инструкций, привязанных к теме или пути.
Расположение файлов CLAUDE.md в порядке загрузки (от самой широкой области действия к самой узкой):
| Scope | Location | Purpose |
|---|---|---|
| Managed policy | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md<br>Linux/WSL: /etc/claude-code/CLAUDE.md<br>Windows: C:\Program Files\ClaudeCode\CLAUDE.md | Organization-wide instructions managed by IT/DevOps. Cannot be excluded by individual settings. |
| User instructions | ~/.claude/CLAUDE.md | Personal preferences for all projects |
| Project instructions | ./CLAUDE.md or ./.claude/CLAUDE.md | Team-shared instructions, version controlled |
| Local instructions | ./CLAUDE.local.md | Personal project-specific preferences; add to .gitignore |
В дереве каталогов Claude Code поднимается вверх от вашего рабочего каталога: foo/CLAUDE.md загружается раньше foo/bar/CLAUDE.md, если вы запускаетесь из foo/bar/, поэтому инструкции, расположенные ближе к точке запуска, читаются последними - это не «наивысший приоритет» в смысле переопределения, а просто самые свежие в контексте. Внутри каждого каталога CLAUDE.local.md дописывается после CLAUDE.md. Файлы CLAUDE.md и CLAUDE.local.md в подкаталогах ниже вашего рабочего каталога загружаются по требованию, когда Claude обращается к файлам в этих подкаталогах, а не при запуске. |
Организации также могут размещать управляемое содержимое CLAUDE.md прямо внутри managed-settings.json через ключ claudeMd, вместо того чтобы развёртывать отдельный файл. Это работает только в managed/policy settings - задание claudeMd в пользовательских или проектных настройках не даёт никакого эффекта.
.claude/rules/*.md - модульные тематические инструкции, которые опционально можно ограничить путями к файлам через поле paths во frontmatter. Правила без поля paths загружаются безусловно с тем же приоритетом, что и .claude/CLAUDE.md; правила с ограничением по путям загружаются по требованию, когда Claude открывает подходящий файл. Правила уровня пользователя (~/.claude/rules/) загружаются раньше правил проекта.
Auto memory (~/.claude/projects/<project>/memory/) - это отдельная система: собственные заметки Claude, а не содержимое CLAUDE.md, и они не входят в описанный выше порядок конкатенации. См. раздел Auto Memory ниже.
Примечание:
CLAUDE.local.mdполностью поддерживается и описан в официальной документации. Этот файл содержит личные, специфичные для проекта настройки, которые не попадают в систему контроля версий. ДобавьтеCLAUDE.local.mdв свой.gitignore.
Как работает обнаружение памяти:
graph TD A["Managed Policy<br/>/Library/.../ClaudeCode/CLAUDE.md"] -->|loads first| B["User Instructions<br/>~/.claude/CLAUDE.md"] B --> C["Project Instructions<br/>./CLAUDE.md or ./.claude/CLAUDE.md"] C --> D["Local Instructions<br/>./CLAUDE.local.md"] C -->|imports| H["@docs/architecture.md"] H -->|imports| I["@docs/api-standards.md"] style A fill:#fce4ec,stroke:#333,color:#333 style B fill:#f3e5f5,stroke:#333,color:#333 style C fill:#e1f5fe,stroke:#333,color:#333 style D fill:#e8f5e9,stroke:#333,color:#333 style H fill:#e1f5fe,stroke:#333,color:#333 style I fill:#e1f5fe,stroke:#333,color:#333Все показанные файлы объединяются в единый контекст, а не выбираются по принципу переопределения - более поздние блоки просто добавляются в конец контекста, а не «замещают» предыдущие.
Исключение файлов CLAUDE.md с помощью claudeMdExcludes
В крупных монорепозиториях часть файлов CLAUDE.md может быть нерелевантна текущей задаче. Параметр claudeMdExcludes позволяет исключить отдельные файлы CLAUDE.md из загрузки в контекст:
Шаблоны сопоставляются с путями относительно корня проекта. Это особенно полезно в следующих случаях:
- монорепозитории с большим числом подпроектов, из которых актуальны лишь некоторые;
- репозитории, содержащие вендорные или сторонние файлы
CLAUDE.md; - снижение шума в контекстном окне Claude за счёт исключения устаревших или нерелевантных инструкций.
Иерархия файлов настроек
Настройки Claude Code (включая autoMemoryDirectory, claudeMdExcludes и другие параметры) разрешаются по приоритету - в отличие от рассмотренных выше файлов CLAUDE.md, настройки именно переопределяют друг друга, а не объединяются. Если одна и та же настройка задана в нескольких областях, побеждает более высокий уровень:
| Level | Location | Scope |
|---|---|---|
| 1 (Highest) | Managed - managed-settings.json, plist/registry, or server-managed | Organization-wide enforcement; cannot be overridden |
| 2 | Command line arguments | Temporary session overrides |
| 3 | .claude/settings.local.json | Local overrides (git-ignored) |
| 4 | .claude/settings.json | Project-level (committed to git) |
| 5 (Lowest) | ~/.claude/settings.json | User preferences |
Managed settings также поддерживают drop-in-каталог managed-settings.d/ рядом с managed-settings.json: сначала применяется базовый файл, затем поверх него в алфавитном порядке сливаются *.json-файлы из drop-in-каталога (скаляры переопределяются, массивы объединяются с удалением дубликатов, объекты сливаются рекурсивно). Это позволяет разным командам разворачивать независимые фрагменты политик, не редактируя общий файл. Обратите внимание: это механизм settings.json, а не CLAUDE.md - на расположения файлов CLAUDE.md, описанные выше, он не распространяется. |
Правила разрешений (allow/ask/deny) ведут себя иначе, чем остальные настройки: они объединяются между областями видимости, а не перекрываются вышестоящим уровнем.
Платформо-зависимая конфигурация (v2.1.51+):
Настройки также можно задавать через:
- macOS: файлы property list (plist)
- Windows: реестр Windows
Эти нативные для платформы механизмы читаются наряду с JSON-файлами настроек и подчиняются тем же правилам приоритета.
Примечание (v2.1.119): изменения, внесённые через
/config, теперь сохраняются в~/.claude/settings.json. Значения, записанные через/config, участвуют в обычной цепочке приоритетов policy/local/project, описанной выше, - они больше не ограничены текущей сессией. Используйте/configдля интерактивных правок, а для скриптовой или централизованно управляемой конфигурации редактируйте файлыsettings.jsonнапрямую.
Настройки хранения и очистки
| Setting | Type | Default | Description |
|---|---|---|---|
cleanupPeriodDays | integer (days) | 30 | Retention window for on-disk artifacts. As of v2.1.117, it applies to all four of: checkpoints (~/.claude/checkpoints/), tasks (~/.claude/tasks/), shell-snapshots (~/.claude/shell-snapshots/), and backups (~/.claude/backups/). Files older than the window are pruned at startup. |
Настройки атрибуции, авторства и URL пул-реквеста
| Setting | Type | Description |
|---|---|---|
attribution.commit | boolean | Adds the Co-Authored-By: Claude trailer to commits Claude creates. Replaces the deprecated includeCoAuthoredBy flag. |
attribution.pr | boolean | Adds Claude attribution to pull request descriptions. Replaces the deprecated includeCoAuthoredBy flag for PRs. |
attribution.sessionUrl | boolean | Omit the claude.ai session link from commits and PRs created in web and Remote Control sessions (v2.1.183+). |
voice.enabled | boolean | Enables push-to-talk voice dictation (/voice). Replaces the deprecated voiceEnabled flag. |
prUrlTemplate | string | New in v2.1.119. Custom URL template for the footer PR badge; useful for GitLab, Bitbucket, or internal code-review platforms. Supports {{owner}}, {{repo}}, and {{number}} placeholders. |
Устаревшие названия настроек
Перечисленные ниже устаревшие ключи настроек по-прежнему работают, однако их использование не рекомендуется. Используйте вместо них указанные выше замены.
| Deprecated key | Replacement | Notes |
|---|---|---|
includeCoAuthoredBy | attribution.commit / attribution.pr | The old single flag is split into separate commit and PR switches. Users on older installs can keep the legacy key; new projects should use the nested form. |
voiceEnabled | voice.enabled | Grouped under the voice namespace alongside future voice-related options. |
Модульная система правил
Создавайте структурированные правила для конкретных путей с помощью директории .claude/rules/. Правила можно задавать как на уровне проекта, так и на уровне пользователя:
Правила ищутся рекурсивно в директории rules/, включая все вложенные поддиректории. Правила пользовательского уровня из ~/.claude/rules/ загружаются раньше правил уровня проекта, что позволяет задавать личные значения по умолчанию, которые проект может переопределить.
Правила для конкретных путей через YAML frontmatter
Задавайте правила, применяемые только к определённым путям файлов:
Примеры glob-паттернов:
**/*.ts- все файлы TypeScriptsrc/**/*- все файлы в каталоге src/src/**/*.{ts,tsx}- несколько расширений{src,lib}/**/*.ts, tests/**/*.test.ts- несколько паттернов
Подкаталоги и символические ссылки
Правила в .claude/rules/ поддерживают два способа организации:
- Подкаталоги: правила обнаруживаются рекурсивно, поэтому их можно раскладывать по тематическим папкам (например,
rules/api/,rules/testing/,rules/security/) - Символические ссылки: symlink'и поддерживаются для совместного использования правил в нескольких проектах. Например, можно создать символическую ссылку на общий файл правил из централизованного хранилища в каталог
.claude/rules/каждого проекта
Таблица расположений памяти
Файлы CLAUDE.md и правила объединяются (конкатенируются) в контекст, а не выбираются по принципу строгого переопределения - «Порядок загрузки» ниже означает, в каком месте контекста они появляются, а не какой из них имеет приоритет. Автоматическая память - это отдельный механизм со своим собственным местом хранения.
| Location | Type | Load order | Shared | Access | Best For |
|---|---|---|---|---|---|
/Library/Application Support/ClaudeCode/CLAUDE.md (macOS) | Managed Policy | 1st (loads first) | Organization | System | Company-wide policies |
/etc/claude-code/CLAUDE.md (Linux/WSL) | Managed Policy | 1st (loads first) | Organization | System | Organization standards |
C:\Program Files\ClaudeCode\CLAUDE.md (Windows) | Managed Policy | 1st (loads first) | Organization | System | Corporate guidelines |
~/.claude/rules/*.md | User Rules | 2nd | Individual | Filesystem | Personal rules (all projects) |
~/.claude/CLAUDE.md | User Memory | 3rd | Individual | Filesystem | Personal preferences (all projects) |
./.claude/rules/*.md | Project Rules | 4th | Team | Git | Path-specific, modular rules |
./CLAUDE.md or ./.claude/CLAUDE.md | Project Memory | 5th | Team | Git | Team standards, shared architecture |
./CLAUDE.local.md | Project Local | 6th (loads last) | Individual | Git (ignored) | Personal project-specific preferences |
~/.claude/projects/<project>/memory/ | Auto Memory | N/A - separate mechanism | Individual | Filesystem | Claude's automatic notes and learnings |
Жизненный цикл обновления памяти
Ниже показано, как обновления памяти распространяются между сессиями Claude Code:
sequenceDiagram participant User participant Claude as Claude Code participant Editor as File System participant Memory as CLAUDE.md User->>Claude: "Remember: use async/await" Claude->>User: "Which memory file?" User->>Claude: "Project memory" Claude->>Editor: Open ~/.claude/settings.json Claude->>Memory: Write to ./CLAUDE.md Memory-->>Claude: File saved Claude->>Claude: Load updated memory Claude-->>User: "Memory saved!"Автоматическая память
Автоматическая память - это постоянная директория, в которой Claude автоматически фиксирует накопленные знания, паттерны и наблюдения по мере работы с вашим проектом. В отличие от файлов CLAUDE.md, которые вы пишете и поддерживаете вручную, автоматическая память ведётся самим Claude во время сессий.
Как работает автоматическая память
- Расположение:
~/.claude/projects/<project>/memory/ - Точка входа:
MEMORY.md- основной файл в директории автоматической памяти - Тематические файлы: необязательные дополнительные файлы по отдельным темам (например,
debugging.md,api-conventions.md) - Логика загрузки: первые 200 строк
MEMORY.md(или первые 25 КБ - в зависимости от того, что наступит раньше) загружаются в контекст при старте сессии. Тематические файлы подгружаются по мере необходимости, а не при запуске. - Чтение и запись: Claude читает и обновляет файлы памяти в ходе сессии, обнаруживая паттерны и специфичные для проекта знания
- Frontmatter: в файлах, начинающихся с YAML-frontmatter, появляется поле
modified- метка времени в формате ISO 8601, которую Claude Code проставляет при каждой записи в файл (v2.1.214)
Архитектура автоматической памяти
graph TD A["Claude Session Starts"] --> B["Load MEMORY.md<br/>(first 200 lines / 25KB)"] B --> C["Session Active"] C --> D["Claude discovers<br/>patterns & insights"] D --> E{"Write to<br/>auto memory"} E -->|General notes| F["MEMORY.md"] E -->|Topic-specific| G["debugging.md"] E -->|Topic-specific| H["api-conventions.md"] C --> I["On-demand load<br/>topic files"] I --> C style A fill:#e1f5fe,stroke:#333,color:#333 style B fill:#e1f5fe,stroke:#333,color:#333 style C fill:#e8f5e9,stroke:#333,color:#333 style D fill:#f3e5f5,stroke:#333,color:#333 style E fill:#fff3e0,stroke:#333,color:#333 style F fill:#fce4ec,stroke:#333,color:#333 style G fill:#fce4ec,stroke:#333,color:#333 style H fill:#fce4ec,stroke:#333,color:#333 style I fill:#f3e5f5,stroke:#333,color:#333Структура каталога Auto Memory
Требования к версии
Для работы автоматической памяти необходим Claude Code v2.1.59 или новее. Если у вас установлена более ранняя версия, сначала обновите её:
Включение и отключение автопамяти
Автопамять включена по умолчанию. За это отвечает параметр autoMemoryEnabled (по умолчанию true); если задать false, Claude не будет ни читать из каталога автопамяти, ни писать в него. Переключить автопамять также можно командой /memory прямо во время сессии.
Чтобы отключить её через переменную окружения, задайте CLAUDE_CODE_DISABLE_AUTO_MEMORY=1. Значение 0, наоборот, принудительно включает auto memory даже в тех случаях, когда режим --bare или autoMemoryEnabled: false иначе отключили бы её.
Пользовательский каталог Auto Memory
По умолчанию auto memory хранится в ~/.claude/projects/<project>/memory/. Изменить это расположение можно с помощью параметра autoMemoryDirectory (доступен начиная с v2.1.74):
Примечание:
autoMemoryDirectoryможно задать только в пользовательских настройках (~/.claude/settings.json) или в локальных настройках (.claude/settings.local.json), но не в настройках проекта или управляемых политик.
Это удобно, если нужно:
- Хранить auto memory в общем или синхронизируемом расположении
- Отделить auto memory от стандартного каталога конфигурации Claude
- Использовать путь, специфичный для проекта, вне стандартной иерархии
Общий доступ для worktree и репозитория
Все worktree и подкаталоги в пределах одного git-репозитория используют общий каталог auto memory. Это означает, что при переключении между worktree или работе в разных подкаталогах одного репозитория чтение и запись будут производиться в одни и те же файлы памяти.
Память субагентов
Субагенты (запускаемые через такие инструменты, как Task, или через параллельное выполнение) могут иметь собственный контекст памяти. Используйте поле memory во frontmatter определения субагента, чтобы указать, какие области памяти загружать:
Это позволяет субагентам работать с узконаправленным контекстом, не наследуя всю иерархию памяти.
Примечание: субагенты также могут вести собственную auto memory. Подробности см. в официальной документации по памяти субагентов.
Управление auto memory
Поведением auto memory можно управлять через переменную окружения CLAUDE_CODE_DISABLE_AUTO_MEMORY:
| Value | Behavior |
|---|---|
0 | Force auto memory on |
1 | Force auto memory off |
| (unset) | Default behavior (auto memory enabled) |
Дополнительные директории через --add-dir
Флаг --add-dir позволяет Claude Code загружать файлы CLAUDE.md из дополнительных директорий помимо текущей рабочей. Это удобно для монорепозиториев или мультипроектных конфигураций, где важен контекст из других директорий.
Чтобы включить эту возможность, задайте переменную окружения:
Затем запустите Claude Code с флагом:
Claude загрузит CLAUDE.md из указанного дополнительного каталога вместе с файлами памяти из текущего рабочего каталога.
Практические примеры
Пример 1: Структура памяти проекта
Файл: ./CLAUDE.md
Пример 2: Память для конкретного каталога
Файл: ./src/api/CLAUDE.md
Пример 3: Личная память
Файл: ~/.claude/CLAUDE.md
Мой тест Просим Claude сохранить новое правило
Claude не сохранил правило, так как ни в одном из расположений не было файла Claude.md. После этого я попросил Claude уточнить, куда именно сохранять.

Пример 4: обновление памяти во время сессии
Вы можете добавлять новые правила в память прямо во время активной сессии Claude Code - достаточно попросить об этом в диалоге:
Или используйте /memory, чтобы напрямую редактировать файлы памяти при масштабных обновлениях или реорганизации.
Советы по добавлению записей в память
- Формулируйте правила конкретно и в виде понятных инструкций
- Группируйте связанные правила под общим заголовком раздела
- Обновляйте существующие разделы, а не дублируйте содержимое
- Выбирайте подходящую область памяти (проектная или личная)
Сравнение возможностей памяти
| Feature | Claude Web/Desktop | Claude Code (CLAUDE.md) |
|---|---|---|
| Auto-synthesis | ✅ Every 24h | ✅ Auto memory |
| Cross-project | ✅ Shared | ❌ Project-specific |
| Team access | ✅ Shared projects | ✅ Git-tracked |
| Searchable | ✅ Built-in | ✅ Through /memory |
| Editable | ✅ In-chat | ✅ Direct file edit |
| Import/Export | ✅ Yes | ✅ Copy/paste |
| Persistent | ✅ 24h+ | ✅ Indefinite |
Память в Claude Web/Desktop
Хронология синтеза памяти
graph LR A["Day 1: User<br/>Conversations"] -->|24 hours| B["Day 2: Memory<br/>Synthesis"] B -->|Automatic| C["Memory Updated<br/>Summarized"] C -->|Loaded in| D["Day 2-N:<br/>New Conversations"] D -->|Add to| E["Memory"] E -->|24 hours later| F["Memory Refreshed"]Пример сводки памяти:
Лучшие практики
Что делать - что включать
-
Будьте конкретны и подробны: используйте чёткие, детальные инструкции вместо расплывчатых рекомендаций
- ✅ Хорошо: «Используйте отступ в 2 пробела для всех файлов JavaScript»
- ❌ Избегайте: «Следуйте лучшим практикам»
-
Соблюдайте структуру: организуйте файлы памяти с помощью понятных разделов и заголовков Markdown
-
Используйте подходящие уровни иерархии:
- Managed policy: корпоративные политики, стандарты безопасности, требования комплаенса
- Память проекта: командные стандарты, архитектура, соглашения по коду (коммитятся в git)
- Память пользователя: личные предпочтения, стиль общения, выбор инструментов
- Память директории: правила и переопределения для конкретного модуля
-
Используйте импорты: применяйте синтаксис
@path/to/fileдля ссылок на существующую документацию- Поддерживается максимальная глубина в 4 перехода для рекурсивных импортов
- Позволяет избежать дублирования между файлами памяти
- Пример:
See @README.md for project overview
-
Документируйте часто используемые команды: включайте команды, которые вы применяете регулярно, чтобы экономить время
-
Держите память проекта под контролем версий: коммитьте файлы CLAUDE.md уровня проекта в git на благо всей команды
-
Периодически пересматривайте: регулярно обновляйте память по мере развития проектов и изменения требований
-
Приводите конкретные примеры: добавляйте фрагменты кода и конкретные сценарии
Чего не делать - чего избегать
-
Не храните секреты: никогда не включайте API-ключи, пароли, токены или учётные данные
-
Не включайте чувствительные данные: никаких персональных данных (PII), приватной информации или коммерческих тайн
-
Не дублируйте контент: вместо этого используйте импорты (
@path) для ссылок на существующую документацию -
Не будьте расплывчаты: избегайте общих формулировок вроде «следуйте лучшим практикам» или «пишите хороший код»
-
Не делайте файл слишком длинным: ориентируйтесь на менее 200 строк в CLAUDE.md. Более длинные файлы всё равно загружаются целиком, но следование инструкциям снижается - см. раздел Как держать CLAUDE.md компактным ниже
-
Не переусердствуйте с организацией: используйте иерархию с умом; не плодите лишние переопределения в поддиректориях
-
Не забывайте обновлять: устаревшая память может приводить к путанице и неактуальным практикам
-
Не превышайте лимиты вложенности: импорты памяти поддерживают максимальную глубину в 4 перехода
Как держать CLAUDE.md компактным
Текущая рекомендация Anthropic прямо противоположна подходу «сложить всё в CLAUDE.md». Файл загружается в каждую сессию, поэтому каждая добавленная строка конкурирует за внимание модели в задачах, к которым она не имеет никакого отношения.
Практическое правило: держите CLAUDE.md в пределах 200 строк. Более длинные файлы всё равно загружаются целиком, но следование инструкциям деградирует по мере роста файла.
Когда файл начинает разрастаться, выносите содержимое наружу, а не урезайте формулировки:
| Content | Where it belongs | Why |
|---|---|---|
| Multi-step procedures | A skill | Loads on demand, only when relevant |
| Directory- or file-type-specific rules | .claude/rules/*.md with paths: frontmatter | Scoped by glob; loads only when you touch matching files |
| Reference material and long examples | A skill's references/ directory | Read only when the skill needs it |
| Things Claude should remember about you | Auto memory (on by default) | Written and loaded automatically |
Примечание: импорты
@pathпомогают структурировать разросшийся CLAUDE.md, но не экономят контекст - импортируемые файлы всё равно подгружаются целиком при загрузке. Реально сократить объём загружаемого можно только разделением на правила с привязкой к путям.
/doctor (v2.1.206+) анализирует вашу конфигурацию и предлагает, что урезать, когда CLAUDE.md разросся настолько, что перестал приносить пользу.
Не пишите напоминаний о проверках
Прежние рекомендации поощряли фразы вроде «всегда запускай тесты, прежде чем отчитаться о готовности» или «перепроверь свою работу». В Claude Opus 5 и Fable 5 такие указания теперь приводят к избыточной перепроверке - Claude заново проверяет уже корректный результат, впустую расходуя ходы и токены.
Anthropic сократила собственный системный промпт Claude Code для поколения Claude 5 более чем на 80% без заметной регрессии по метрикам. Тот же принцип применим и к вашему CLAUDE.md: лучше обозначить цель и дать Claude самому решить, как её достичь, чем перечислять, какие проверки он должен выполнить.
Удалите напоминания о проверках из существующих файлов CLAUDE.md, рассчитанных на Opus 5 или Fable 5. Оставляйте только по-настоящему неочевидные требования проекта - «для интеграционных тестов нужен запущенный Docker» - это информация, а не напоминание.
Советы по управлению памятью
Выбирайте подходящий уровень памяти:
| Use Case | Memory Level | Rationale |
|---|---|---|
| Company security policy | Managed Policy | Applies to all projects organization-wide |
| Team code style guide | Project | Shared with team via git |
| Your preferred editor shortcuts | User | Personal preference, not shared |
| API module standards | Directory | Specific to that module only |
| Быстрый порядок обновления: |
- Для отдельных правил: откройте редактор через
/memoryили сформулируйте запрос в диалоге - Для множественных изменений: откройте редактор через
/memory - Для первоначальной настройки: создайте шаблон через
/init
Рекомендации по импорту:
Инструкции по установке
Настройка памяти проекта
Способ 1: команда /init (рекомендуется)
Самый быстрый способ настроить память проекта:
-
Перейдите в каталог проекта:
-
Выполните команду init в Claude Code:
-
Claude создаст и заполнит CLAUDE.md шаблонной структурой.
-
Отредактируйте сгенерированный файл под нужды вашего проекта.
-
Закоммитьте в git:
Способ 2: создание вручную
Если вы предпочитаете настроить всё вручную:
-
Создайте CLAUDE.md в корне проекта:
-
Добавьте стандарты проекта:
-
Закоммитьте в git:
Настройка личной памяти
-
Создайте каталог ~/.claude:
-
Создайте личный CLAUDE.md:
-
Добавьте свои предпочтения:
Настройка памяти для отдельного каталога
-
Создайте память для конкретного каталога:
-
Добавьте правила для этого каталога:
-
Закоммитьте в систему контроля версий:
Проверка настройки
-
Проверьте расположение файлов памяти:
-
Claude Code автоматически загрузит эти файлы при запуске сессии.
-
Проверьте работу, запустив новую сессию Claude Code в своём проекте.
Официальная документация
Актуальную информацию смотрите в официальной документации Claude Code:
- Документация по памяти - полный справочник по системе памяти
- Справочник по slash-командам - все встроенные команды, включая
/initи/memory - Справочник по CLI - документация по интерфейсу командной строки
Ключевые технические детали из официальной документации
Загрузка памяти:
- Все файлы памяти автоматически загружаются при запуске Claude Code.
- Claude поднимается вверх от текущего рабочего каталога, чтобы найти файлы CLAUDE.md.
- Файлы во вложенных каталогах обнаруживаются и загружаются по мере необходимости - при обращении к этим каталогам.
Синтаксис импорта:
- Используйте
@path/to/file, чтобы подключить внешнее содержимое (например,@~/.claude/my-project-instructions.md). - Поддерживаются как относительные, так и абсолютные пути (относительные пути разрешаются относительно файла, содержащего импорт, а не рабочего каталога).
- Поддерживаются рекурсивные импорты с максимальной глубиной 4 уровня.
- При первом внешнем импорте появляется диалог подтверждения.
- Импорты не обрабатываются внутри inline-кода и блоков кода Markdown.
- Содержимое по ссылке автоматически добавляется в контекст Claude.
Порядок загрузки CLAUDE.md (файлы объединяются в контекст, а не жёстко переопределяют друг друга - см. раздел Иерархия памяти в Claude Code выше):
- Managed Policy (загружается первым)
- Правила уровня пользователя (
~/.claude/rules/) - Пользовательская память
- Правила проекта (
.claude/rules/) - Память проекта
- Локальная память проекта (загружается последней)
Auto Memory - это отдельный механизм (~/.claude/projects/<project>/memory/), не входящий в этот порядок объединения.
Ссылки на связанные концепции
Точки интеграции
- Протокол MCP - доступ к живым данным в дополнение к памяти
- Slash-команды - сокращения в рамках сессии
- Skills - автоматизированные сценарии с учётом контекста памяти
Связанные возможности Claude
- Claude Web Memory - автоматическое обобщение
- Официальная документация по памяти - документация Anthropic
Последнее обновление: 25 августа 2026 г. Версия Claude Code: 2.1.245 Источники:
- https://code.claude.com/docs/en/memory Совместимые модели: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5