qvib.pro
EN

Spec-Driven Development: как писать ТЗ для AI-агента и

Spec-Driven Development: как писать ТЗ для AI-агента и

Привет, вайб-кодеры! Сегодня мы поговорим о том, как перестать гадать, что выдаст ваш AI-агент, и начать получать именно тот код, который вы задумали. Если вы хоть раз сталкивались с тем, что агент «додумывает» функционал или уходит от изначального замысла, то этот материал для вас. Мы разберем Spec-Driven Development (SDD) — подход, который превращает расплывчатые запросы в четкие инструкции для ИИ.

Зачем это нужно

Представьте: вы даете агенту команду «сделай логин», а он возвращает вам нечто, что отдаленно напоминает логин, но с OAuth, 2FA и прочими «улучшениями», которые вы не просили. Это классический пример «дрейфа намерения», бич вайб-кодинга. Spec-Driven Development (SDD) — это ответ на эту проблему, практика, оформившаяся в 2025 году. Суть в том, что вы сначала создаете исполняемую спецификацию — контракт, который агент не имеет права нарушить без явного изменения этого контракта insidepc.tech. Это не бюрократия, а способ зафиксировать ваше намерение и критерии успеха до того, как будет написана первая строчка кода habr.com.

Спецификация становится артефактом намерения, который хранится в репозитории, версионируется и служит стабильным контекстом как для человека, так и для агента habr.com. Она отвечает на вопрос «ЧТО делает проект?», чего не делает, как реагирует на граничные случаи, и какие технические решения уже приняты (модель, библиотека, сервис). При этом она не лезет в детали реализации, такие как внутренняя структура функций или имена переменных proglib.io.

Как пользоваться

Основная идея SDD — это последовательность: идея → спецификация → план реализации → декомпозиция задач → код → проверки habr.com. Ваша роль здесь — системный аналитик, который пишет спеку, а не код. Вот пошаговая инструкция с готовым промптом:

  1. Определитесь с задачей и контекстом. Что именно вы хотите сделать? На каком стеке? Например: «магический вход по ссылке на email (passwordless), без пароля» на «TS / Node / PostgreSQL».

  2. Используйте промпт для создания спеки. Скопируйте и вставьте его в ваш AI-агент (например, Claude Code, Cursor, или используйте Spec Kit):

Ты — системный аналитик. Не пиши код. Составь ИСПОЛНЯЕМУЮ СПЕКУ для ИИ-агента-кодера —
единый источник правды, по которому он сгенерирует реализацию.
ФИЧА/СЕРВИС: «<ВСТАВЬ, что нужно сделать>»
КОНТЕКСТ: <стек/окружение, если есть; иначе предложи и зафиксируй [допущение]>

Спека по разделам:
1. Цель и не-цели: что система делает и чего НЕ делает (границы), одним списком.
2. Требования в формате EARS: «КОГДА <событие>, система ДОЛЖНА <реакция>» / «ЕСЛИ <условие>, ТО …» —
нумеруй, каждое проверяемо и однозначно.
3. Контракты: входы/выходы, формы данных (поля и типы), API/сигнатуры, коды ошибок.
4. Краевые случаи и обработка ошибок: пустые/некорректные данные, гонки, лимиты, оффлайн.
5. Критерии приёмки: чек-лист «готово, если …», по которому КОД можно проверить (в идеале — будущие тесты).
6. Открытые вопросы: что нужно решить до кода; по каждому дай рекомендуемый дефолт.
Пиши так, чтобы по спеке два разных разработчика собрали одно и то же. Никаких «и т.п.» — конкретика.
Где данных нет — прими разумное допущение, пометь [допущение], не выдумывай факты молча.
  1. Оцените результат. Агент должен выдать структурированный документ. Например, для «магического входа» он может определить не-цели («не делаем OAuth, не делаем 2FA в v1»), требования EARS («КОГДА пользователь ввёл email, система ДОЛЖНА отправить одноразовую ссылку со сроком 15 мин»; «ЕСЛИ ссылка просрочена, ТО система ДОЛЖНА показать ошибку и предложить выслать новую»), контракт POST /auth/magic-link {email} с кодами 200/400/429, краевые случаи (rate-limit, несуществующий email) и критерии приёмки в виде чек-листа. По такой спеке агент-кодер уже не «додумывает» срок жизни ссылки или поведение при повторе.

  2. Уточняйте спеку. Если есть неясности, используйте механизм уточнения. В Spec Kit можно поставить маркер [NEEDS CLARIFICATION: вопрос], и команда /speckit.clarify поможет задать до пяти уточняющих вопросов за один проход insidepc.tech.

Приёмы, о которых не пишут

  • Формальные требования EARS: Формат «WHEN [событие] THE SYSTEM SHALL [поведение]» пришел из авиационной инженерии (Rolls-Royce) и позволяет формулировать требования, которые можно однозначно протестировать insidepc.tech. Для ИИ-агента это снижает простор для «творческой интерпретации».
  • Исполняемые критерии приёмки: Плохой критерий — «ошибки обрабатываются корректно». Хороший — «видео без субтитров возвращает 422 с error: no_subtitles» proglib.io. Критерии должны быть такими, чтобы агент мог сам их проверить, не спрашивая вас. В идеале, они должны легко превращаться в тесты habr.com. Самые надежные ворота — это тесты, которые либо зеленые, либо нет insidepc.tech.
  • Инварианты: Это правила без исключений, например: «Максимальная длина видео — 60 минут», «Субтитры кешируются на 7 дней» proglib.io. Они не дадут агенту «улучшить» систему, нарушив фундаментальные ограничения.
  • «Холодный взгляд» субагента: Прогоняйте готовую спеку через отдельного субагента, который ищет в ней дыры и противоречия. Свежий взгляд часто ловит то, что автор спеки уже не видит insidepc.tech.

Связка с движком qvib.pro

Для тех, кто хочет максимально быстро освоить SDD и не собирать все инструменты по крупицам, движки qvib.pro предлагают готовые правила, роли и скиллы для вайб-кодинга. Это позволяет повторить описанный флоу с минимальными усилиями, используя уже настроенные шаблоны и интеграции, например, с GitHub Spec Kit, который является открытым и не привязан к вендору insidepc.tech. Spec Kit, кстати, самый популярный инструмент с более чем 120 тысячами звезд на GitHub и 30+ интеграциями с агентами на 11 июля 2026 года insidepc.tech.

Важно помнить, что SDD — это не всегда панацея. На мелких задачах, которые целиком влезают в контекст агента и описываются парой предложений, SDD может быть избыточным insidepc.tech. Есть задокументированные кейсы, где спека на тривиальную фичу разрослась до 1300 строк, а ревью документа заняло 3,5 часа insidepc.tech. Но там, где цена ошибки высока, участников много, а задача не помещается в голову целиком, SDD оправдан.

Полная карточка в арсенале: https://qvib.pro/arsenal/prompts/x-spec-driven-app/

Ещё по теме «Инструменты»

Разобраться глубже