Вайбкодинг · 18 мин · обновлено 22 августа 2026 г.

Большой проект в Claude Code: схема ресёрч - план - фазы - проверка в 2026

Агент бросает крупную задачу на середине или рапортует «готово» на нерабочем коде. Лечится схемой из четырёх этапов: разведка по коду, письменный план, сборка по фазам и проверка после каждой. Собирается руками за вечер через CLAUDE.md, файл плана и один скилл, без покупки готовых пакетов.

18 мин чтения

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

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

Агент срывается на длинной задаче по трём причинам: контекст заканчивается, план живёт только в переписке, критерия остановки нет вообще. Лечение - четыре этапа. Разведка по коду до предложений. План в файле tasks/todo.md с чекбоксами и критерием проверки на каждую фазу. Сборка по фазам, одна фаза - одна сессия - один коммит. Проверка после каждой фазы свежей сессией с заданием «докажи, что фаза НЕ сделана». Схема пакуется в один SKILL.md и включается сама.

Коротко: пять терминов одной строкой

  • Фаза - кусок работы на 3-6 шагов, который целиком помещается в одну сессию и заканчивается коммитом.
  • План-файл - tasks/todo.md в репозитории, где фазы стоят чекбоксами; переживает сжатие контекста и перезапуск.
  • Критерий фазы - команда, которую можно запустить и получить однозначный вердикт вместо слова «готово».
  • Приёмщик - свежая сессия с чистым контекстом, которая проверяет чужую работу и не защищает её.
  • Stop-хук - скрипт из .claude/settings.json, который движок запускает при попытке агента завершить ход и может этот ход заблокировать.

Почему агент бросает большой проект на середине

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

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

Третья причина самая неприятная. У агента нет момента, в который задача считается закрытой. Он останавливается тогда, когда результат выглядит сделанным. Если запускаемой проверки нет, «выглядит сделанным» становится единственным сигналом, и получается зелёный отчёт на неработающем коде. Эту поломку мы разбирали отдельно в гайде про то, почему агент говорит «готово», когда ничего не работает.

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

Что продают под этой схемой и что из этого стоит забрать

Схему заметили и упаковали в товар. Ближайший пример на русском рынке - скилл Bulletproof от Артемия Миллера на платформе СмыслоКод. Формулировка автора: «ведёт агента через большую задачу от начала до конца: исследование, план, сборка по фазам, проверка после каждой». Версия 5.2.0, обновление от 17 августа 2026 года, архив весит 16 килобайт.

Внутри архива по описанию лежат исходники, README с документацией, промпт для адаптации схемы под свою задачу, история версий и лицензия с именем покупателя. Отдельно скилл не продаётся: он идёт внутри Практикума платформы. Цену на карточке товара на 22 августа 2026 года не указали, стоит пометка «цены скоро появятся». Возврат обещают в течение 7 дней, если архив ещё не скачан.

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

За что реально платят

  • готовые формулировки промптов, проверенные на чужом проде
  • сэкономленный вечер сборки и отладки
  • обновления схемы под новые версии агента
  • чужая дисциплина вместо своей

Что собирается руками

  • правило разведки в CLAUDE.md
  • файл tasks/todo.md с фазами и критериями
  • один SKILL.md на 60 строк
  • Stop-хук на пять строк в настройках

Дальше собираем свой вариант. По этапам.

Этап 1. Разведка: сначала карта проекта, потом предложения

Главная ошибка на старте крупной задачи - дать агенту писать код с первого сообщения. Он начнёт с того куска, который увидел первым, и подгонит остальной проект под него.

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

Промпт для этапа разведки:

Режим разведки. Код не пиши, файлы не меняй.
Задача, которую предстоит сделать: [ОПИСАНИЕ].

Собери карту проекта под эту задачу и верни отчёт по пунктам:

  1. Какие файлы и модули задача заденет. Путь + одна строка, за что отвечает.
  2. Где в проекте УЖЕ решена похожая подзадача. Файл и номер строки. Переиспользуем это.
  3. Какие внешние зависимости и договорённости трогать нельзя и почему.
  4. Три места, где задача может сломать существующее поведение.
  5. Что мне нужно решить перед стартом: развилки, где у тебя нет данных.
  6. Чего в проекте НЕТ из того, что задача подразумевает.

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

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

