Diagrams AI Can, and Cannot, Generate (Рубрика Architecture)
Недавно добрался до осенней статьи из 2024 года про рисование архитектурных диаграмм при помощи AI. Автор рассмотрел три сценария использования и привел в конце три проблемы, которые мешают AI рисовать диаграммы как бог. Вот три сценария 1) Генерация generic диаграмм на заданную тему - я не совсем понял зачем такие диаграммы нужны автору кроме как иллюстрационные примеры, но AI справляется с их рисованием, правда, поиск по картинкам в Google справляется еще лучше 2) Whiteboarding with AI - когда мы рисуем планиремую систему, для которой мы хотим придумать решение и рассмотреть возможные проблемы. В принципе, адаптируя промпты с божьей помощью и крепким словом можно получить что-то удобоваримое, но иногда проще взять условный DSL языка типа Plantuml и ручками дописать что именно нужно подправить:) Но тут AI в принципе неплохо может помогать. Про разные подходы к рисованию можно почитать книгу "Creating Software with Modern Diagramming Techniques", про которую я уже рассказывал 3) System diagramming with AI - здесь суть в том, чтобы восстановить архитектурную диаграмму из кода проекта. Здесь часто сложно получить что-то осмысленное, так как кода может быть много, что в нем важно не ясно, а еще AI может нагаллюцинировать что-то чего нет. В общем, если проект не супер-простой, то сложно получить что-то вменяемое. И автор статьи описывает ключевые проблемы, среди которых выделяются три
- Мало тренировочных данных в виде проекты с кодовой базой + диаграммы, что их описывают не в generic виде, а детализированно
- Проблемы с анализом кода, где есть разные языки и технологии, есть разделение кода и конфигураций, а также общая каша из зависимостей между компонентами на статических диаграммах (deployment diagrams, диаграммы компонентов), а также каша в динамических диаграммах (sequence, activity) из-за количества бранчей с альтернативной логикой
- Проблема с сутью и фокусом на главном - создание хороших диаграмм в том, чтобы выделить главное, а для этого надо понимать цель системы и основные ее части. А это не всегда отражено в коде. Возможно, это можно скармливать в виде дополнительного контекста AI агенту - про что-то близкое к этому идет речь в whitepaper "From Requirements to Architecture: An AI-Based Journey to Semi-Automatically Generate Software Architecture", о которой я рассказывал раньше
В общем, чуда не произошло, серебрянная пуля пока не появилась, работаем дальше и готовим роботов, что облечат жизнь кожанным мешкам:)
#AI #Engineering #ML #Software #Architecture