Блок 5 Презентація

Пам'ять та інтелект проєкту — Презентація

Тривалість: ~8 хвилин Мета: Студенти розуміють ієрархію пам’яті, знають, коли використовувати кожен рівень, та усвідомлюють, як працює автопам’ять.


Слайд 1: Перше, що читає Claude

Ось цікавий факт, що змінює ваше уявлення про Claude Code:

CLAUDE.md завантажується кожну сесію. Це буквально перше, що Claude читає про ваш проєкт.

До того, як він подивиться на код. До того, як прочитає ваш промпт. До всього — він читає свої файли пам’яті. Уявіть це як прихід в офіс і перегляд командної wiki перед відкриттям Slack.

І ось ключовий момент: ви контролюєте, що на тій wiki.


Слайд 2: Ієрархія пам’яті

Пам’ять Claude працює шарами, як торт — кожен шар додає смаку, і всі разом складаються в кінцевий результат.

┌─────────────────────────────────────────────┐
│  Шар 3: CLAUDE.local.md                     │
│  Тільки ваша машина. Gitignored. Секрети,   │
│  локальні шляхи, персональні перевизначення. │
├─────────────────────────────────────────────┤
│  Шар 2: Проєктний CLAUDE.md + .claude/rules │
│  Закомічено в git. Спільне з командою.       │
│  Шар "командної угоди".                      │
├─────────────────────────────────────────────┤
│  Шар 1: ~/.claude/CLAUDE.md                  │
│  Ваші персональні вподобання. Слідують       │
│  за вами в кожному проєкті на машині.        │
└─────────────────────────────────────────────┘

Шар 1 — Користувацький (~/.claude/CLAUDE.md): Ваша персональна ДНК кодування. Віддаєте перевагу функціональному стилю над класами? Завжди хочете коміт-повідомлення у форматі conventional? Ненавидите крапки з комою? Це йде сюди. Застосовується до кожного проєкту, який ви відкриваєте.

Шар 2 — Проєктний (CLAUDE.md в корені проєкту + .claude/rules/): Стандарти команди. “Ми використовуємо Tailwind, а не CSS modules.” “Всі API-маршрути повертають стандартну форму помилки.” “K8s-маніфести використовують лейбл app.kubernetes.io/name.” Це живе у версійному контролі — коли колега робить pull, він отримує ті самі інструкції.

Шар 3 — Локальний (CLAUDE.local.md): Деталі, специфічні для вашої машини. Шлях до вашого локального Kubernetes-конфіга. URL staging-середовища. API-ключ для локального тестування. Цей файл gitignored за замовчуванням — він ніколи не покидає вашу машину.

Аналогія: Уявіть це як CSS-специфічність. Користувацький рівень — це дефолти браузера. Проєктний рівень — це таблиця стилів. Локальний — це inline-стиль — найвищий пріоритет, найбільша специфічність.


Слайд 3: Директорія .claude/rules/ — умовний інтелект

Ось де стає по-справжньому розумно.

Замість того, щоб зваливати все в один гігантський CLAUDE.md, ви можете створити фокусовані файли правил, що активуються лише коли редагуються відповідні файли.

.claude/
  rules/
    testing.md      # Завантажується при редагуванні tests/**
    k8s.md          # Завантажується при редагуванні k8s/**
    docker.md       # Завантажується при редагуванні Dockerfile*
    api.md          # Завантажується при редагуванні src/app/api/**

Кожен файл має фільтр шляху зверху:

---
path: "k8s/**"
---

При роботі з Kubernetes-маніфестами:
- Завжди включайте resource limits (cpu та memory)
- Використовуйте конвенцію лейблів: app.kubernetes.io/name, app.kubernetes.io/component
- Ніколи не використовуйте тег `latest` для образів...

Чому це важливо: Claude не повинен думати про ваші K8s-конвенції, коли ви редагуєте React-компонент. Умовні правила тримають контекст фокусованим та релевантним — менше шуму, кращі результати.

Це як хірург, який не переглядає меню їдальні перед операцією. Правильна інформація у правильний час.


Слайд 4: Автопам’ять — Claude вчиться від вас

Це майже магія.

Коли ви виправляєте Claude під час сесії — “Ні, ми тут використовуємо pnpm, а не npm” або “Наші тести використовують vitest, а не jest” — Claude може запам’ятати це виправлення на наступний раз.

Як це працює:

  1. Ви виправляєте Claude щодо чогось специфічного для проєкту
  2. Claude розпізнає це як конвенцію, яку можна запам’ятати
  3. Він пропонує зберегти інсайт у пам’ять проєкту
  4. Наступна сесія — він вже знає

Ви також можете використовувати команду /memory в будь-який час, щоб:

  • Побачити все, що Claude наразі завантажив
  • Редагувати записи пам’яті напряму
  • Додати нові конвенції на льоту

Порада: Після код-рев’ю, де ви дали багато зворотного зв’язку, запустіть сесію Claude і просто скажіть “I want to add some conventions to our project memory.” Потім перерахуйте, що ви сказали автору PR. Тепер Claude застосовуватиме ці конвенції автоматично.


Слайд 5: @path-імпорти — вказуємо Claude на референси

Іноді хочеться, щоб Claude прочитав конкретний файл як контекст, навіть якщо він не подивився б туди природно. Для цього є @path.

У будь-якому CLAUDE.md або файлі правил ви можете посилатися на інші файли:

Для формату відповідей API дотримуйся патерну з @src/lib/api-response.ts
Для конвенцій деплою дивись @docs/deployment-guide.md

Claude завантажить ці файли-референси як додатковий контекст. Це як сказати “перш ніж починати, прочитай це.”


Слайд 6: Збираємо все разом

Ось як виглядає добре налаштований проєкт:

~/.claude/
  CLAUDE.md              # "Я віддаю перевагу TypeScript strict mode, conventional commits"

ai-coderrank/
  CLAUDE.md              # "Next.js 14 app, pnpm, Tailwind CSS, конвенції команди"
  CLAUDE.local.md        # "Мій staging URL — ..., мій API-ключ — ..."
  .claude/
    rules/
      testing.md         # Патерни тестування (path: tests/**)
      k8s.md             # K8s-конвенції (path: k8s/**)
      docker.md          # Docker best practices (path: Dockerfile*)

Коли ви відкриваєте сесію і редагуєте K8s-маніфест, Claude завантажує:

  1. Ваш персональний ~/.claude/CLAUDE.md
  2. Проєктний CLAUDE.md
  3. Ваш CLAUDE.local.md
  4. Правило k8s.md (бо ви торкаєтесь K8s-файлів)

Це чотири шари контексту, завантажені автоматично, до того як ви введете хоч слово.

Так загальний AI перетворюється на експерта вашої команди.


Ключові висновки

Шар Файл Спільний? Кейс використання
Користувач ~/.claude/CLAUDE.md Ні (персональний) Стиль кодування, улюблені інструменти, формат комітів
Проєкт CLAUDE.md Так (git) Стандарти команди, стек технологій, конвенції
Локальний CLAUDE.local.md Ні (gitignored) Env-змінні, локальні шляхи, секрети
Правила .claude/rules/*.md Так (git) Умовні, специфічні для шляху конвенції
Авто Вивчене з корекцій По проєкту Накопичені знання від використання

Перехід: Гаразд — досить теорії. Давайте побудуємо повну систему пам’яті для ai-coderrank. До кінця практичної частини Claude знатиме цей проєкт як досвідчений інженер, що в команді вже рік.


Готові перевірити засвоєне?

Пройти квіз →