Перейти к основному содержанию
Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:
  • Файлы CLAUDE.md: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст
  • Auto memory: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений
На этой странице рассматривается, как:

CLAUDE.md и auto memory

Claude Code имеет две дополняющие друг друга системы памяти. Обе загружаются в начале каждого разговора. Claude рассматривает их как контекст, а не как принудительную конфигурацию. Чем более конкретны и лаконичны ваши инструкции, тем последовательнее Claude их соблюдает.
Файлы CLAUDE.mdAuto memory
Кто это пишетВыClaude
Что это содержитИнструкции и правилаЗнания и закономерности
Область действияПроект, пользователь или организацияPer working tree
Загружается вКаждый сеансКаждый сеанс (первые 200 строк)
Используется дляСтандарты кодирования, рабочие процессы, архитектура проектаКоманды сборки, инсайты отладки, предпочтения Claude обнаруживает
Используйте файлы CLAUDE.md, когда вы хотите направить поведение Claude. Auto memory позволяет Claude учиться на ваших исправлениях без ручных усилий. Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе конфигурация subagent.

Файлы CLAUDE.md

Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждого сеанса.

Выберите, где разместить файлы CLAUDE.md

Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Более конкретные местоположения имеют приоритет над более широкими.
Область действияМестоположениеНазначениеПримеры использованияОбщий доступ с
Управляемая политика• macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
• Linux и WSL: /etc/claude-code/CLAUDE.md
• Windows: C:\Program Files\ClaudeCode\CLAUDE.md
Инструкции на уровне организации, управляемые IT/DevOpsСтандарты кодирования компании, политики безопасности, требования соответствияВсе пользователи в организации
Инструкции проекта./CLAUDE.md или ./.claude/CLAUDE.mdИнструкции, общие для команды проектаАрхитектура проекта, стандарты кодирования, общие рабочие процессыЧлены команды через систему контроля версий
Инструкции пользователя~/.claude/CLAUDE.mdЛичные предпочтения для всех проектовПредпочтения стиля кода, личные ярлыки инструментовТолько вы (все проекты)
Файлы CLAUDE.md в иерархии каталогов выше рабочего каталога загружаются полностью при запуске. Файлы CLAUDE.md в подкаталогах загружаются по требованию, когда Claude читает файлы в этих каталогах. Полный порядок разрешения см. в разделе Как загружаются файлы CLAUDE.md. Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя правила проекта. Правила позволяют ограничить инструкции определёнными типами файлов или подкаталогами.

Установите CLAUDE.md проекта

CLAUDE.md проекта может быть сохранён либо в ./CLAUDE.md, либо в ./.claude/CLAUDE.md. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях.
Запустите /init для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, /init предлагает улучшения вместо перезаписи. Уточните оттуда с помощью инструкций, которые Claude не смог бы обнаружить самостоятельно.Установите CLAUDE_CODE_NEW_INIT=true для включения интерактивного многофазного потока. /init спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью subagent, заполняет пробелы через дополнительные вопросы и представляет проверяемое предложение перед написанием каких-либо файлов.

Пишите эффективные инструкции

Файлы CLAUDE.md загружаются в context window в начале каждого сеанса, потребляя токены наряду с вашим разговором. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их соблюдает. Лучше всего работают конкретные, лаконичные, хорошо структурированные инструкции. Размер: целевой показатель менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соблюдение. Если ваши инструкции становятся большими, разделите их с помощью импортов или файлов .claude/rules/. Структура: используйте заголовки markdown и маркеры для группировки связанных инструкций. Claude сканирует структуру так же, как читатели: организованные разделы легче следовать, чем плотные абзацы. Конкретность: пишите инструкции, которые достаточно конкретны для проверки. Например:
  • “Используйте отступ из 2 пробелов” вместо “Правильно форматируйте код”
  • “Запустите npm test перед фиксацией” вместо “Протестируйте ваши изменения”
  • “Обработчики API находятся в src/api/handlers/” вместо “Держите файлы организованными”
Согласованность: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и файлы .claude/rules/, чтобы удалить устаревшие или конфликтующие инструкции. В монорепозиториях используйте claudeMdExcludes для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.