Разведку удобно делать в режиме плана: двойное нажатие Shift+Tab переводит Claude Code в состояние, где он читает и рассуждает, но не трогает файлы. Заслонка механическая, инструменты редактирования просто выключены, и никакое «увлёкся» не поможет.

Этап 2. План лежит в файле репозитория

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

Формат минимальный. Файл tasks/todo.md, внутри фазы чекбоксами, у каждой фазы своя команда проверки:

# Задача: перенос корзины на новый API

## Фаза 1. Слой запросов
- [ ] вынести fetch-обёртку в src/api/client.js
- [ ] перевести на неё три вызова из корзины
- Критерий: npm test -- cart проходит, в diff нет правок вне src/api и src/cart

## Фаза 2. Состояние корзины
- [ ] заменить локальный стейт на данные с сервера
- [ ] пустая корзина и ошибка сети рисуются отдельными состояниями
- Критерий: npm test -- cart проходит + скриншот пустой корзины и ошибки

## Фаза 3. Чистка
- [ ] удалить мёртвый код старого клиента
- Критерий: grep по старому имени модуля даёт ноль совпадений

Строка «Критерий» тут важнее списка шагов. Она отвечает на вопрос, который агент сам себе никогда не задаёт: по какому признаку фаза считается закрытой. Пиши критерий командой с понятным выводом. Формулировки вида «работает корректно» и «выглядит нормально» агент честно засчитает себе сам.

Промпт для этапа плана:

Разведка принята. Теперь план, кода по-прежнему не пиши.

Запиши план в файл tasks/todo.md по правилам:

  • Фазы по 3-6 шагов. Каждая фаза целиком помещается в одну сессию.
  • Каждая фаза оставляет проект в рабочем состоянии. После неё можно остановиться и не чинить.
  • У каждой фазы строка «Критерий» - ОДНА команда, которую я могу запустить, и её ожидаемый вывод.
  • Формулировки «работает корректно» и «всё ок» в критерии запрещены.
  • В конце файла раздел «Не трогаем»: файлы и поведение вне периметра задачи.
  • В конце файла раздел «Открытые вопросы»: где ты угадал вместо того, чтобы знать.

Порядок фаз выбери так, чтобы самое рискованное шло первым. Файл сохрани и покажи мне целиком. Ждёшь моего «поехали».

Правило «самое рискованное первым» экономит больше всего денег. Если задача развалится о неожиданное ограничение, ты узнаешь это на первой фазе, а не после четырёх дней работы. Второе по важности правило - «Не трогаем». Без явного периметра агент считает, что улучшать можно всё, до чего дотянулся, и приносит фазу вперемешку с чужим рефакторингом.

Хочешь дойти от установки до первого рабочего проекта, а не до брошенной наполовину папки? Пройди мини-курс «Claude за вечер»: от установки до первых результатов на твоих задачах.

Пройти мини-курс →

Этап 3. Сборка по фазам: одна фаза, одна сессия, один коммит

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

Правило простое. Одна фаза - одна сессия - один коммит.

Открыть фазу ≈ 1 мин

  • новая сессия, чистый контекст
  • первая команда: прочитай tasks/todo.md и назови ближайшую незакрытую фазу
  • агент подтверждает границы: что делает и чего не трогает
1

Сделать фазу 20-60 мин

  • агент работает только по шагам этой фазы
  • вылезло новое - дописывает в «Открытые вопросы», работу не расширяет
  • чекбоксы отмечает по ходу, а не в конце
2

Закрыть фазу ≈ 5 мин

  • гоняет критерий и приносит полный вывод команды
  • дописывает в план, что реально сделано и чем это отличается от задуманного
  • коммит с номером фазы в сообщении
3

Сбросить контекст ≈ 10 сек

  • закрываешь сессию, начинаешь следующую с нуля
  • всё, что нужно помнить, уже лежит в файле плана и в истории git
4

Коммит на каждой фазе выполняет ещё одну работу: он даёт точку отката, к которой можно вернуться, когда следующая фаза пойдёт не туда. Внутрисессионный откат тоже есть, но он покрывает только правки файловыми инструментами и не ловит то, что агент сделал через bash. Полный разбор уровней отката - в гайде как откатить изменения в Claude Code.

Команда для старта фазы помещается в одну строку:

