GenAI ускорил производство кода, но сделал узким местом согласованность (alignment). Ручные процессы больше не держат темп, и архитектура начинает фрагментироваться.
Проблема проявляется не сразу — до момента, когда скорость генерации изменений превышает способность организации их проверять. Исторически контроль держался на людях: ключевые эксперты в стартапах и review board в энтерпрайзе. В обоих случаях возникает синхронная зависимость от центра. С GenAI объём изменений растёт быстрее: код и прототипы появляются за часы, а проверка остаётся медленной. Команды выбирают между скоростью и согласованностью. Со временем это приводит к дрейфу архитектуры и усложнению релизов.
Решение смещает контроль из людей в систему: декларативная архитектура (declarative architecture). Суть — зафиксировать архитектурные решения в машинно-читаемых декларациях, которые можно автоматически проверять и применять. Это не про «лучшие решения», а про «невозможно проигнорировать». Корректный путь становится путём наименьшего сопротивления. Компромисс очевиден: требуется upfront-формализация и строгие границы (bounded scope) для каждой декларации. Без границ декларации деградируют в ту же документацию, которую никто не читает.
Реализация строится вокруг минимальных единиц поведения — vertical slice. Event Model переводится в формальный schema (eventmodel.json), из которого детерминированно генерируются артефакты кода. Каждый slice изолирован: если есть ошибка, заменяется один slice, а не распутывается граф зависимостей. Для случаев, где шаблонов недостаточно, используется AI, но в пределах одного slice — это снижает когнитивную нагрузку и повышает стабильность результата. Итерации автоматизируются через циклы с проверкой критериев (например, Given-When-Then), где агент повторяет попытки до прохождения валидации. Параллельно декларативный подход распространяется на контракты: OpenAPI-спецификации становятся источником истины, а линтеры и проверки в CI/CD обеспечивают соответствие. Валидация встроена в IDE и пайплайны, поэтому несоответствие блокируется до продакшена.
Результат — перенос контроля «влево» без увеличения трения. Команды сохраняют автономию, но работают в рамках автоматически проверяемых ограничений. Архитектурная согласованность достигается без постоянного участия центральных ролей. Явных метрик в исходнике нет, но качественный эффект описан: снижение когнитивной нагрузки, предсказуемость релизов и отсутствие возможности доставить несогласованные изменения в прод. Это выглядит как эволюционное улучшение: меньше ручного надзора, больше встроенных ограничений, которые система применяет сама.