Импортируйте дополнительные файлы

Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис @path/to/import. Импортированные файлы расширяются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылается. Допускаются как относительные, так и абсолютные пути. Относительные пути разрешаются относительно файла, содержащего импорт, а не рабочего каталога. Импортированные файлы могут рекурсивно импортировать другие файлы с максимальной глубиной пять переходов. Чтобы подтянуть README, package.json и руководство рабочего процесса, ссылайтесь на них с помощью синтаксиса @ в любом месте вашего CLAUDE.md:
Смотрите @README для обзора проекта и @package.json для доступных команд npm для этого проекта.

# Дополнительные инструкции
- git workflow @docs/git-instructions.md
Для личных предпочтений, которые вы не хотите проверять, импортируйте файл из вашего домашнего каталога. Импорт находится в общем CLAUDE.md, но файл, на который он указывает, остаётся на вашей машине:
# Личные предпочтения
- @~/.claude/my-project-instructions.md
В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог одобрения со списком файлов. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.
Для более структурированного подхода к организации инструкций см. .claude/rules/.

AGENTS.md

Claude Code читает CLAUDE.md, не AGENTS.md. Если ваш репозиторий уже использует AGENTS.md для других кодирующих агентов, создайте CLAUDE.md, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сеанса, затем добавляет остальное:
CLAUDE.md
@AGENTS.md

## Claude Code

Используйте plan mode для изменений в `src/billing/`.

Как загружаются файлы CLAUDE.md

Claude Code читает файлы CLAUDE.md, проходя вверх по дереву каталогов из вашего текущего рабочего каталога, проверяя каждый каталог на пути. Это означает, что если вы запустите Claude Code в foo/bar/, он загружает инструкции из foo/bar/CLAUDE.md и foo/CLAUDE.md. Claude также обнаруживает файлы CLAUDE.md в подкаталогах под вашим текущим рабочим каталогом. Вместо загрузки при запуске они включаются, когда Claude читает файлы в этих подкаталогах. Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте claudeMdExcludes для их пропуска. Блочные HTML-комментарии (<!-- maintainer notes -->) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих разработчиков без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md напрямую с помощью инструмента Read, комментарии остаются видимыми.

Загрузка из дополнительных каталогов

Флаг --add-dir дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются. Чтобы также загружать файлы CLAUDE.md из дополнительных каталогов, включая CLAUDE.md, .claude/CLAUDE.md и .claude/rules/*.md, установите переменную окружения CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD:
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

Организуйте правила с помощью .claude/rules/

Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог .claude/rules/. Это делает инструкции модульными и облегчает их поддержку командами. Правила также могут быть ограничены определёнными путями файлов, поэтому они загружаются в контекст только когда Claude работает с соответствующими файлами, снижая шум и экономя пространство контекста.
Правила загружаются в контекст каждый сеанс или когда открываются соответствующие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте skills, которые загружаются только при их вызове или когда Claude определяет, что они имеют отношение к вашему запросу.

Установите правила

Поместите файлы markdown в каталог .claude/rules/ вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например testing.md или api-design.md. Все файлы .md обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как frontend/ или backend/:
your-project/
├── .claude/
│   ├── CLAUDE.md           # Основные инструкции проекта
│   └── rules/
│       ├── code-style.md   # Рекомендации по стилю кода
│       ├── testing.md      # Соглашения тестирования
│       └── security.md     # Требования безопасности
Правила без frontmatter paths загружаются при запуске с тем же приоритетом, что и .claude/CLAUDE.md.

Правила, специфичные для пути

Правила могут быть ограничены определёнными файлами с помощью YAML frontmatter с полем paths. Эти условные правила применяются только когда Claude работает с файлами, соответствующими указанным шаблонам.
---
paths:
  - "src/api/**/*.ts"
---

# Правила разработки API

