Specification Driven Development (SDD) — фронтирный подход на весну —осень 2026 года в разработке код-агентами на базе LLM. Его практическая реализация чаще всего представляет собой обвязку вокруг код-агента, создающую дополнительную систему ограничений для направления его движения. Такая обвязка, или L2-harness, состоит из набора стандартов, навыков и спецификаций. В этой заметке вводится проблематизация подхода со спецификациями.
Есть такое утверждение, что SDD — это язык более высокого уровня. Типа как ООП на ассемблере. Типа по спекам потом можно создать тоже самое.
Но вот прикол: мы не видим тех мест, где нам повезло.
У нас неполные требования, агент что-то делает, где-то сделает то, что мы хотели, а где-то не то.
Мы находим не то и улучшаем спеку. Но мы не знаем о том, что было сделано правильно в результате случайности.
Поэтому второй созданный софт, по этим же спекам, будет функционально не такой же.
Надо использовать принятие результата оператором за отправную точку. Когда он принял результат, из кода везения можно взять и вернуть все предположения на уровень спек и этим зафиксироваться.
Обратная связь в SDD-подходе асимметрична и касается только тех мест, где машине не повезло
Спецификация всегда недоопределена, и машина молча заполняет её пробелы своим выбором
Выбор компилятора не меняет поведения программы, выбор агента в умолчании меняет
Подъём удачи в спецификацию при приёмке действует только на умолчание. У зазора творчества есть источники, которые спецификацией не лечатся
Неподнятые удачи существуют только в коде, и машина может переписать их при любой правке
Приёмка — единственный внешний судья результата, но она видит один прогон и только то, что наблюдалось
К контрмерам от потери устойчивости ИИ-обвязки, работающей на базе спецификаций