tgoop.com/vibe_coding_channel/331
Last Update:
Spec-Driven Development: всегда ли необходим?
🤼 На прошлой неделе было две менторские сессии по вайб-кодингу, на которых в обоих случаях использовались спецификации написанные GPT. Spec-Driven Development (SDD) сейчас набирает обороты. Со всех сторон говорят о том, что документации на проекте должно быть не меньше, чем самого кода.
Я сначала подхватил эту идею, и подумал, что это отличная возможность для начинающих хоть как-то структурировать рабочий процесс. Но в процессе увидел некоторые тонкости использования SDD, которые следует учитывать при разработке.
1️⃣ Читайте спецификацию, которую вам предлагает модель. Очевидный совет, но им часто пренебрегают. Новички ссылаются на то, что все равно ничего не поймут. Прочитайте хотя бы то, как модель поняла реализацию бизнес-процесса с точки зрения конечного пользователя.
Техническую часть обсудите со знакомым разработчиком, или записывайтесь на ментор-сессию, я помогу валидировать или подобрать стек технологий.
Вчера мы поспешили, и не заметили маленькую, но очень важную деталь - как система будет классифицировать чеки. Мы хотели с помощью LLM, а GPT предложил с помощью векторной классификации. В итоге впустую потратили время на реализацию, получили не то, что хотели.
В другом случае, у нас просочился Kubernetes, Prometheus, что на этапе разработки излишне, и только сбивает модель. На мастер-классе в Яндексе, был кейс когда модель вообще предложила собрать тестовую группу людей для тестирования 😄 так что, читайте, господа, что модель предлагает, и вырезайте лишнее.
2️⃣ Выбирайте правильные инструменты для SDD. Тоже очевидный совет, но на практике можем не учитывать особенности разных инструментов. Например, Kiro генерит спеку для целого проекта. Это хорошо, когда у тебя проект среднего размера и сложности. Но плохо, когда нужен 1-2 скрипта, или наоборот с десяток микросервисов. Маленькие приложения он переусложнит. А большие недодетализирует (попробуйте выговорить это слово).
Со SpecKit другая история, хорошо если в репозитории уже есть PRD верхнеуровневый, в AGENTS.md прописана арха проекта, и мы итеративно сгружаем в него по одной фиче в /specify, он их делает в отдельных ветках. Вчера мы взяли и в /specify сгрузили весь PRD. Что мне понравилось? В отличие от Kiro, он реально хорошо декомпозировал задачу. В целом он справился с задачей, другой вопрос, что мы переусложнили сам PRD, и не проверили его.
📚 Если подытожить: используйте автоматизированные средства SDD только на следних (Kiro) и больших проектах (SpecKit). На маленьких проектах, будет достаточно сгенерировать PRD самостоятельно, вычистить его от избыточных требований, и пойти в Cursor. Не всегда нужно даже декомпозировать задачи с помощью моделей самостоятельно, так как Cursor, RooCode, Droid и другие инструменты имеют свои Plan Mode, которые сделают это в процессе анализа и реализации задачи.
