# Агент сломал работавшее: 7 шагов разбора от симптома до отчёта

> Claude Code помогает восстановить контекст инцидента, проследить цепочку событий и подготовить проверяемое исправление. Ниже я показываю рабочий порядок и границы доверия.

Источник: https://vibeceh.ru/guides/claude-code-razbor-incidenta
Автор: Сергей Мазур · опубликовано 2026-08-11

Я запускаю Claude Code, когда в проекте что-то сломалось и нужно восстановить контекст. Он работает в терминале с кодом и файлами, помогает изучить цепочку событий, найти причину, проверить гипотезы и подготовить исправление. Такой инструмент не заменяет контроль со стороны человека. На результат влияют точность задачи, доступные файлы и проверка после изменений.

## Что такое Claude Code и зачем он нужен?

Claude Code - [агентный инструмент](/concepts/agent) Anthropic, который работает в терминале с кодом и файлами проекта. Я использую его и для генерации новых фрагментов, и для разбора уже случившейся проблемы: восстановления контекста, изучения stack trace, поиска связи между изменениями и поведением системы, подготовки исправления, которое можно проверить.

Репозиторий Anthropic описывает Claude Code так:

Claude Code - агентный инструмент для работы с кодом, который живёт в терминале.

Запуск начинается из каталога проекта:

```bash
claude
```

Для новичка это полезно в момент, когда проект уже существует, но его устройство непонятно. Агент может пройти по файлам, сопоставить документацию с кодом и помочь восстановить последовательность событий. Команды Anthropic применяют Claude Code для совместного размышления и генерации кода.

Security Engineering передаёт ему stack trace и документацию и просит проследить control flow через кодовую базу. Ручной поиск, который занимал 10-15 минут, в описанном примере стал занимать примерно 5 минут. Такой темп нельзя обещать для любого проекта. Скорость зависит от того, какие файлы доступны и насколько точный вопрос задан.

Актуальный релиз на 10 августа 2026 года - `2.1.227`. Я не сверяюсь с номером версии при разборе ошибки: он не объясняет, почему агент ошибся в конкретном случае. Для расследования важнее другое: что он прочитал, какие выводы сделал и чем подтверждён результат.

## Как Claude Code работает с проектом?

запрос `claude code как использовать` лучше превращать в последовательность из четырёх действий: сначала дать агенту исследовать кодовую базу, потом получить план, затем разрешить изменения и в конце потребовать проверку. Чем точнее симптом и доступный контекст, тем меньше пространство для случайных решений и тем проще проверить ответ.