Прочитай tasks/todo.md. Назови ближайшую незакрытую фазу и её критерий.
Перечисли файлы, которые собираешься тронуть, и подтверди, что остальное вне периметра.
Делай ТОЛЬКО эту фазу. Всё, что вылезет сверх неё, дописывай в раздел «Открытые вопросы», работу не расширяй.
Закончив, прогони критерий и принеси его полный вывод без сокращений.

Формула: фаза, которая не помещается в одну сессию, это ещё один невыписанный план. Режь дальше.

Этап 4. Проверка после каждой фазы

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

Работает это в трёх уровнях жёсткости, от самого дешёвого к самому надёжному.

Уровень первый: доказательство вместо слова. Агент приносит команду и её полный вывод, а не фразу «проверил». Стоит одну строку в промпте и ловит половину случаев.

Уровень второй: отдельный приёмщик. Открываешь новую сессию, не рассказываешь ей контекста и даёшь задание на опровержение:

Ты приёмщик. Этот код писал не ты, контекст у тебя чистый.
Прочитай tasks/todo.md, возьми последнюю закрытую фазу и её критерий.
Твоя задача - доказать, что фаза НЕ сделана.
  1. Прогони критерий сам. Приведи вывод целиком.
  2. Проверь ЗНАЧЕНИЯ на реальных данных, а не наличие нужных полей и слов.
  3. Пройди крайние ветки: пустые данные, ошибка сети, повторный вызов, отмена.
  4. Найди правки за пределами периметра фазы: покажи diff и скажи, что там лишнее.
  5. Выпиши каждое место, где критерий зелёный, а поведение расходится с планом.

Если сломать не удалось - так и напиши, но сперва честно попробуй.

Уровень третий: механическая заслонка. Текстовое правило агент может проигнорировать, скрипт - нет. Stop-хук в .claude/settings.json срабатывает при попытке агента завершить ход и способен этот ход заблокировать, пока твоя команда проверки не вернёт успех. Настраивается один раз на проект и дальше работает без тебя.

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

Как упаковать схему в скилл, чтобы не объяснять её каждый раз

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

Каркас файла:

---
name: bolshoy-proekt
description: Ведёт крупную задачу через четыре этапа - разведка, план, фазы, проверка. Включать, когда задача больше одной сессии, затрагивает несколько файлов или требует плана.
---

# Большая задача по фазам

## Этап 1. Разведка
Код не писать. Собрать карту проекта, вернуть отчёт по шести пунктам,
в конце пересказать задачу своими словами. Ждать одобрения.

## Этап 2. План
Записать в tasks/todo.md. Фазы по 3-6 шагов. У каждой строка «Критерий» -
одна запускаемая команда. Разделы «Не трогаем» и «Открытые вопросы».
Самое рискованное первой фазой. Ждать «поехали».

## Этап 3. Фазы
Одна фаза за сессию. Периметр объявить до старта. Лишнее писать
в «Открытые вопросы», работу не расширять. Закрывать коммитом.

## Этап 4. Проверка
Прогнать критерий, принести полный вывод. Слово «готово» без вывода
команды не использовать. Приёмку отдать свежей сессии.

Личный скилл кладётся в ~/.claude/skills/bolshoy-proekt/, проектный в .claude/skills/ внутри репозитория. Проектный вариант удобнее, когда над кодом работает не только ты: правила уезжают в git вместе с проектом. Пошагово создание скиллов разобрано в гайде как сделать свой Skill в Claude.

В CLAUDE.md остаётся дописать три строки, которые включают схему без напоминаний:

## Большие задачи
- Задача дольше одной сессии - сначала разведка и план в tasks/todo.md, потом код.
- Перед работой прочитать tasks/todo.md, после фазы отметить чекбоксы и коммитнуть.
- «Готово» без вывода команды проверки не принимается.

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

Работает ли это из России и сколько стоит

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

Claude Code из России без VPN не запускается: Россия не входит в список поддерживаемых стран, и сайт Anthropic просто не открывается. Нужен рабочий VPN с одной постоянной страной выхода и включённым Kill Switch. Прыжки между странами читаются системой защиты как угнанный аккаунт, и блокируют именно за них, а не за Россию саму по себе.

