Плейбук, который никто не измерил
Anthropic опубликовала плейбук AI-native SDLC для Claude Code: шесть этапов, каждый заканчивается закоммиченным файлом, всё это подано как бесплатный курс. Главный тезис: код больше не узкое место, а то, что им стало, управляется цепочкой закоммиченных артефактов. В самом документе нет ни одного замера: ни времени, ни стоимости, ни бенчмарка. Мы провели первый хронометрированный тест на реальном репозитории: шестнадцать сессий Claude Code с замером времени, цена каждого гейта и вердикт, который делит цепочку ровно пополам. Попутно двухминутный фикс, пропущенный через всю цепочку, показал цену церемонии, а наш собственный деплой дважды остановили, один раз четыре строки shell.
Плейбук и стенд
Стенд для теста: шестнадцать сессий Claude Code с замером времени, около $12 на вычисления, один реальный репозиторий. В плейбуке шесть этапов: plan, design, build, test, deploy, maintain. Каждый этап заканчивается закоммиченным файлом, и следующий этап читает этот файл: intent, spec, plan, pull request, запись об инциденте. Коммиты служат журналом аудита. Anthropic преподаёт всё это как бесплатный курс из 14 уроков, примерно на час, написанный для компаний с гейтами ревью. Мы проверили, что из этого переживает встречу с одним разработчиком.
Репозиторий: демо-приложение RealWorld (Express, TypeScript, Prisma, Postgres), настоящий проект с настоящими тестами и с одним сломанным набором тестов на свежем клоне (четыре проходящих набора, 14 зелёных тестов, две секунды на запуск). Этот баг позже станет контрольной группой. Правило подсчёта: гейт окупается, когда его результат меняет то, что уходит в релиз, и стоит меньше, чем приносит.
Входной билет: файл памяти в корне репозитория с командами, соглашениями, архитектурой и ошибками, которые модель повторяет снова и снова, не длиннее одной страницы. Наш файл написан и закоммичен за 63 секунды и $0,44. Честная оговорка по методике: в headless-запусках интервью из плейбука сжаты до одиночных промптов.
Plan: intent.md за двадцать девять секунд
Первый гейт фиксирует идею, прежде чем кто-либо начнёт проектировать. Запрос на фичу: читатели хотят заглушать авторов, которые заливают ленту. Плейбук называет результат прото-спецификацией: она пишется вместе с моделью, а отвечаете за неё вы. Допускаются три источника: идея, заведённый тикет или алерт об инциденте. В шаблоне пять разделов, и думать заставляют сами заголовки: проблема, желаемый результат, затронутые пользователи и системы, ограничения, открытые вопросы. Рабочий цикл состоит из пяти шагов: описать, обсудить, сгенерировать по шаблону, поправить, закоммитить.
| intent.md | время | стоимость |
|---|---|---|
| Фича заглушения авторов | 29 s | $0.18 |
| Сломанный набор тестов | 39 s | — |
Ценность лежит в самом низу, в открытых вопросах: что будет с избранным от заглушённого автора? Останутся ли его страницы доступными? Это решения, которые кодинг-агент иначе принял бы молча, а теперь они записаны и датированы. Файл закоммичен, поэтому авторство и время переживают чат, а владелец продукта правит черновик до принятия. Собственная цель Anthropic для этого этапа: выяснение требований за часы, а не за недели. В одиночку это занимает меньше минуты.
Design: спецификация сама указывает на свою предпосылку
Второй гейт превращает intent в spec одним промптом из курса: прочитать intent, составить спецификацию требований и дизайна, применить доступные skills, то есть те skills, которые должны нести ваши политики по бренду, безопасности и UX. Через две минуты у нас было примерно 2300 слов грамотной спецификации: эндпоинты, модель данных, поведение ленты, пограничные случаи. Она даже записала то, чего не смогла выполнить, ровно как требует промпт.
Поворот в помеченных замечаниях, которые написала сама модель: «C0. No org skills available. This spec has not been checked against any policy.» Вся предпосылка этапа опирается на файлы, которых в большинстве сетапов нет. В обучающих роликах эту предпосылку пропускают, а агент записал её черным по белому. Второе замечание было скромнее: значения по умолчанию для открытых вопросов требуют согласования с продуктом до начала сборки.
Курс строго требует парности (spec и intent коммитятся вместе, а переход к build подтверждает человек), и есть счёт за чтение: около 12 минут времени владельца продукта на одну спецификацию. Плейбук даже учитывает переделки: коммиты spec, датированные после старта сборки, идут вам в минус. В команде, закодировавшей свои политики, этот гейт и есть место, где они исполняются. В одиночку вы платите за обещание, которое сетап пока не может выполнить.
Build: plan mode, TDD и что на самом деле проверяет цикл
Третий гейт это Plan Mode, и планка жёсткая и полезная: инженер, не видевший разговора, должен суметь реализовать задачу только по плану. Сторону чтения Plan Mode обеспечивает сам: пока план не принят, модель не может редактировать файлы. Наш план занял около 4000 слов и четыре минуты. В нём названы файлы, которые изменятся, порядок работ, риски и способ доказательства, а ещё записаны три помеченных отклонения от спецификации, которые потом всплывают на ревью.
Сборка идёт циклом: написать падающий тест, сделать так, чтобы он прошёл, одна цель, всё зелёное, иначе задача не выполнена. Цикл защищён (агент, правящий код, не должен ослаблять проверку этого кода) и дополнен верификатором: второй проверкой в свежем контексте, на которую не влияет сессия, написавшая код.
| Результат сборки | значение |
|---|---|
| Время агента | ~9 мин, 91 ход |
| Стоимость | ~$2 |
| Изменение | 15 файлов, таблица Mutes, два эндпоинта, обе ленты фильтруются |
| Тесты | 5 наборов, 50 тестов, все зелёные при независимом перезапуске |
| Мерж с первого прохода | да |
Звёздочка: зелёный цвет доказывает только то, что входит в цикл. End-to-end не запускался: ему нужен живой сервер и заполненная база, а цикл, нацеленный на устаревшие подделки, светился бы зелёным точно так же. В масштабе команды добавляются параллельные сессии в worktree (заявленный потолок: две-три), мы их не тестировали.
Deploy: ревью и гейт, который сказал нет
У гейта деплоя два слоя, и оба нам отказали. Первый слой читает diff по письменной политике в корне репозитория: три прохода (баги, безопасность, соответствие spec и plan), пометка «Important» зарезервирована за сломанным поведением, утечкой данных или нарушением политики, не больше пяти придирок, остальное сводится к числу: политика сама ограничивает свой шум. Две минуты ревью, $0,80, и оно запустило реальные проверки: тесты, сборку, линтер относительно базовой линии из плана, форматирование по девяти файлам. Вердикт: ноль находок Important, шесть придирок, одна сверх лимита учтена в сводке. Завершилось оно строкой, о которой мы не просили: этот агент не одобряет, одобрение остаётся за код-овнером-человеком за защитой ветки.
Второй слой и есть сам гейт. Мы попросили выполнить деплой, и модель отказалась сама, потому что фичи не было в релизной ветке. Это суждение, а не принуждение. Тогда мы смержили и попросили снова: четыре строки shell ответили за 14 секунд: заблокировано, нужна авторизация релиза. Код выхода 2 останавливает вызов инструмента, а причина возвращается модели. Со стороны пайплайна получилось то же самое: сломанная сборка была разобрана headless за 11 секунд и $0,13 — модель прочитала лог, назвала точную причину и предложила diff, не тронув ни одного файла. Детерминированность побеждает вежливость; hook хорош ровно настолько, насколько хорош его паттерн, а наш совпадал с одним скриптом.
Налог на гейты
Тот же баг, то же сломанное начало, две дороги: контрольный эксперимент. Дорога первая: просто починить. Дорога вторая: вся цепочка, от intent до build.
| прямой фикс | вся цепочка | множитель | |
|---|---|---|---|
| Время | 2:13 | 11:31 | ×5.2 |
| Стоимость | $0.70 | $3.46 | ×4.9 |
| Ходы | 40 | 169 | — |
| Итог | набор зелёный | набор зелёный | идентично |
Счёт за машину это малая половина. Цепочка написала около 5500 слов артефактов ради однострочного фикса — примерно 27 минут человеческого чтения для diff, который просматривается за одну. Цепочка превращает время письма во время чтения: это и есть налог на гейты.
Плейбук добавляет регулярный платёж: непрерывные evals. От двадцати до пятидесяти реальных задач, перезапускаемых при каждом изменении конфигурации: каждый кейс это реальная прошлая задача, промпт как был, запуск от коммита перед изменением, с проверяемым критерием приёмки. Написать пять кейсов из истории заняло пять минут; запустить их правильно уже не так просто: наш первый харнесс направил два кейса не на тот коммит, и оба агента это заметили, вместо того чтобы подделать успех. При примерно одной минуте на кейс полный набор стоит до часа времени агента за прогон, а каждый продакшн-инцидент должен пополнять набор постоянным регрессионным eval. В регулируемой команде это чтение и есть результат работы; в одиночку это накладные расходы.
Вердикт: окупаются три из шести
Три гейта из шести окупаются:
| Этап | вердикт | подтверждение |
|---|---|---|
| Plan | оставить | 40 s покупают вопросы, которых никто не задал |
| Build | оставить | plan mode + цикл тестов выдали 50 зелёных тестов |
| Deploy | оставить | ревью за $0.80 с реальными проверками, детерминированная блокировка за 14 s |
| Design | пропустить в одиночку | выставляет счёт за политики, которые вы не закодировали |
| Test (непрерывные evals) | можно отложить | до часа за прогон, легко навести не туда |
| Maintain | не доказано | нужны недели продакшн-телеметрии |
На бумаге Maintain изящен: детерминированные скрипты следят за контрольными границами, а при выходе за них пишется новый файл intent, но чтобы это доказать, нужна продакшн-телеметрия, которой у нас нет. В собственном документе Anthropic, как заметил один аналитик, нет ни одного замера; это первые цифры, с очевидными оговорками: один репозиторий, один разработчик, один день.
Внешние данные говорят, что давление реально. Faros отследила более 10 000 разработчиков в 1200+ командах: команды с высоким уровнем внедрения мержат на 98% больше pull request, время ревью растёт на 91%, а средний pull request увеличивается более чем вдвое. Свежий отчёт DORA созвучен: пропускная способность с ИИ растёт, стабильность падает. Ревью становится узким местом, и плейбук нацелен именно туда. Варианты от сообщества уже сокращают цепочку до двух решений человека: один поставляет шаблоны и журнал гейтов, другой оставляет людей только на design и test. Внедряйте три гейта, которые окупаются, и дорастайте до остальных вместе со своей командой. Заключительная строка самой Anthropic станет лучшей эпитафией: цикл продолжает работать, а человеческое суждение остаётся над ним.
AIDive