Alex ChernyshAlex ChernyshAgentic behaviorist · Тель-Авив
СтатьиАссистент
Назад к статьям

Статья

Spec-Driven Development: подход, которым я реально пользуюсь

Как я использую лёгкий spec-driven workflow в реальной работе, что автоматизирует SDDRush и где в этой схеме уместен Kotef.

6 февраля 2026 г.·4 мин чтения
AgentsWorkflow
На странице(8)
Какую проблему это решаетЧто такое SDD на практикеЧто даёт SDDRushQuick startГде KotefКогда подход окупаетсяЧего не стоит делатьРепозитории

В реальной работе я пользуюсь довольно простым spec-driven подходом. Смысл у него прямой: вынести намерение, research, архитектуру и tickets из памяти чата в файлы, которые можно читать, проверять и передавать дальше. Со временем я собрал повторяющиеся части этого цикла в SDDRush.

Цикл в коротком виде

  • описать задачу человеческим языком
  • собрать только тот research, который влияет на решения
  • зафиксировать архитектуру до начала реализации
  • синхронизировать backlog в понятные tickets
  • реализовать по открытому ticket и потом привести состояние в порядок
Компактная схема SDD
Схема намеренно короткая: зафиксировать задачу, перевести её в tickets, потом реализовать и привести состояние в порядок.

Какую проблему это решает

Сбой старый и никуда не делся. План живёт в чате.

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

Что ломается первым. Исходное намерение размывается. Архитектура принимается кусками. Tickets перестают совпадать с реальным планом. Handoff держится на памяти и доброй воле.

Именно это я и хочу убрать.

Что такое SDD на практике

Цикл компактный:

  1. написать project brief
  2. собрать короткий и полезный research
  3. явно зафиксировать архитектурные решения
  4. синхронизировать backlog в конкретные tickets
  5. реализовать по открытому ticket
  6. обновить статус и закрыть то, что реально сделано

Ничего экзотического. В этом и смысл. Я не пытаюсь превратить разработку в новую религию. Мне нужен след в репозитории, который переживёт больше одного разговора.

Практический порог

Если задача настолько неоднозначна, что тебе пришлось бы дважды объяснять ход мыслей, ей обычно уже нужен хотя бы короткий spec trail.

Что даёт SDDRush

SDDRush — маленький toolkit, который я собрал вокруг этого подхода. Берёт на себя те части, которые мне надоело собирать вручную.

sdd-init создаёт .sdd-workspace и базовую структуру файлов. sdd-prompts рендерит repo-aware prompts из текущего состояния проекта. sdd-backlog синхронизирует и поддерживает backlog tickets. sdd-status быстро показывает, что ещё открыто, а что уже уехало дальше.

Этого хватает для многих задач. Если важен сам репозиторий, работа идёт дольше одной сессии и не хочется, чтобы brief растворился в фольклоре, такой scaffold полезен.

Quick start

bash bin/sdd-init /path/to/project --stack "Python/FastAPI" --domain "legal"
python bin/sdd-prompts /path/to/project
python bin/sdd-backlog sync /path/to/project
python bin/sdd-status /path/to/project

Дальше заполняешь ключевые .sdd-файлы, реализуешь по backlog/open, а потом прогоняешь janitor/status, когда состояние репозитория уже догнало план.

Где Kotef

Если хочется продвинуть тот же цикл дальше, Kotef — агентный слой, который я построил вокруг тех же идей. Более амбициозное продолжение. Не вещь, с которой обязательно начинать.

Kotef умеет поднимать SDD-состояние для репозитория, работать не от голого prompt, а от tickets и файлового контекста, вести цикл planner → researcher → coder → verifier → janitor, держать runtime state, checkpoints и resume для длинных задач.

Интересно, когда нужен durable coding and research agent для реальных репозиториев. Базовая мысль не меняется. Прежде чем давать агенту свободу, работе нужна структура.

Когда подход окупается

Я тянусь к такому циклу, когда в задаче больше одного нетривиального решения, контекст репозитория важен, работа растянется больше чем на сессию, кому-то ещё придётся разбираться что именно произошло.

Если задача крошечная и overhead дороже пользы, не пользуюсь.

Доверяю такому workflow и в benchmark-задачах, где одновременно важны grounding, latency и telemetry. Актуальный пример — Agentic RAG Legal Challenge, где оценивают не один удачный prompt, а всю систему.

Там срабатывает дисциплина. Маленькие изменения с понятной lineage. Явные gates на grounding и provenance. Ветки, которые выглядят умно, но портят след доказательств, отрезаются рано.

Не помогает. Без разбора расширять контекст. Менять слишком много переменных за один прогон. Верить более гладкому ответу раньше, чем стабилизировался путь к нему.

Чего не стоит делать

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

Подход должен уменьшать объём угадывания. Если он в основном производит аккуратную бумагу, что-то пошло не туда.

Цикл полезен тем, что делает намерение проверяемым, handoff чистым, состояние backlog менее декоративным. SDDRush появился потому что я часто работаю так и хотел перестать вручную собирать скучные части. Kotef появился потому что иногда хочется автоматизировать больше того же цикла, не теряя структуру.

Ресурсы

Репозитории

  • SDDRush на GitHub
  • Kotef на GitHub

✓ Reading complete

Alex ChernyshAlex ChernyshApplied AI Systems & Platform Engineer

Ещё по теме Agents

Часть публичных заметок про AI-системы с опорой на источники: поиск, evals и поставку под реальными ограничениями.

  • →Я запустил 12 ИИ-агентов на 47 часов. Вот что выжило.29 мар. 2026 г.·6 мин чтения
  • →Как доводить разработку с AI до зелёного CI и не ломать код4 мар. 2026 г.·5 мин чтения
  • →Как строить агентные AI-системы, которые держатся в проде2 мар. 2026 г.·4 мин чтения
На странице
  • 01Какую проблему это решает
  • 02Что такое SDD на практике
  • 03Что даёт SDDRush
  • 04Quick start
  • 05Где Kotef
  • 06Когда подход окупается1 min
  • 07Чего не стоит делать
  • 08Репозитории