Делаем "память" проекта в Claude Code самостоятельно
Когда люди начинают работать с Claude Code, первое ощущение обычно очень приятное: агент помнит контекст, понимает задачу с полуслова, может держать в голове структуру проекта, предыдущие шаги и текущую цель. На этом фоне легко возникает иллюзия, что достаточно просто “хорошо поговорить” с моделью — и дальше она сама удержит все важное.
На короткой дистанции это действительно работает. Но как только проект становится чуть сложнее, а работа выходит за пределы одной-двух сессий, выясняется неприятная вещь: контекст чата — плохое место для долговременной памяти. Его приходится чистить, ужимать, пересобирать. А вместе с лишними деталями очень легко потерять и полезное состояние проекта: что уже сделано, какие решения приняты, где остановились и что нужно делать дальше.
Поэтому довольно быстро возникает более взрослая задача: перестать хранить проект в голове агента и вынести его состояние наружу — в простую и понятную файловую структуру. Не для красоты, а для того, чтобы каждая новая сессия продолжала предыдущую, а не начинала работу почти заново.
В этой статье покажу минимальный сетап для такой работы: как организовать CLAUDE.md, зачем нужен README.md, как устроить папку .planning и почему связка TODO.md + NEXT.md часто оказывается полезнее, чем попытка удержать все в бесконечном чате.
В корневом каталоге проекта запустите команду /init — она создаст и частично заполнит файл CLAUDE.md.
Если вы только начинаете проект, можно просто создать пустой CLAUDE.md и заполнять его по мере работы.
Добавьте в корень проекта файл README.md. Это простой способ не потерять ответ на вопрос: что это за проект, зачем он нужен и в каком состоянии находится.
Создайте папку .planning. Для начала достаточно трех файлов:
- TODO.md
- NEXT.md
- README.md
Это минимальный набор. Позже структуру можно расширить: добавить PLAN.md, DESIGNNOTES.md, ARCHITECTURE.md, а также архив завершенных этапов. Не бойтесь экспериментировать, но начинайте с простого.
Откройте терминал, перейдите в папку проекта командой
и при необходимости обновите клиент командой терминала
После этого можно запускать Claude Code в подходящем для вас режиме. Например, опытные пользователи иногда используют
чтобы не подтверждать каждое действие вручную. Но такой режим стоит включать осознанно, понимая связанные с ним риски.
Дальше важно объяснить агенту, что именно вы хотите получить и в каком контексте он работает.
Проектная память.planning
.planning — это минимальный слой проектной памяти. Он нужен для того, чтобы между сессиями не приходилось заново восстанавливать состояние работы.
Минимальная структура может быть такой:
- TODO.md — долговременный список задач. Удобно хранить в нем текущее, следующее, отложенное и завершенное.
- NEXT.md — короткая передача хода работы между сессиями: что нужно сделать следующим конкретным шагом.
- README.md — описание правил этой папки и принятого рабочего процесса.
При необходимости структуру можно расширять: добавлять PLAN.md, DESIGNNOTES.md, ARCHITECTURE.md, каталог current/ для активных материалов и _archive/ для завершенных итераций или релизов.
Зачем это нужно? Даже если у агента большой контекст, держать в нем все подряд невыгодно. Практически полезнее выносить устойчивые знания о проекте в файлы, а рабочий контекст сессии регулярно очищать, например через /clear. Это делает работу агента более собранной, а часто — еще и быстрее и дешевле.
Именно поэтому удобно разделять:
- память проекта — в файлах;
- состояние задач — в TODO.md;
- передачу следующего шага — в NEXT.md.
На этой основе можно строить уже более сложные процессы: планы, дизайн-заметки, архитектурные решения, архивы релизов и другие элементы дисциплинированной разработки. По тем же принципам, например, устроены и более развитые workflow-подходы вроде библиотеки скиллов Get Shit Done.
Команды /compact и /clear помогают разгрузить контекст сессии, но вместе с второстепенными деталями могут унести и важные рабочие данные. Агент не всегда способен надежно отличить информационный шум от действительно значимого состояния проекта: что уже сделано, на чем остановились, какой шаг должен быть следующим.
Поэтому перед очисткой контекста полезно сначала зафиксировать текущее состояние работы во внешней проектной памяти. Следующий шаг и краткий handoff стоит записывать в NEXT.md, а выполненные, изменившиеся и новые задачи — отражать в TODO.md.
Именно поэтому в начале работы важно объяснить Claude Code, как устроен ваш сетап и по каким правилам в нем нужно работать. Например, можно дать ему такую инструкцию:
В итоге смысл всей этой конструкции довольно прост: не пытаться хранить проект целиком в "голове "агента. Контекст сессии удобен для текущей работы, но слишком хрупок, чтобы считать его надежной памятью. Чем раньше вы вынесете состояние проекта в понятные файлы и зададите агенту правила синхронизации, тем стабильнее, дешевле и предсказуемее станет работа. По сути, вы строите не просто набор заметок, а минимальную операционную систему проекта, в которой каждая новая сессия продолжает предыдущую, а не начинает все заново.
Для визуализации проекта традиционно использую VS Code — чистая вкусовщина.
Команда Anthropic последовательно и итеративно работает в направлении улучшения "памяти" агента — об этом можно почитать в документации (https://code.claude.com/docs/ru/memory), но это можно реализовать и в любом другом ИИ-агенте, поддерживающем хуки или автоматизированное чтение и запись файлов. А такая несложная логика поможет вам оптимизировать работу над действительно большими проектами, особенно требующими многократной или многоступенчатой доработки или сложного проектного подхода.
Материал написан по мотивам собственных изысканий.