Этот пост открывает так сказать серию постов про главный файл каждого автокодировщика.
Я, когда только начинал работать с Claude Code и Sonnet 3.7 (по-моему тогда еще даже Opus не было, его позже добавили), я никак не мог понять, почему:
Агент игнорирует правила, записаные в CLAUDE.md
На это есть как минимум 3 причины:
• У этих "слабых" по нынешним временам моделей в пределах контекстного окна было куда больше галлюцинации.
• Память была намного хуже, никакой MEMORY.md и в проекте не было (она появится только через полгода)
• Хуков тогда практически тоже не было.
Для решения этого Антропиком была предложена такая реализация:
При каждом промпте к агенту, содержимое CLUADE.md замешивает в помпт
(чтобы агент не забывал самое важное).
И из этого тупо следует вывод, что контекстное окно линейно растет — чем больше вы записываете в CLAUDE.md тем больше /context с каждым промптом.
Да, на текущий момент мы ушли намного далеко вперед, но главная проблема все еще осталось:
Глобальный ~/.claude/CLAUDE.md грузится во все сессии, но project-level имеет приоритет, и главное — Claude Code трактует memory как «context, not enforced configuration».
Т.е. лучше его воспринимать не как "правила", а как рекомендацию.
Продолжение