Раньше делал так: когда вижу, что в сессии потратили значительную долю контекстного окна, просил агента подготовить промт с контекстом для запуска новой или оформить это всё в файл. Что передавать нейронка каждый раз придумывала сама
В целом неплохой подход, но на больших задачах начинались проблемы. Например, делал что-то 3-4 сессии назад, деталей всех не помнишь сам, нейронка тоже уже не знает и делает ошибки. Решал эту проблему через ручной поиск той самой сессии или просил запустить агента и найти нужную инфу в логах. Когда сам искал, тратил кучу времени. Когда просил агента найти в логах, тратил тоже прилично времени плюс жёг лимиты
Как сейчас: hook + шаблон handoff сессии
В Claude Code можно настроить, чтобы определенные действия или сообщения активировали триггер. Настроили так, что каждое мое сообщение в чат проверяется питон-скриптом на вхождение ключевых слов по типу «дай промпт, промт для новой сессии, handoff». Если находит — агент получает сигнал. Выбрал хуки вместо правил, потому что агент забывает правила в длинных сессиях, а хук сработает всегда
Чтобы защититься от ложного срабатывания внедрил обязательный шаг — агент, когда увидел сигнал, спрашивает, действительно ли я хочу закончить сессию на этом моменте и подготовить всё для запуска новой. Только если я подтерждаю он делает коммит, пишет handoff и даёт двухстрочный промпт для запуска новой сессии
Чтобы всё работало одинаково хорошо, собрали с агентом шаблон, в котором описана структура и содержание файла:
Frontmatter: date, branch, head_commit, previous_handoff, session_tag
TL;DR — 1-2 предложения
Что сделано — chronological с SHA
Key decisions — cross-cutting (per-feature идут в work/{feature}/decisions.md)
Что не сработало — rejected alternatives, dead ends (ценно как «что НЕ делать»)
Commits этой сессии — git log --oneline
Failures logged — refs на work/{feature}/logs/failures.md
Current state verification — набор команд для проверки HEAD и canon drift
Следующая сессия: 2-line activation prompt (copy-paste) + full state (порядок чтения canon, completed phases, invariants, варианты A/B, рекомендация, gotchas)
Known design debts — осознанный defer
Audit trail — pointers на tmp/ и forensic артефакты
Теперь контекст передается не в том виде, в каком агент в моменте придумал записать в промпт, а по регламенту, который учитывает все ключевые моменты
Отдельный кайф, что эти файлы теперь хранятся в отдельной папке и упорядочены по датам и тэгам. Если нужно поднять контекст какой-то предыдущей сессии, то его легко найти. Еще этот подход позволяет делать ретроспективный анализ всех этапов разработки за любой период
Если работаете как я раньше и периодически теряете контекст между сессиями, очень рекомендую скинуть этот пост своему Клоду и попросить внедрить такое же решение 😐