- Все конечные точки API должны включать проверку входных данных
- Используйте стандартный формат ответа об ошибке
- Включите комментарии документации OpenAPI
Правила без поля paths загружаются безусловно и применяются ко всем файлам. Правила с ограничением по пути срабатывают, когда Claude читает файлы, соответствующие шаблону, а не при каждом использовании инструмента. Используйте glob-шаблоны в поле paths для сопоставления файлов по расширению, каталогу или любой комбинации:
ШаблонСоответствует
**/*.tsВсе файлы TypeScript в любом каталоге
src/**/*Все файлы в каталоге src/
*.mdФайлы Markdown в корне проекта
src/components/*.tsxКомпоненты React в определённом каталоге
Вы можете указать несколько шаблонов и использовать расширение скобок для сопоставления нескольких расширений в одном шаблоне:
---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---
Каталог .claude/rules/ поддерживает symlinks, поэтому вы можете поддерживать общий набор правил и связывать их с несколькими проектами. Symlinks разрешаются и загружаются нормально, а циклические symlinks обнаруживаются и обрабатываются корректно. Этот пример связывает как общий каталог, так и отдельный файл:
ln -s ~/shared-claude-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md

Правила на уровне пользователя

Личные правила в ~/.claude/rules/ применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не зависят от проекта:
~/.claude/rules/
├── preferences.md    # Ваши личные предпочтения кодирования
└── workflows.md      # Ваши предпочтительные рабочие процессы
Правила на уровне пользователя загружаются перед правилами проекта, что даёт правилам проекта более высокий приоритет.

Управляйте CLAUDE.md для больших команд

Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.

Развёртывание CLAUDE.md на уровне организации

Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.
1

Создайте файл в местоположении управляемой политики

  • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
  • Linux и WSL: /etc/claude-code/CLAUDE.md
  • Windows: C:\Program Files\ClaudeCode\CLAUDE.md
2

Развёртывание с помощью вашей системы управления конфигурацией

Используйте MDM, Group Policy, Ansible или аналогичные инструменты для распределения файла на машины разработчиков. Подробнее см. в разделе управляемые настройки для других параметров конфигурации на уровне организации.
Управляемый CLAUDE.md и управляемые настройки служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для поведенческого руководства:
ПроблемаНастроить в
Блокировать определённые инструменты, команды или пути файловУправляемые настройки: permissions.deny
Принудительная изоляция sandboxУправляемые настройки: sandbox.enabled
Переменные окружения и маршрутизация поставщика APIУправляемые настройки: env
Метод аутентификации и блокировка организацииУправляемые настройки: forceLoginMethod, forceLoginOrgUUID
Рекомендации по стилю кода и качествуУправляемый CLAUDE.md
Напоминания об обработке данных и соответствииУправляемый CLAUDE.md
Поведенческие инструкции для ClaudeУправляемый CLAUDE.md
Правила настроек принудительно применяются клиентом независимо от того, что решит делать Claude. Инструкции CLAUDE.md формируют поведение Claude, но не являются жёстким уровнем принуждения.

Исключите определённые файлы CLAUDE.md

В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр claudeMdExcludes позволяет пропустить определённые файлы по пути или glob-шаблону. Этот пример исключает CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в .claude/settings.local.json, чтобы исключение оставалось локальным для вашей машины:
{
  "claudeMdExcludes": [
    "**/monorepo/CLAUDE.md",
    "/home/user/monorepo/other-team/.claude/rules/**"
  ]
}
Шаблоны сопоставляются с абсолютными путями файлов с использованием синтаксиса glob. Вы можете настроить claudeMdExcludes на любом уровне настроек: пользователь, проект, локальный или управляемая политика. Массивы объединяются между уровнями. Файлы CLAUDE.md управляемой политики не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.

Auto memory

Auto memory позволяет Claude накапливать знания между сеансами без вашего участия. Claude сохраняет заметки для себя по мере работы: команды сборки, инсайты отладки, заметки об архитектуре, предпочтения стиля кода и привычки рабочего процесса. Claude не сохраняет что-то каждый сеанс. Он решает, что стоит помнить, на основе того, будет ли информация полезна в будущем разговоре.
Auto memory требует Claude Code v2.1.59 или позже. Проверьте вашу версию с помощью claude --version.

Включите или отключите auto memory

Auto memory включена по умолчанию. Чтобы переключить её, откройте /memory в сеансе и используйте переключатель auto memory, или установите autoMemoryEnabled в настройках вашего проекта:
{
  "autoMemoryEnabled": false
}
Чтобы отключить auto memory через переменную окружения, установите CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.

Местоположение хранилища

