Память и интеллект проекта — Презентация
Продолжительность: ~8 минут Цель: Студенты понимают иерархию памяти, знают, когда использовать каждый уровень, и осваивают работу автоматической памяти.
Слайд 1: Первое, что читает Claude
Вот интересный факт, который меняет ваше представление о Claude Code:
CLAUDE.md загружается в каждой сессии. Это буквально первое, что Claude читает о вашем проекте.
До того как он посмотрит на код. До того как прочитает ваш промпт. До чего бы то ни было — он читает файлы памяти. Думайте об этом как о приходе в офис и проверке командной wiki перед открытием Slack.
И вот главное: вы контролируете, что написано в этой wiki.
Слайд 2: Иерархия памяти
Память Claude работает слоями, как торт — каждый слой добавляет вкус, и все они объединяются в финальный результат.
┌─────────────────────────────────────────────┐
│ Слой 3: CLAUDE.local.md │
│ Только ваша машина. В gitignore. Секреты, │
│ локальные пути, личные переопределения. │
├─────────────────────────────────────────────┤
│ Слой 2: Проектный CLAUDE.md + .claude/rules│
│ Закоммичен в git. Общий для команды. │
│ Слой "командных договорённостей". │
├─────────────────────────────────────────────┤
│ Слой 1: ~/.claude/CLAUDE.md │
│ Ваши личные предпочтения. Действуют │
│ для всех проектов на вашей машине. │
└─────────────────────────────────────────────┘
Слой 1 — Пользовательский (~/.claude/CLAUDE.md):
Ваша персональная ДНК кодирования. Предпочитаете функциональный стиль вместо классов? Всегда хотите коммит-сообщения в формате conventional? Ненавидите точки с запятой? Это место для таких настроек. Применяется ко всем проектам, которые вы открываете.
Слой 2 — Проектный (CLAUDE.md в корне проекта + .claude/rules/):
Стандарты команды. “Мы используем Tailwind, не CSS-модули.” “Все API-роуты возвращают стандартную структуру ошибки.” “K8s-манифесты используют лейбл app.kubernetes.io/name.” Это хранится в системе контроля версий — когда коллега делает pull, он получает те же инструкции.
Слой 3 — Локальный (CLAUDE.local.md):
Детали, специфичные для вашей машины. Путь к вашей локальной конфигурации Kubernetes. URL вашей staging-среды. API-ключ для локального тестирования. Этот файл по умолчанию в gitignore — он никогда не покидает вашу машину.
Аналогия: Думайте об этом как о CSS-специфичности. Пользовательский уровень — это дефолты браузера. Проектный уровень — это стилевая таблица. Локальный — это инлайновый стиль: наивысший приоритет, самая высокая специфичность.
Слайд 3: Директория .claude/rules/ — Условный интеллект
Вот где становится по-настоящему изящно.
Вместо того чтобы сваливать всё в один гигантский CLAUDE.md, можно создавать сфокусированные файлы правил, которые активируются только когда редактируются релевантные файлы.
.claude/
rules/
testing.md # Загружается при работе с tests/**
k8s.md # Загружается при работе с k8s/**
docker.md # Загружается при работе с Dockerfile*
api.md # Загружается при работе с src/app/api/**
У каждого файла есть фильтр путей в заголовке:
---
path: "k8s/**"
---
When working with Kubernetes manifests:
- Always include resource limits (cpu and memory)
- Use label convention: app.kubernetes.io/name, app.kubernetes.io/component
- Never use `latest` tag for images...
Почему это важно: Claude не нужно думать о ваших K8s-соглашениях, когда вы редактируете React-компонент. Условные правила держат контекст сфокусированным и релевантным — меньше шума, лучше результаты.
Это как то, что хирург не просматривает меню столовой перед операцией. Правильная информация в правильное время.
Слайд 4: Автоматическая память — Claude учится у вас
Это почти магия.
Когда вы поправляете Claude во время сессии — “Нет, мы используем pnpm здесь, не npm” или “Наши тесты используют vitest, не jest” — Claude может запомнить эту поправку на будущее.
Как это работает:
- Вы поправляете Claude по чему-то специфичному для проекта
- Claude распознаёт это как запоминаемое соглашение
- Он предлагает сохранить инсайт в память проекта
- В следующей сессии он уже знает
Вы также можете использовать команду /memory в любой момент, чтобы:
- Посмотреть всё, что Claude загрузил
- Редактировать записи памяти напрямую
- Добавить новые соглашения на лету
Совет: После код-ревью, где вы дали много обратной связи, начните сессию Claude и просто скажите “Я хочу добавить несколько соглашений в память проекта.” Затем перечислите то, что вы говорили автору PR. Теперь Claude будет автоматически применять эти соглашения.
Слайд 5: Импорты @path — Указание Claude на ссылочные материалы
Иногда вы хотите, чтобы Claude прочитал конкретный файл как контекст, даже если он не стал бы искать его сам. Для этого и нужен @path.
В любом файле CLAUDE.md или правил можно ссылаться на другие файлы:
For our API response format, follow the pattern in @src/lib/api-response.ts
For deployment conventions, see @docs/deployment-guide.md
Claude загрузит указанные файлы как дополнительный контекст. Это как сказать “прежде чем начнёшь, прочитай вот это.”
Слайд 6: Собираем всё вместе
Вот как выглядит хорошо настроенный проект:
~/.claude/
CLAUDE.md # "Предпочитаю TypeScript strict mode, conventional commits"
ai-coderrank/
CLAUDE.md # "Приложение на Next.js 14, pnpm, Tailwind CSS, соглашения команды"
CLAUDE.local.md # "Мой staging URL — ..., мой API-ключ — ..."
.claude/
rules/
testing.md # Паттерны тестирования (path: tests/**)
k8s.md # Соглашения K8s (path: k8s/**)
docker.md # Лучшие практики Docker (path: Dockerfile*)
Когда вы открываете сессию и редактируете K8s-манифест, Claude загружает:
- Ваш персональный
~/.claude/CLAUDE.md - Проектный
CLAUDE.md - Ваш
CLAUDE.local.md - Правило
k8s.md(потому что вы работаете с K8s-файлами)
Это четыре слоя контекста, загруженных автоматически, прежде чем вы наберёте хоть слово.
Вот так вы превращаете AI общего назначения в эксперта вашей команды.
Ключевые выводы
| Слой | Файл | Общий? | Назначение |
|---|---|---|---|
| Пользовательский | ~/.claude/CLAUDE.md |
Нет (личный) | Стиль кодирования, предпочитаемые инструменты, формат коммитов |
| Проектный | CLAUDE.md |
Да (git) | Стандарты команды, стек технологий, соглашения |
| Локальный | CLAUDE.local.md |
Нет (gitignored) | Переменные окружения, локальные пути, секреты |
| Правила | .claude/rules/*.md |
Да (git) | Условные, привязанные к путям соглашения |
| Авто | Выученное из поправок | По проекту | Накопленные знания от использования |
Переход: Хорошо — хватит теории. Давайте построим полную систему памяти для ai-coderrank. К концу практики Claude будет знать этот проект как старший инженер, проработавший в команде год.
Готовы проверить себя?
Пройти квиз →