Когда начинать новую сессию Claude Code: сигналы деградации и handoff

Разбор одной зависшей задачи: выбор между continue, compaction и new session, таблица симптомов деградации, безопасный handoff и проверка контекста.

У вас падает тест test_empty_amount_returns_validation_error. Claude Code уже дважды менял обработчик, снова открыл те же файлы и предлагает вернуть первый вариант. В середине диалога вы ещё попросили обновить README. Стоит ли продолжать диалог, вызвать сжатие контекста или начать сессию с нуля?

Сначала запустите целевой тест. Если ни одна правка не проверялась, проблема пока в диагностике: новая сессия повторит те же догадки. Если симптом воспроизводится и зафиксирован, но агент путает задачи или ходит по кругу, выберите правильный инструмент управления контекстом.

Фиксированного порога в Token или сообщениях для этого решения нет. Смотрите на поведение задачи.

Шаг 1. Верните задаче один наблюдаемый симптом

В нашем примере симптом такой:

При импорте строки с пустым amount процесс падает. Ожидается validation error без записи данных.

Запустите самый узкий тест, который это подтверждает:

npm test -- tests/import/empty-amount.test.ts

Дальше возможны два результата:

  • Тест ещё не существует или проверяет другое поведение. Оставайтесь в текущей сессии и сначала уточните спецификацию или сделайте воспроизводимый тест.
  • Тест стабильно падает на нужном симптоме. Теперь можно оценивать саму сессию: помнит ли она проверенные факты и ведёт ли к следующему действию.

Перезапуск до воспроизведения ошибки стирает историю догадок, но не создаёт доказательства причины.

Шаг 2. Таблица симптомов: выбор между Continue, Compact и New Session

Разные признаки требуют разных действий. Используйте эту таблицу решений:

Наблюдаемый симптомВероятная причинаЧто делать
Сессия помнит симптом и предлагает новую проверяемую гипотезуКонтекст чистый, работа идёт штатноContinue: продолжайте текущую сессию
Контекст разросся из-за логов сборки и тестов, но цель и файлы ясныНакопление шума в tool outputsCompaction: выполните команду /compact
Сессия повторно предлагает уже отклонённый код Number(value || 0)Потеря отрицательных результатов проверкиNew Session: оформите handoff и перезапустите
В диалог подмешана вторая задача (например, README)Смешение независимых контекстовNew Session: разделите задачи по веткам
Агент перечитывает файл без новых гипотез и команд проверкиЗацикливание поискаNew Session: соберите факты вручную

Шаг 3. Как правильно использовать сжатие (Compaction) и проверить его

Команда /compact полезна, когда агент идёт по верному пути, но контекст перегружен длинными выводами терминала или промежуточными diff. Однако после сжатия нельзя сразу давать команду писать код.

Выполните обязательную проверку после compaction:

Мы выполнили сжатие контекста. До внесения изменений ответь на 4 вопроса: 1. Какой точный симптом мы исправляем и какой результат ожидается? 2. Какой вариант мы уже проверили и почему отклонили? 3. В каких файлах разрешено вносить правки? 4. Какую одну команду мы запустим для проверки следующего шага?
  • Если агент правильно назвал отклонённый Number(value || 0) и ограничение на неизменность CSV-формата — продолжайте работу в этой же сессии.
  • Если агент забыл причину отказа от первого варианта или расширил область на лишние файлы — сжатие стёрло критический контекст. Переходите к новой сессии через handoff.

Шаг 4. Сделайте handoff из фактов, а не из всей переписки

Для нашего бага достаточно короткой карточки:

Цель: пустой amount возвращает validation error и не пишет данные. Файлы: parser/amount.ts, tests/import/empty-amount.test.ts Воспроизведение: npm test -- tests/import/empty-amount.test.ts -> failed Отклонено: Number(value || 0), потому что пустое значение стало нулём. Ограничение: публичный CSV-формат не менять. Открытый вопрос: где отличить пустое значение от корректного нуля. Следующий шаг: проследить value от CSV parser до validation branch.

Не добавляйте стенограмму, API Key, cookie, содержимое .env, персональные данные и необработанный лог с секретами. Если важна строка ошибки, оставьте только минимальный фрагмент и путь к локальному логу.

Шаг 5. Чек-лист восстановления в новой сессии

Передайте handoff и проверьте готовность новой сессии по чек-листу:

Прочитай handoff. До редактирования назови: 1) ожидаемый результат; 2) два целевых файла; 3) отклонённый вариант и причину; 4) следующий проверяемый шаг.
  • Новая сессия сохранила различие между пустым значением и нулём.
  • Отклонённая правка не предлагается повторно.
  • В область работы не попал README или другие посторонние файлы.
  • Агент назвал точную команду следующей проверки.

Только после подтверждения всех пунктов сессия читает целевые файлы, вносит минимальную правку и повторяет узкий тест.

Когда новую сессию открывать не надо

Продолжайте текущую сессию, если она помнит симптом, использует результат последнего теста и может назвать следующую проверку. Длинный диалог остаётся продуктивным, пока каждое действие уменьшает неопределённость.

Уточните спецификацию вместо перезапуска, если спор идёт об ожидаемом поведении системы: должен ли пустой amount вызывать ошибку или трактоваться как ноль. Это решение продуктовой логики, и чистый контекст не примет его за команду.

Отдельный API-workflow: конфигурация живёт отдельно

Если Claude Code подключён через отдельный API-провайдер, не переносите ключи и динамические параметры в handoff задачи. BetterToken поддерживает Claude Code через Anthropic-compatible API; пользователь работает со своим аккаунтом и собственным API Key. Это отдельный API-доступ, а не замена Claude.ai или Claude Max.

Откройте актуальную инструкцию BetterToken для Claude Code, сверьте текущие Base URL, группу ключа и модель, затем выполните маленький тестовый запрос. В handoff достаточно отметить, что конфигурация проверена по текущей документации; сами секреты туда не входят.

Решение в одной минуте

Запустите узкий тест и назовите следующий ожидаемый результат. Если симптом воспроизведён, но сессия повторяет отвергнутые варианты, смешивает задачи или теряет ограничения после /compact — сохраните handoff и откройте новую сессию. Первое действие новой сессии — подтвердить границы и выполнить одну безопасную проверку.

Готовы оптимизировать LLM workflow?

Подключите единый API, управляйте ключами и контролируйте расходы на AI-модели в BetterToken.