Как настроить Claude Code для длинных автономных сессий: память в CLAUDE.md, субагенты, скиллы с context: fork, команда /goal и песочница worktree.
Key Takeaways
- Правила и инструкции должны храниться в файлах (CLAUDE.md, скиллы, файлы правил), а не только в диалоге.
- Субагенты с собственным контекстом защищают основное окно от засорения логами и большими выводами.
- Автономность нужна с лимитами (например, число ходов) и проверкой тестами, а также в отдельной ветке или worktree.
What the video covers
- Проблема длинных сессий: переполнение окна контекста и автокомпакт теряют инструкции, данные из чата пропадают.
- Правила, которые должны жить часами, нужно хранить в файле CLAUDE.md, а не только в чате.
- Команда /context показывает, какие файлы памяти загружены и сколько токенов занимает каждая часть окна.
- Корневой CLAUDE.md стоит держать короче 200 строк: это карта проекта, команды запуска и пути к остальным файлам.
- Правила для отдельных частей кода выносятся в файлы с путями и загружаются только при работе с подходящими файлами; импорты грузятся сразу и токены не экономят.
- Гигиена кэша: кэш живёт час по подписке и 5 минут по API по умолчанию, поэтому длинную паузу лучше учитывать.
- Раздел Compact Instructions в CLAUDE.md помогает сохранить важное (вывод тестов, изменения кода) при сжатии истории.
- Грязную работу (логи, тесты, чтение файлов) выгодно отдавать субагентам с собственным окном контекста; родитель получает только итог.
- Инструкции для редких процессов (ревью, миграции, релизы) переносятся в скиллы, которые загружаются только при вызове.
- Скилл с параметром context: fork запускается в субагенте, а параметр agent выбирает его тип (например, Explore для чтения).
Full Transcript — Download SRT & Markdown
Speaker A
Вы запустили агента на 2 часа и ушли, а вернулись, и он уже не помнит, о чём вы просили в самом начале. Окно контекста переполнилось, сработал автокомпакт, и ваши инструкции из чата превратились в короткий пересказ. Сегодня соберём архитектуру, при которой Claude Code работает часами без потери управления, а в конце получите готовый комплект.
Speaker A
работает часами без потери управления, а в конце получите готовый комплект. Каждая сессия Claude Code начинается с чистого окна контекста, в которое сразу загружаются системные инструкции и файл Claude MD. А дальше его заполняют ваш разговор, прочитанные файлы и вывод
Speaker A
Каждая сессия Claude Code начинается с чистого окна контекста, в которое сразу загружаются системные инструкции и файл CLAUDE.md. А дальше его заполняют ваш разговор, прочитанные файлы и вывод команд. Всё это стоит токенов, и все токены лежат в одном ограниченном окне, поэтому управлять нужно тем, что туда попадает.
Speaker A
сессию. А всё, что вы сказали только в чате, остаётся лишь в пересказе и детали пропадают. Поэтому правило, которое должно жить часами, должно лежать в файле. Проверить это просто. Команда {слеш} контекст показывает, какие файлы памяти загружены и сколько места
Speaker A
Когда окно подходит к концу, Claude Code сжимает историю в короткий пересказ. При этом корневой CLAUDE.md заново читается с диска и возвращается в сессию. А всё, что вы сказали только в чате, остаётся лишь в пересказе, и детали пропадают. Поэтому правило, которое должно жить часами, должно лежать в файле.
Speaker A
команды запуска и пути, где лежит всё остальное. Правила для отдельных частей кода выносите в файлы правил с путями и они загружаются только, когда Claude работает с подходящими файлами. А импорты помогают навести порядок, но грузятся сразу при старте, поэтому
Speaker A
Проверить это просто. Команда /context показывает, какие файлы памяти загружены и сколько места занимает каждая часть окна. Так что начинайте длинную работу с этого замера, а не с догадок. Смотрите на раздел Memory Files. Там видно, что именно вы платите токенами каждую сессию.
Speaker A
Гигиена кэша тоже простая. На подписке кэш живёт час, а на API по умолчанию 5 минут. И после более долгой паузы первое сообщение заново обрабатывает весь контекст, поэтому держите его короче.
Speaker A
Корневой CLAUDE.md держите короче 200 строк, потому что это карта: коротко о проекте, команды запуска и пути, где лежит всё остальное. Правила для отдельных частей кода выносите в файлы правил с путями, и они загружаются только тогда, когда Claude работает с подходящими файлами. А импорты помогают навести порядок, но грузятся сразу при старте, поэтому токены не экономят. Измерьте до и после. Мы взяли длинный CLAUDE.md и убрали то, что Claude и так видит в коде, то есть списки папок и перечни зависимостей.
Speaker A
выживают не случайно, а по вашему плану. Главная беда длинных сессий в том, что каждый прочитанный лог остаётся в окне до самого конца. И решение здесь одно: отдать грязную работу субагенту.
Speaker A
Гигиена кэша тоже простая. На подписке кэш живёт час, а на API по умолчанию 5 минут. После более долгой паузы первое сообщение заново обрабатывает весь контекст, поэтому держите его короче.
Speaker A
Родитель пишет задание, а субагент читает файлы, гоняет тесты и тонет в логах. И всё это остаётся у него. В стартовый контекст субагента входят его инструкции, ваше задание, файлы CloudMD и снимок состояния Git. Поэтому задание нужно писать самодостаточным.
Speaker A
Можно заранее подсказать, что сохранять при сжатии. В корневом CLAUDE.md заведите раздел Compact Instructions и напишите, что важно, например вывод тестов и изменения кода. Тогда компакт сохранит нужное. Ту же подсказку можно дать вручную командой /compact с указанием, на чём сосредоточиться. Так инструкции выживают не случайно, а по вашему плану.
Speaker A
Инструкции для редких процессов, вроде ревью, миграций и релизов, вынесите из CloudMD в скиллы, потому что скилл загружается только, когда его вызывают, и базовый контекст остаётся лёгким. Так в CloudMD остаётся только то, что нужно в каждой сессии. Перенесите один длинный
Speaker A
Главная беда длинных сессий в том, что каждый прочитанный лог остаётся в окне до самого конца. И решение здесь одно: отдать грязную работу субагенту. У субагента собственное окно контекста. Он не видит вашу переписку и работает в своём окне, а к вам возвращается только итоговый ответ. Подробный вывод остаётся там, и у вас остаётся чистое окно.
Speaker A
Тип субагента выбирает параметр agent. Файл лежит в папке скиллов проекта в каталоге с названием скилла. В комплекте три скилла. И аудит кодовой базы работает через агента explore и только читает файлы. Генерация тестов и автодокументирование пишут файлы, поэтому им нужен агент с правом записи.
Speaker A
Родитель пишет задание, а субагент читает файлы, гоняет тесты и тонет в логах, и всё это остаётся у него. В стартовый контекст субагента входят его инструкции, ваше задание, файлы CLAUDE.md и снимок состояния Git. Поэтому задание нужно писать самодостаточным. Расход токенов при этом не исчезает, ведь запросы субагента тоже считаются, но ваше основное окно остаётся чистым.
Speaker A
репозитория. Если субагент ничего не изменил, копия удаляется сама, поэтому массовые правки, миграции и эксперименты отправляйте туда, а не в рабочую ветку.
Speaker A
Инструкции для редких процессов, вроде ревью, миграций и релизов, вынесите из CLAUDE.md в скиллы, потому что скилл загружается только тогда, когда его вызывают, и базовый контекст остаётся лёгким. Так в CLAUDE.md остаётся только то, что нужно в каждой сессии. Перенесите один длинный раздел и сравните замер до и после.
Speaker A
Подведём итог главы. Правила живут в файлах, грязная работа живёт в субагентах, а скилл с контекст-форк превращает повторяющуюся задачу в одну команду. Дальше замкнём всё это в автономный контур.
Speaker A
Скилл с параметром context: fork запускается в субагенте, а текст скилла становится его заданием. Это не копия вашего разговора: субагент стартует с нуля, поэтому в скилле должна быть конкретная задача, а не только советы. Тип субагента выбирает параметр agent. Файл лежит в папке скиллов проекта, в каталоге с названием скилла.
Speaker A
новая заменяет прежнюю. Вот пример условия: все тесты проходят и линтер чистый, или остановись после двадцати ходов.
Speaker A
В комплекте три скилла. Аудит кодовой базы работает через агента Explore и только читает файлы. Генерация тестов и автодокументирование пишут файлы, поэтому им нужен агент с правом записи. А каждый скилл начинается с чётко описанной задачи и принимает аргументом путь. Запуск простой: слэш, имя скилла, затем путь к папке.
Speaker A
аргументов. Там условия, время, число ходов и расход токенов. А снять цель можно командой {слеш} гол клир. Если ход упал на ошибке, которую нужно чинить самому, цель снимается и её придётся поставить заново. Это лучше знать заранее, а не ночью, когда агент
Speaker A
Для грязных задач нужна песочница, и в описании субагента её даёт параметр изоляции worktree. Он запускает субагента во временной копии репозитория. Если субагент ничего не изменил, копия удаляется сама, поэтому массовые правки, миграции и эксперименты отправляйте туда, а не в рабочую ветку. Результат вы забираете только тогда, когда он вас устроил.
Speaker A
достаточно. Остальные команды оболочки при этом по-прежнему будут спрашивать подтверждение. Режим авто устроен иначе. Вместо вас действия проверяет отдельная модель, классификатор. А доступен он не везде, поэтому смотрите на строку состояния. Команда {слеш} гол режим разрешений не меняет и в обычном режиме
Speaker A
Правило простое: в основной сессии остаются решения, а объём уходит в субагентов.
Speaker A
каждого хода. Если играть звук на каждый ход, он быстро надоест. Поэтому наш скрипт ждёт паузу и играет сигнал, только если новых ходов не последовало.
Speaker A
Подведём итог главы. Правила живут в файлах, грязная работа живёт в субагентах, а скилл с context: fork превращает повторяющуюся задачу в одну команду. Дальше замкнём всё это в автономный контур.
Speaker A
напомнит, что агент ждёт вас. А прежде, чем доверять хуку долгую сессию, проверьте его сухим запуском с флагом dry run.
Speaker A
Команда /goal задаёт условия завершения, и Claude работает, пока оно не выполнено. После каждого хода отдельная быстрая модель проверяет условие. Если оно не выполнено, начинается следующий ход, а если выполнено, цель снимается. Пока вы заняты своими делами, цикл проверяется сам, без вас. Одна цель на сессию, и новая заменяет прежнюю. Вот пример условия: все тесты проходят и линтер чистый, или остановись после двадцати ходов.
Speaker A
файлы в него не попадают. А если репозиторий лежит на одном диске, то и копия одна. Вот минимальный порядок.
Speaker A
Хорошее условие содержит один измеримый результат, способ проверки и ограничения, которые нельзя нарушать. Оценщик ничего не запускает сам, он судит только по тому, что Claude показал в разговоре. Поэтому в условии просите показать вывод команды.
Speaker A
Задайте границы. В условии goal всегда указывайте лимит ходов. Например, остановись после двадцати ходов. Автономность без лимита это не стратегия, а надежда. А проверка тестами и чистая ветка превращают её в управляемый процесс. Сначала запустите контур на маленькой задаче и посмотрите,
Speaker A
Состояние цели смотрите командой /goal без аргументов. Там условия, время, число ходов и расход токенов. Снять цель можно командой /goal clear. Если ход упал на ошибке, которую нужно чинить самому, цель снимается, и её придётся поставить заново. Это лучше знать заранее, а не ночью, когда агент остановился.
Speaker A
файлы. Каждый файл можно открыть и прочитать до запуска. Ничего скрытого и никаких секретов внутри. Итог такой: правила живут в файлах, а не в чате.
Speaker A
Режимы разрешений переключаются клавишами Shift+Tab. В обычном режиме без вопросов выполняется только чтение. Режим acceptEdits разрешает без вопросов чтение, правки файлов и обычные команды, вроде создания папок и копирования. Для правок кода, которые вы потом просмотрите, этого достаточно. Остальные команды оболочки при этом по-прежнему будут спрашивать подтверждение.
Speaker A
проекта. Подписывайтесь на канал и дальше разберём автономные контуры.
Topics:Claude CodeCLAUDE.mdсубагентыконтекставтокомпактскиллы/goalworktreeавтономные агентыAI-агенты











