Адаптирую материал школы архитекторов, мое любимое определение архитектуры (неформальное, но все же) в своей изначальной форме более не актуально. «Набор ключевых решений в системе, которые избавляют разработчиков от ненужной креативности» Да, было так, что архитектура защищала от «креативности» живых разработчиков, которые могли написать лишний/сложноподдерживаемый код. С распространением AI-ассистентов генерация кода стала почти бесплатной. Это привело к взрывному росту объема кода и неконтролируемой технологической сложности. Появился риск «эмерджентного техдолга»,когда AI генерирует рабочие атомарные функции, но они разрушают глобальную целостность системы и ее эмерджентные свойства. Архитектурные ограничения (guardrails) теперь становятся жестким фильтром для AI-агентов. Архитектура должна явно задавать рамки, за которые AI не имеет права выходить при генерации кода. И это не так просто, как кажется на первый взгляд. Мы ведь формулируем guardrails на естественном языке, а какая проблема с естественным языком? Именно так, которую и подсвечивает DDD и которая в целом нередко проявляется в жизни – ограниченность любого языка. У нас огромный контекст в голове, мы пишем и даже не представляем, что то, что мы написали кто-то может трактовать иначе, а этот кто-то чистает и через призму наполнения своего мозга воспринимает именно иначе =) Может кто помнит, была такая игра - игра в требования, где аналитику выдавалась картинка, он описывал что видит как ТЗ словами, относил разработчику и тот должен был по описанию нарисовать картинку (см изображение к посту). Ни у кого ни разу не получилось воссоздать, чего там только не рисовали. На картинке еще хороший результат. Кроме того, модели не видят надсистему и социальную сложность. AI видит код и файлы, но откуда ему знать реальные политические ограничения стейкхолдеров, квалификацию команды и будущую бизнес/IT-стратегию. Ну и конечно AI-агенты стали «цифровыми членами команд». Появилась новая социальная сложность гибридных команд (человек + AI). Думаю, придется сделать несколько дополнительных веток практического обучения, в частности база по онтологиям, нейросимволичности и DDD конкретно в этом узком контексте, иначе… плывет оно и чтобы каждый раз собирать разъехавшееся решение в кучу, приходится прилагать экстра-усилия (тем, кто инженерию не практикует, разумеется) :)
Адаптирую материал школы архитекторов, мое любимое определение архитектуры…
Из этого канала
- #837«По отдельности они сделают в два раза больше» — так обычно характеризуют тему…
«По отдельности они сделают в два раза больше» — так обычно характеризуют тему парного программирования.
- #838Распределенный монолит? Даже удивительно, но значительно чаще, чем каждое…
Распределенный монолит? Даже удивительно, но значительно чаще, чем каждое второе решение, аудит которого проводим, – распределеный монолит.
- #839Признаки распределенного монолита ▪️Несколько сервисов почти всегда выпускаются…
Признаки распределенного монолита ▪️Несколько сервисов почти всегда выпускаются одновременно ▪️Общая библиотека моделей (shared kernel) меняется вместе со…
- #835ИИ уничтожит человечество? Посмотрим через призму критического мышления на…
ИИ уничтожит человечество? Посмотрим через призму критического мышления на тезис в заголовке.
- #834Интересный всплыл вопрос - как отличить качественную инженерную работу от…
Интересный всплыл вопрос - как отличить качественную инженерную работу от удачного промта? Это в тему собеседований.