Каждый проект получает свой собственный каталог памяти в ~/.claude/projects/<project>/memory/. Путь <project> получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта. Чтобы сохранить auto memory в другом местоположении, установите autoMemoryDirectory в ваших пользовательских или локальных настройках:
{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}
Этот параметр принимается из политики, локальных и пользовательских настроек. Он не принимается из настроек проекта (.claude/settings.json), чтобы предотвратить перенаправление общим проектом записей auto memory в чувствительные местоположения. Каталог содержит точку входа MEMORY.md и дополнительные файлы по темам:
~/.claude/projects/<project>/memory/
├── MEMORY.md          # Краткий индекс, загружается в каждый сеанс
├── debugging.md       # Подробные заметки о шаблонах отладки
├── api-conventions.md # Решения по проектированию API
└── ...                # Любые другие файлы по темам, которые создаёт Claude
MEMORY.md служит индексом каталога памяти. Claude читает и пишет файлы в этом каталоге на протяжении вашего сеанса, используя MEMORY.md для отслеживания того, что хранится где. Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.

Как это работает

Первые 200 строк MEMORY.md загружаются в начале каждого разговора. Содержимое после строки 200 не загружается при запуске сеанса. Claude держит MEMORY.md лаконичным, перемещая подробные заметки в отдельные файлы по темам. Это ограничение в 200 строк применяется только к MEMORY.md. Файлы CLAUDE.md загружаются полностью независимо от длины, хотя более короткие файлы дают лучшее соблюдение. Файлы по темам, такие как debugging.md или patterns.md, не загружаются при запуске. Claude читает их по требованию, используя свои стандартные инструменты файлов, когда ему нужна информация. Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите “Writing memory” или “Recalled memory” в интерфейсе Claude Code, Claude активно обновляет или читает из ~/.claude/projects/<project>/memory/.

Проверьте и отредактируйте вашу память

Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите /memory для просмотра и открытия файлов памяти из сеанса.

Просмотр и редактирование с помощью /memory

Команда /memory перечисляет все файлы CLAUDE.md и правила, загруженные в вашем текущем сеансе, позволяет переключать auto memory включена или отключена, и предоставляет ссылку для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе. Когда вы просите Claude что-то запомнить, например “всегда используйте pnpm, а не npm” или “помните, что тесты API требуют локального экземпляра Redis”, Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например “добавьте это в CLAUDE.md”, или отредактируйте файл самостоятельно через /memory.

Устранение неполадок с памятью

Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.

Claude не следует моему CLAUDE.md

Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций. Для отладки:
  • Запустите /memory для проверки загрузки ваших файлов CLAUDE.md. Если файл не указан, Claude не может его видеть.
  • Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. Выберите, где разместить файлы CLAUDE.md).
  • Сделайте инструкции более конкретными. “Используйте отступ из 2 пробелов” работает лучше, чем “красиво форматируйте код”.
  • Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.
Для инструкций, которые вы хотите на уровне системного запроса, используйте --append-system-prompt. Это должно быть передано при каждом вызове, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования.
Используйте hook InstructionsLoaded для логирования точно того, какие файлы инструкций загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.

Я не знаю, что сохранила auto memory

Запустите /memory и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.

Мой CLAUDE.md слишком большой

Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Переместите подробное содержимое в отдельные файлы, на которые ссылаются импорты @path (см. Импортируйте дополнительные файлы), или разделите ваши инструкции между файлами .claude/rules/.

Инструкции кажутся потерянными после /compact

CLAUDE.md полностью выживает при сжатии. После /compact Claude повторно читает ваш CLAUDE.md с диска и повторно вводит его свежим в сеанс. Если инструкция исчезла после сжатия, она была дана только в разговоре, а не написана в CLAUDE.md. Добавьте её в CLAUDE.md, чтобы она сохранялась между сеансами. Подробнее см. в разделе Пишите эффективные инструкции для рекомендаций по размеру, структуре и конкретности.

Связанные ресурсы

  • Skills: упакуйте повторяемые рабочие процессы, которые загружаются по требованию
  • Settings: настройте поведение Claude Code с помощью файлов настроек
  • Manage sessions: управляйте контекстом, возобновляйте разговоры и запускайте параллельные сеансы
  • Subagent memory: позвольте subagents поддерживать собственную auto memory