Система памяти Claude Code
Каждый раз, когда сеанс Claude Code завершается, контекст очищается.
Бывает ли, что нам приходится каждый раз снова говорить Claude "используй pnpm вместо npm" или "у нас отступ в 2 пробела"?Система памятибыла создана именно для этого.
Что такое система памяти Claude Code?
В Claude Code нет автоматической памяти между сессиями — каждая новая сессия начинается с чистого окна контекста.
Система памяти использует два взаимодополняющих механизма, позволяющих знаниямсохраняться между сессиямии автоматически загружаться в начале каждого разговора:
| Механизм | Кто это пишет | Лучше всего подходит для |
|---|---|---|
| Файл CLAUDE.md | Вы (разработчик) пишете вручную | Соглашения проекта, договорённости команды, команды сборки и т. д. |
| Автоматическая память | Claude пишет автоматически | Опыт, накопленный из ваших исправлений и предпочтений |
Оба механизма загружаются в контекст в начале каждой сессии. Claude рассматривает их каксправочный контекст, а не как обязательную конфигурацию — чем конкретнее и лаконичнее инструкции, тем последовательнее Claude им следует.
Иерархическая структура файлов памяти
Claude Code используетчетырёхуровневую иерархию памяти, с приоритетом от высокого к низкому:
1. 企业级配置(Enterprise policy) ← 最高优先级,只读 2. 用户级 CLAUDE.md ← ~/.claude/CLAUDE.md,对所有项目生效 3. 项目级 CLAUDE.md ← 项目根目录,随 Git 提交共享给团队 4. 子目录级 CLAUDE.md ← src/、api/、tests/ 等子目录,按上下文加载
Наиболее конкретные правила имеют приоритет: CLAUDE.md в подкаталоге переопределяет аналогичные правила из более высоких уровней.
Пояснение к файлу CLAUDE.md
Что такое CLAUDE.md?
CLAUDE.mdЭто файл Markdown, размещённый в корне проекта (или подкаталоге). В начале каждой новой сессии Claude Code будетавтоматически внедрять его в системный промпт. Это долговременная память, которую вы можете настроить.
Создание CLAUDE.md
Способ 1: Использование/initкоманды для автоматической генерации
# 在 Claude Code 会话中执行 /init
Claude проанализирует структуру вашего каталога и автоматически сгенерирует скелет CLAUDE.md, адаптированный под ваш стек технологий. Например, при запуске в проекте Node.js/init, Claude автоматически определит фреймворки, инструменты тестирования, команды сборки и т. д. и сгенерирует начальный файл, готовый на 80% в течение 30 секунд.
Способ 2: Создание вручную
touch CLAUDE.md
Рекомендуемая структура CLAUDE.md
# 项目约定
## 技术栈
- 前端:Next.js 15、TypeScript 5.7、Tailwind CSS 4
- 后端:Node.js 22、Prisma 6
- 测试:Vitest 3.2
## 代码规范
- 始终使用函数式 React 组件
- 文件名使用 kebab-case
- 测试文件与源码放在同一目录
## 常用命令
- 构建:`pnpm build`
- 测试:`pnpm test`
- 启动开发服务器:`pnpm dev`
## API 约定
- 所有 API 路由以 `/api/v1/` 开头
- 错误响应格式:`{ error: string, code: number }`
Золотые правила написания хорошего CLAUDE.md
✅ Сделайте так:
- Используйте предложения в повелительном наклонении и короткие списки, а не повествовательные абзацы
- Указывайте конкретные номера версий и команды
- Добавляйте примеры кода (пример из 5 строк лучше объяснения из 50 символов)
- Не превышайте200 строк(всё, что превышает это, не будет загружено при запуске сеанса)
❌ Избегайте такого стиля:
- Расплывчатые инструкции вроде «следуйте лучшим практикам» или «пишите чистый код»
- Слишком много общих правил (включайте только соглашения, уникальные для этого проекта)
- Устаревшая информация (рекомендуется пересматривать раз в месяц)
CLAUDE.md в подкаталоге
my-project/
├── CLAUDE.md # 全局项目规范
├── src/
│ └── CLAUDE.md # 仅在处理 src/ 文件时加载
├── api/
│ └── CLAUDE.md # API 特定约定
└── tests/
└── CLAUDE.md # 测试特定规则Claude Code загружает CLAUDE.md подкаталога только при обработке файлов в этом каталоге, экономя токены и обеспечивая более точный контекст.
Auto Memory: подробное объяснение
Как это работает?
Автопамять позволяет Claude накапливать знания между сессиямисамостоятельно накапливать знаниябез необходимости вручную что-либо записывать. Claude автоматически сохраняет заметки во время работы, включая:
- Команды сборки и советы по отладке
- Заметки об архитектурных решениях
- Предпочтения по стилю кода
- Привычки рабочего процесса
Claude не сохраняет всё каждый раз; он оценивает, какая информация будет полезна в будущих сессияхполезна в будущих сессияхпрежде чем записать её.
Файловая структура Автопамяти
~/.claude/projects/<project>/memory/ ├── MEMORY.md # 简洁的索引文件,每次会话开始时加载(前 200 行) ├── debugging.md # 调试模式的详细笔记 ├── api-conventions.md # API 设计决策 └── ... # Claude 创建的其他主题文件
MEMORY.mdявляется индексом всего каталога памяти; Claude использует его, чтобы отслеживать, что хранится в каждом файле.
Запуск Автопамяти
Когда вы сообщаете Claude определённые вещи, он автоматически сохраняет их в память:
你:始终使用 pnpm,不要用 npm 你:记住 API 测试需要本地运行 Redis 实例 你:我们的日期格式统一用 ISO 8601
Хотите сохранить в CLAUDE.md вместо Автопамяти?Укажите это явно:
你:把这条加到 CLAUDE.md
Включение/отключение Автопамяти
Способ 1: Через/memoryпереключение команды(см. следующий раздел)
Способ 2: Настроить в параметрах проекта
// .claude/settings.json
{
"autoMemoryEnabled": false
}Способ 3: Переменные среды
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1blockquote>
Примечание:Auto Memory являетсялокальным на уровне машины; все рабочие деревья и подкаталоги одного и того же репозитория Git используют один каталог памяти, ноон не синхронизируется между машинами или облачными средами.。
/memoryРуководство по использованию команды
/memoryявляется основной командой для управления системой памяти.
/memoryФункции команды
В сеансе Claude Code введите/memory, и вы можете:
- ПросмотрСписок всех файлов CLAUDE.md и файлов правил, загруженных в текущем сеансе
- Переключениестатуса включения/выключения Auto Memory
- Открытьссылку на папку Auto Memory
- Выберите любой файлчтобы открыть и редактировать в редакторе
#Сочетание клавиш — быстро добавить память
Это скрытая жемчужина эффективности:
# 始终在函数参数中使用具名参数(named parameters)
Нажмите#клавишу, введите то, что хотите запомнить, нажмите Enter — Claude Code автоматически запишет это в соответствующий файл CLAUDE.md. Идеально для:
- Запись проектных соглашений
- Сохранение часто используемых команд Bash
- Заметки о деталях стиля кода
Типичные проблемы и отладка
Claude игнорирует инструкции в CLAUDE.md?
- Запустите
/memoryчтобы убедиться, что файл CLAUDE.md загружен - Убедитесь, что Claude Code запущен в каталоге, содержащем CLAUDE.md (или подкаталоге)
- Проверьте, достаточно ли конкретна инструкция — «следуйте лучшим практикам» слишком расплывчато, тогда как «используйте именованные импорты (совместимые с tree-shaking)» эффективнее
- Проверьте, превышает ли файл 200 строк (содержимое сверх этого не загружается)
CLAUDE.md — это контекст, а не обязательные правила
Claude читаети старается по мере возможностей следовать CLAUDE.md, но нет гарантии строгого соблюдения, особенно когда инструкции расплывчаты или противоречивы. Считайте это «руководством по работе для Claude», а не «нерушимыми правилами».
Примеры реальных рабочих процессов
Сценарий 1: инициализация нового проекта
# 1. 在项目根目录启动 Claude Code cd my-project claude # 2. 生成记忆文件骨架 /init # 3. 审查并完善生成的 CLAUDE.md /memory # 打开文件编辑 # 4. 开始工作,Claude 会自动积累记忆
Сценарий 2: запись результатов отладки
你:记住,运行集成测试前必须先启动 Docker Compose Claude:好的,我已将这条记录到 Auto Memory 中。В следующей сессии Claude автоматически будет знать об этой зависимости.
Сценарий 3: командная работа
Поместите в корневой каталог проектаCLAUDE.mdЗафиксируйте в репозитории Git — Claude-ассистент каждого члена команды читает одни и те же спецификации, обеспечивая единообразный опыт работы с ИИ.
git add CLAUDE.md git commit -m "feat: add Claude Code memory configuration"
Сводка лучших практик
| Сценарий | Рекомендуемый подход |
|---|---|
| Спецификации, общие для команды | CLAUDE.md в корне проекта, закоммичен в Git |
| Личные предпочтения | ~/.claude/CLAUDE.md(На уровне пользователя) |
| Правила для конкретных модулей | CLAUDE.md в подкаталоге |
| Позволить Claude самообучаться | Включите Auto Memory, проговаривайте предпочтения |
| Временный контекст | @docs/filename.mdСсылайтесь по необходимости, не втискивайте это в CLAUDE.md |
| Отслеживание задач | Используйте в файлах Markdown[ ]Флажок |