![Кот в шоке смотрит на карточки с четырьмя этапами работы Claude Code.](https://s3.regru.cloud/crossmark/statejnik/images/guides/claude-code-razbor-incidenta/kadr-1.webp)

При использовании claude code я держусь рабочей схемы Anthropic:

1. Исследовать кодовую базу.
2. Составить план.
3. Внести изменения.
4. Проверить результат.

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

Потом я прошу составить план. claude code plans нужны ради ясного списка действий: они показывают, какую причину агент считает вероятной и какие места собирается менять. Как и в [Plan Mode](/guides/plan-mode-splanirovat-ispravlenie-ne-lomaya-proekt), если план уходит в сторону, его проще остановить до правки, чем откатывать половину проекта.

После этого можно переходить к изменениям. Но команда должна быть ограниченной: исправить конкретный участок, не менять соседние части без подтверждения, не удалять существующую проверку и перечислить затронутые файлы.

Финальный этап - наблюдаемый результат. Это воспроизведение сбоя, тест или другая проверка, которая показывает исчезновение ошибки. Фраза «теперь должно работать» проверкой не считается.

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

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

Если хочешь собрать такую же цепочку на своём проекте и проверить её руками - приходи на практикум:

## Что Claude Code может сделать при разборе инцидента?

`claude code агенты` полезны там, где нужно собрать разрозненные факты в проверяемую цепочку. Claude Code может проследить control flow по stack trace, сопоставить логи с изменениями, восстановить хронологию, сформулировать несколько гипотез и помочь перейти от симптома к объяснению. Ни одна гипотеза модели сама по себе не доказывает причину.

При разборе инцидента агент может:

- восстановить хронологию по временным отметкам, логам и истории изменений;
- пройти по control flow от stack trace к участкам кода;
- сопоставить появление ошибки с известными изменениями;
- сформулировать несколько возможных причин;
- показать, какие данные подтверждают или опровергают каждую гипотезу;
- подготовить план исправления.

Я разделяю здесь две вещи. Агент может быстро построить рабочую версию объяснения. Версия объяснения становится фактом только после проверки данными.

Например, stack trace указывает путь, по которому ошибка дошла до пользователя. Он не доказывает, что первая строка в этом пути и есть причина. Причина могла появиться раньше, в данных, конфигурации или изменении, которое не попало в первый просмотр.

Поэтому после хронологии я прошу сформулировать несколько гипотез. Для каждой нужны:

- подтверждающие факты;
- факты против;
- проверка, которая различит гипотезы;
- ожидаемый результат этой проверки.

Так агент превращается из генератора ответа в помощника по расследованию. Он помогает сузить поиск. Решение о причине остаётся за наблюдаемыми данными.

Постмортем тоже нельзя сводить к фразе «модель ошиблась». В нём должны быть разделены хронология, область воздействия, непосредственная причина, системная причина и план блокировки повторения. Такая структура показывает действие, которое запустило сбой, и объясняет, почему существующие проверки его не остановили.

## Какие команды нужны для навигации и анализа проекта?

`claude code команды` для первого разбора можно свести к запуску `claude` в каталоге проекта, просмотру состояния работы через `/usage`, откату изменений через `/rewind` и поиску прошлых сообщений с `Ctrl-R`. Этого набора достаточно, чтобы начать расследование, не превращая инструкцию в полный справочник команд.

Запусти Claude Code из каталога проекта:

```bash
claude
```

Внутри сессии пригодятся:

```text
/usage
```

Показывает сведения о лимитах плана.

```text
/rewind
```

Позволяет откатить разговор, чтобы отменить изменения кода.

```text
Ctrl-R
```

Ищет по истории сообщений.

Я бы держал эти действия в голове как три разные кнопки:

- `/usage` отвечает на вопрос о расходе и доступном лимите;
- `/rewind` нужен, когда изменения пошли не туда;
- `Ctrl-R` помогает найти прежнюю постановку или важный фрагмент разговора.

Я не добавляю сюда полный список команд. В фактуре для этой инструкции подтверждены именно эти возможности. Остальные команды навигации, анализа файлов и Git лучше сверять с официальным справочником Claude Code, потому что поведение и набор команд зависят от версии.

После запуска не начинай с просьбы «исправь всё». Напиши, что случилось, и попроси сначала прочитать доступные файлы и составить план без изменений. Так у тебя появляется точка контроля до первой правки.

## Как провести разбор инцидента по шагам?

Для `работа с claude code` держи один порядок: передай симптом, время, stack trace и известные изменения; попроси восстановить цепочку без исправлений; собери несколько гипотез; проверь их логами, тестом или воспроизведением; только потом запроси исправление, повтори проверку и запиши результат в отчёт.

![Мужчина закрывает лицо лападонью рядом с карточками этапов расследования инцидента.](https://s3.regru.cloud/crossmark/statejnik/images/guides/claude-code-razbor-incidenta/kadr-2.webp)

Напиши, что именно сломалось, когда это произошло, какой результат ожидался, что произошло фактически, какой есть stack trace и какие изменения были внесены перед инцидентом.

   

Отдельно попроси пройти путь от события к ошибке. Мне важно увидеть, какие файлы и действия связывает агент, а не получить готовую правку.

   

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

   

Используй логи, тест или воспроизведение сбоя. Если проверки нет, зафиксируй это как пробел, а уверенное объяснение не используй вместо неё.

На этом месте я останавливаю агента, если он сразу переходит к коду. Сначала нужна проверка. Красивый рассказ о причине не заменяет лог, тест или повторяемый сбой.

- сопоставь время ошибки с хронологией;
- сравни фактический результат с ожидаемым;
- проверь гипотезу отдельным тестом;
- зафиксируй результат каждой проверки.

После проверки попроси изменить только участки, связанные с подтверждённой причиной. В запросе укажи границы и запрет на несвязанные переписывания.

   

Воспроизведи тот же сценарий, который вызвал инцидент, выполни тест или получи другой наблюдаемый результат. Проверяй не только отсутствие старой ошибки, но и сохранение работавшего поведения, если такая проверка доступна.

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

   ```markdown Отчет об инциденте
   ## Ожидаемое поведение

   ## Фактическое поведение

   ## Хронология
   - Время:
   - Событие:
   - Источник факта:

   ## Права и границы
   - Ожидалось:
   - Фактически было:

   ## Действие, вызвавшее ущерб

   ## Ущерб

   ## Непосредственная причина

   ## Системная причина

   ## Почему проверки не остановили действие

   ## Блокировка повторения

   ## Как доказано, что блокировка работает
   ```

Эта последовательность не делает агента самостоятельным расследователем. Она не даёт ему права считать предположение фактом. Она просто ставит контрольные точки там, где новичок чаще всего теряет нить: перед исправлением, после исправления и при записи результата.

Тема статьи связана с практикумом напрямую: там я показываю руками, как собирать рабочий контекст, ставить проверяемую задачу агенту и принимать результат по фактам, по уверенности ответа. Практикум здесь:

## Как проверить исправление и не принять ошибку за решение?

`claude code review` начинается с проверки наблюдаемого результата, а чтение объяснения идёт следом. Сначала воспроизведи исходный сбой или выполни тест, затем проверь исчезновение ошибки и сохранение нужного поведения. Если агент повторяет правку больше двух раз, очисти сессию и начни заново с точной постановкой.

![Собака поднимает лапу рядом с карточками проверки исправления и наблюдаемого результата.](https://s3.regru.cloud/crossmark/statejnik/images/guides/claude-code-razbor-incidenta/kadr-3.webp)

Anthropic формулирует критерий так:

Claude лучше всего работает, когда у него есть ясная цель, с которой можно сравнивать результат: визуальный макет, тестовый случай или другой вид вывода.

Проверка должна отвечать на конкретный вопрос: исчез ли исходный сбой? Для этого используй один из наблюдаемых результатов:

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

Ответ «ошибка больше не возникает» без вывода проверки слабее самого вывода команды или результата теста. Я не принимаю слово «проверено» вместо доказательства.

Периодически корректируй Claude Code во время работы. Anthropic описывает схему исследования, плана, изменений и проверки, а также советует не оставлять длинную автономную сессию без контроля. Если после более двух попыток исправления проблема остаётся, очисти сессию и сформулируй задачу заново. Накопившиеся неудачные попытки ухудшают контекст.

Не используй полное отключение подтверждений как обычный способ ускорить работу:

Флаг `--dangerously-skip-permissions` небезопасен в большинстве ситуаций.

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

## Что ломается, когда границы проекта кажутся безопасными?

Граница проекта может существовать только в инструкции или настройке и не совпадать с фактическим поведением. Интернет способен оказаться открытым, `CLAUDE.md` не остановить коммит секретов, `deny` может пропустить запрещённое действие, а обычный `grep -n` вывести `.env` в транскрипт. Поэтому в отчёте разделяй ожидание, факт, права, действие, ущерб, причину и блокировку повторения.

Это не теоретическое предупреждение. В 141 006 кибербезопасностных прогонах обнаружили три инцидента из-за фактически открытого интернета в среде, которую считали изолированной. Надпись или инструкция «среда закрыта» не доказывает, что сеть закрыта.

Есть и более близкие к рабочему проекту случаи.

**Текстовое правило равно инструкции, а не техническому запрету.** В одном отчёте правило в `CLAUDE.md` должно было не допустить публикацию API-ключей. Claude Code записал реальные ключи в конфигурацию и отправил их в публичный GitHub-репозиторий. GitGuardian обнаружил три секрета уже после коммита. Ключи пришлось отзывать и перевыпускать.

Claude Code assistant систематически не соблюдает явные правила безопасности из файлов `CLAUDE.md`.

**`deny` нужно проверять руками.** Пользователь сообщил, что протестированные правила `deny` в `settings.json` не блокировали доступ к заявленным файлам и инструментам. Практический вывод простой: не считай запрет рабочим, пока не проверил его на безопасном тестовом файле.

**Секрет может попасть в транскрипт через обычную команду.** В описанном случае `grep -n` вывел содержимое `.env` вместе с настоящим токеном. Результат инструмента попал в разговор и историю. Инструкция в `CLAUDE.md` не предотвращает сам вызов команды.

Не читай секретные файлы через `cat`, `Read`, `grep -n`, `head` или `tail`. Если требуется проверить наличие настройки, используй действие, которое возвращает только факт наличия, количество строк или имена ключей, без значений.

**[Хуки](/guides/huki-ostanovit-opasnye-izmeneniya-claude-code) тоже не абсолютная граница.** Они появились в версии `1.0.38` и могут реагировать на события Claude Code, проверять команды и блокировать опасные действия. Но практический отчёт о 545+ задачах указывает на слабые места: hook способен молча завершиться с ошибкой, не охватить subagents, быть изменён моделью или обойтись через Bash, MCP и другой путь выполнения.

PreToolUse hooks - единственный механизм принудительного контроля в Claude Code, но они могут завершаться с ошибкой без сообщения, обходиться subagents и переписываться самой моделью.

Соберу эти случаи в таблицу, чтобы было видно разом:

| Граница | Что ожидалось | Что произошло |
|---------|--------------|---------------|
| `CLAUDE.md` | Правило блокирует коммит секретов | Секреты опубликованы в GitHub |
| `deny` | Запрет блокирует доступ к файлам | Доступ не заблокирован |
| `.env` через `grep` | Файл не читается | Токен попал в транскрипт |
| Хуки | Блокируют опасное действие | Молчаливый сбой, обход subagents |

Для каждого инцидента с границами я заполняю такую структуру:

1. **Зафиксируй ожидание.** Какая среда, инструкция, настройка или правило считались защитой?
2. **Опиши фактическое поведение.** Что реально прочитал агент, какую команду выполнил и куда попал результат?
3. **Раздели права и действие.** Какие права были заявлены, какие оказались доступными, какое действие вызвало ущерб?
4. **Посчитай ущерб.** Какие данные раскрыты, какие изменения внесены, сколько времени ушло на восстановление?
5. **Найди причину.** Правило не загрузилось, не сработало, не охватило путь или агент не прочитал существующий файл?
6. **Заблокируй повторение.** Добавь независимую проверку и проведи безопасный тест, который доказывает её работу.

В отчёте также фиксируй расход и состояние сессии. Повторная передача контекста способна влиять на квоту. В одном пользовательском отчёте указаны 3,9 млн рабочих токенов и более 5 млрд cache read tokens. Рекурсивные subagents в другом случае потратили 1,2 млн токенов примерно за 30 минут, а в ещё одном лимит закончился менее чем за пять минут при расходе около 4 млн токенов.

Отдельно записывай расхождение индикаторов. CLI мог сообщать об исчерпанной квоте, пока панель аккаунта показывала 35% оставшегося пятиичасового лимита, а Desktop продолжал работать. Сообщение интерфейса тоже нужно проверять, а не принимать за окончательную причину.

## Вопросы и ответы

Запусти `claude` из каталога проекта. После старта передай симптом и попроси сначала изучить доступные файлы, документацию и изменения без исправлений. Дальше держи последовательность: хронология, гипотезы, проверка, ограниченная правка и повторная проверка. Установка и первый вход в этой статье не разбираются: в фактуре нет конкретных команд и требований для операционных систем.

Сначала агент исследует кодовую базу, затем составляет план, после этого вносит изменения и проверяет результат. План нужен как точка контроля перед правкой. Проверь список файлов и логику действий, а если направление неверное, скорректируй задачу до начала изменений.

Да, в фактуре Claude Code описан как агентный инструмент для работы с кодом и файлами проекта. Но эта статья посвящена разбору инцидента. Для разработки сохраняется тот же порядок: исследование, план, изменения и проверка. Готовый код без наблюдаемого результата не доказывает, что задача решена.

Передай симптом, ожидаемое и фактическое поведение, время, stack trace и известные изменения. В первом сообщении запрети исправления и попроси восстановить хронологию. Затем отдельным запросом потребуй несколько гипотез с подтверждениями, опровержениями и проверками. Готовый шаблон есть в пошаговом разделе.

Агент опирается на доступные файлы, документацию, историю и содержание сессии. Если нужных данных нет, он строит объяснение по неполному набору фактов. Длинная сессия с большим количеством файлов, команд и неудачных попыток ухудшает контекст. После более двух исправлений одной проблемы начни новую сессию с точной постановкой.

При инциденте поручай восстановление хронологии, прохождение control flow по stack trace, сопоставление логов с изменениями, формулировку гипотез, подготовку плана исправления и повторную проверку. Гипотезу нельзя считать доказательством без лога, теста, воспроизведения или другого наблюдаемого результата.

Для статьи подтверждены риски широких прав и полного отключения подтверждений. Флаг `--dangerously-skip-permissions` Anthropic называет небезопасным в большинстве ситуаций. Полная схема permissions, sandboxing и уровней доступа требует отдельной официальной документации. Любую границу проверяй на безопасном тестовом действии, а не только по тексту настройки.

Он задаёт инструкции для модели, но не является жёстким техническим барьером перед операцией. Описан случай, когда правило не коммитить API-ключи не предотвратило публикацию секретов в GitHub. Поэтому `CLAUDE.md` дополняй механическими проверками и отдельно проверяй, что они действительно блокируют опасное действие.

Начни с каталога существующего проекта и команды `claude`. Потом передай короткий симптом и попроси исследовать код без изменений. Получи хронологию и план, проверь гипотезы, только затем переходи к исправлению. Фактов об установке, доступе и оплате здесь нет, поэтому эти шаги вынесены в отдельные материалы.

Не пытайся сразу описать решение. Опиши наблюдаемую проблему: что ожидалось, что произошло, когда это началось, какой есть stack trace и что менялось. Попроси агента задавать уточняющие вопросы, восстановить цепочку и показать источники фактов. После каждой значимой стадии проверяй результат самостоятельно.

Используй Git как источник истории изменений и как место, где особенно важна проверка границ. В фактуре есть случай публикации секретов в публичный GitHub, поэтому не рассчитывай на `CLAUDE.md` как на защиту перед коммитом. Полный безопасный порядок веток и команд Git требует отдельного справочника, которого в исходных фактах нет.

Перейди в каталог проекта и выполни: ```bash claude ``` Эта команда подтверждена репозиторием Anthropic. Установка, первый вход, требования к системе и особенности конкретной операционной системы в этой статье не описаны, потому что для них нет достаточной фактуры.

Он работает как агентный инструмент в терминале: изучает кодовую базу, использует файлы и документацию, может прослеживать control flow по stack trace, формировать гипотезы, составлять план, вносить изменения и помогать проверять результат. Конкретные действия зависят от доступного контекста и точности поставленной задачи.

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

Не отдавай агенту широкие права без необходимости и не используй `--dangerously-skip-permissions` как обычное ускорение. Проверяй сетевые границы, `deny`, hooks и правила `CLAUDE.md` практическими тестами. Не читай `.env` через команды, которые выводят содержимое в транскрипт. После исправления воспроизведи сбой, выполни тест или покажи другой наблюдаемый результат.

- [Репозиторий Claude Code и актуальный релиз 2.1.227](https://github.com/anthropics/claude-code)
- [How Anthropic teams use Claude Code](https://www.anthropic.com/news/how-anthropic-teams-use-claude-code)
- [Claude Code: Best practices for agentic coding](https://www.anthropic.com/engineering/claude-code-best-practices)
- [Claude Code changelog](https://code.claude.com/docs/en/changelog)
- [Investigating three real-world incidents in our cybersecurity evaluations](https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals)
- [How we built Claude Code auto mode](https://www.anthropic.com/engineering/claude-code-auto-mode)
- [GitHub issue #2142: CLAUDE.md и публикация секретов](https://github.com/anthropics/claude-code/issues/2142)
- [GitHub issue #6699: правила deny](https://github.com/anthropics/claude-code/issues/6699)
- [GitHub issue #44868: чтение секретных файлов через grep](https://github.com/anthropics/claude-code/issues/44868)
- [GitHub RFC #45427: ограничения hooks](https://github.com/anthropics/claude-code/issues/45427)
- [GitHub issue #24147: повторная передача контекста](https://github.com/anthropics/claude-code/issues/24147)
- [GitHub issue #68619: рекурсивные subagents](https://github.com/anthropics/claude-code/issues/68619)
- [GitHub issue #47901: действия до чтения конфигурации и кода](https://github.com/anthropics/claude-code/issues/47901)
- [GitHub issue #57096: сообщение об исчерпанной квоте](https://github.com/anthropics/claude-code/issues/57096)