Подписка Claude Pro стоит около $20 в месяц. Оплатить её из России можно через сервис оплаты подписок (реферальная ссылка: тебе тот же прайс, мне небольшой процент): он платит зарубежному сервису за тебя, а ты переводишь рублями. Второй путь - готовый аккаунт с маркетплейса, там выходит примерно 1500-1800 рублей в месяц. Все способы со сравнением рисков разобраны в гайде как оплатить Claude из России.

Во что обходится схема в месяц

Сама схема: файлы и скилл
0 ₽
Claude Pro через сервис оплаты
~1700 ₽
Claude Max, когда фаз много
~8000 ₽

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

Где эта схема ломается

Честный раздел, потому что серебряной пули тут нет.

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

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

Критерий проверки можно написать так, что он всегда зелёный. «Файл создан» проходит на пустом файле. Критерий должен проверять поведение, а не факт существования, иначе ты построил ритуал вместо заслонки.

Хук отключают. Через неделю раздражения от медленной проверки Stop-хук уходит в комментарий и больше не возвращается. Лечится только тем, что проверка в хуке быстрая.

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

Чек-лист: что у тебя теперь есть

  • Понимание трёх причин, по которым агент сваливается на длинной задаче: сжатие контекста, план в переписке, отсутствие критерия остановки.
  • Промпт разведки на шесть пунктов, где агент читает код и пересказывает задачу своими словами до того, как что-то напишет.
  • Формат tasks/todo.md: фазы по 3-6 шагов, строка «Критерий» с запускаемой командой, разделы «Не трогаем» и «Открытые вопросы».
  • Правило сборки «одна фаза - одна сессия - один коммит» и команда старта фазы.
  • Три уровня проверки: доказательство вместо слова, свежий приёмщик с заданием на опровержение, Stop-хук как механическая заслонка.
  • Каркас SKILL.md и три строки в CLAUDE.md, после которых схема включается сама.
  • Понимание, где схема не работает и когда она дороже задачи.

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

По материалам карточки скилла Bulletproof на платформе СмыслоКод: smyslokod.ru/market/bulletproof (проверено 22 августа 2026 года).

Частые вопросы

Почему Claude Code бросает большую задачу на середине?

Три причины сразу. Контекст сессии заканчивается, и при сжатии диалога агент теряет половину договорённостей. План живёт только в переписке, поэтому восстановить его после сжатия нечем. И у агента нет критерия остановки: он завершает ход, когда результат выглядит сделанным, а не когда проверка вернула зелёный вердикт.

Что такое сборка по фазам в Claude Code?

Крупная задача режется на куски по 3-6 шагов, каждый кусок делается в отдельной сессии и заканчивается коммитом. Агент читает файл плана в начале фазы, делает только её и отмечает выполненное. Следующая сессия начинается с чистым контекстом и тем же файлом плана, поэтому нить не теряется даже через неделю.

Как заставить агента проверять работу после каждой фазы?

Нужен запускаемый критерий и отдельный приёмщик. Критерий пишется в план заранее, одной командой с понятным выводом. Приёмку отдаёшь свежей сессии с чистым контекстом и заданием «докажи, что фаза НЕ сделана». Жёсткий вариант: Stop-хук в .claude/settings.json гоняет твой скрипт и не даёт агенту завершить ход, пока проверка не прошла.

Нужно ли покупать платный скилл вроде Bulletproof?

Схема «ресёрч, план, фазы, проверка» не патентована и повторяется руками. Платный пакет экономит вечер настройки и даёт готовые формулировки, обкатанные на чужих проектах. Если ты собираешь один проект, дешевле написать свой SKILL.md на 60 строк. Если проектов много и над ними работает команда, готовый пакет окупается временем.

Как хранить план, чтобы Claude его не терял?

Отдельным файлом в репозитории, например tasks/todo.md, с чекбоксами по фазам и критерием проверки для каждой. В CLAUDE.md прописываешь правило: перед работой прочитать этот файл, после фазы отметить пункт и дописать, что реально сделано. Тогда план переживает и сжатие контекста, и перезапуск, и смену модели.

Мини-курс «Claude за вечер»

За один вечер настроишь Claude под свои задачи: внутри 35+ промптов, скиллов и агентов. Гарантия возврата 7 дней. Дальше есть Лаборатория ИИ-маркетинга, где из нейросети собирается целый отдел маркетинга.