Claude Certified Architect · Модуль 3 · Урок 3.4
Режим планирования против прямого исполнения
Суть
Режим планирования (plan mode) — для задач с несколькими валидными подходами, неизвестным объёмом или архитектурными последствиями. Прямое исполнение — для хорошо очерченных однофайловых задач с очевидным правильным решением.
Субагент Explore
Субагент Explore изолирует многословный вывод разведки во время планирования, сохраняя контекст для реализации. Неверный выбор архитектуры в plan-задаче ведёт к дорогой переделке — отмене множества изменений. Правило: если нужно открыть неизвестные зависимости или есть архитектурные последствия — режим планирования.
Anti-patterns
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Plan mode для однофайлового бага с ясным стек-трейсом | Лишние накладные расходы — фикс уже очевиден | Прямое исполнение; plan mode — для архитектуры и многофайловых задач |
| Прямое исполнение для миграции библиотеки на 45+ файлов | Claude может выбрать несовместимый путь и обнаружить это после 30 правок | Сначала plan mode: разведка, варианты подхода, подтверждение плана до изменений |
| Разведка и реализация в одной сессии без субагента Explore | Многословный вывод забивает контекст; реализация слабее | Explore для разведки; реализация стартует с чистым контекстом плюс сводка |
Exam traps
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Путать критерии plan mode со сложностью задачи | Сложная, но однозначная задача не требует планирования | Сигнал — несколько валидных подходов/архитектурные последствия |
| Прямое исполнение многофайловой задачи с неясным подходом | Дорогая переделка при неверном выборе | Сначала спланировать и подтвердить подход |
Практическое задание (T4)
- Задача A: «Исправить NPE в платёжном процессоре — стек-трейс указывает строку 47 payments.ts» → прямое исполнение.
- Задача B: «Мигрировать с axios на fetch по всей базе» → plan mode; рассмотреть вывод разведки и предложенный подход.
- Задача C: «Добавить интеграционные тесты в модуль аутентификации» → plan mode с субагентом Explore; чистый контекст для реализации.
- Задача D: «Добавить валидацию ввода в эндпоинт createUser» → прямое исполнение.
- Сформулировать 3 эвристики: какие сигналы в описании задачи указывают на plan mode vs прямое исполнение.
Проверка знаний
Продуктивность разработчика с Claude
Разработчик просит мигрировать легаси-монолит в микросервисы. 12 взаимосвязанных модулей и три валидные стратегии декомпозиции с разными инфра-последствиями. Какой подход верен?
Верный ответ: C
C верно. Несколько валидных подходов с разными инфра-последствиями — канонический сигнал для plan mode. Разработчику нужно видеть варианты и компромиссы до фиксации стратегии. A рискует зафиксировать декомпозицию, конфликтующую с поздними ограничениями. B добавляет предпочтение, но не спасает от переделки. D не даёт workflow планирования и подтверждения.
Продуктивность разработчика с Claude
При анализе большой базы контекст исчерпывается пофайловым выводом разведки ещё до начала реализации. Верное решение?
Верный ответ: B
B верно. Субагент Explore — штатное решение: разведка в изоляции, многословный вывод не идёт в основной контекст, возвращается лишь сводка. A откладывает проблему — большое окно тоже забьётся. C — /compact сжимает с потерей точности; Explore предотвращает накопление. D работает, но это ручной и хрупкий вариант.
Продуктивность разработчика с Claude
Рефакторинг платёжного сервиса: 3 ключевые функции транзакций, 2 паттерна запросов к БД, обработка ошибок в 6 краевых случаях, новое логирование. Просят начать сразу. Claude пишет 40 строк в transaction.ts, затем спрашивает, какой паттерн обработки ошибок использовать. Оказывается, этот фундаментальный выбор влияет на все правки. Какой workflow предотвратил бы переделку?
Верный ответ: B
B верно. Plan mode существует ровно для этого: выявить фундаментальные решения (стиль обработки ошибок), которые надо снять до написания кода. Plan mode поднимает зависимость заранее — вопрос задаётся до кода, а не после 40 строк. A совершает ту же ошибку. C и D — стратегии восстановления, а не предотвращения.