К основному содержимому
#Architecture

[1/3] A Prompt Pattern Sequence Approach to Apply Generative AI in Assisting Software Architecture Decision-making (Рубрика Architecture)

#Architecture #GenAI #AI #ML #Software #Engineering #SystemDesign #DistributedSystems #Project

В декабре 2024 года вышел whitepaper на тему использования Gen AI в архитектуре. Я заинтересовался этой темой и решил прочитать что же придумали ребята. Оказалось, что это некоторый co-pilot для архитекторов, который помогает правильные решения. Для этого авторы предлагают использовать паттерны промптинга, что объединяются в цепочку подготовки, анализа и принятия архитектурных решений. Основные паттерны здесь следующие **- Software architect persona pattern

  • Architectural project context pattern
  • Quality attribute question pattern
  • Technical premises pattern
  • Uncertain requirement statement pattern
  • Prompt pattern sequence** Эти паттерны авторы исследования опробовали на 3 компаниях - двух настоящих (leading automobile financing bank's technological portal и leading retail pharmacy network) и одной вымышленной компании, что по легенде делает cloud-based CRM.

В самом начале авторы рассказывают как выглядит их подход к описанию указанных выше паттернов, куда входят как стандартные аттрибуты вида: Name, Context, Problem, Forces, Solution, Rationale и Consequences, а также расширенный список

  • Specializes: описывает, как текущий стандарт специализируется или расширяет существующие стандарты, уточняя их связь и адаптацию для решения конкретных задач или контекстов.
  • Statement template: предоставляет краткое описание или структурированное резюме стандарта, позволяя быстро понять его суть.
  • Concrete statement example: приводит реальный пример использования шаблона описания, демонстрируя его применение на практике.
  • Related patterns: содержит информацию о других паттернах, связанных с текущим, включая зависимости, предпосылки и рекомендации по совместному использованию (связанные паттерны вынесены в приложение к статье)
  • Usage example: приводит практический пример из реальной жизни, показывающий применение паттерна и его полезность в конкретной ситуации.
  • Known uses: представляет исторические или текущие примеры успешной реализации паттернов, подтверждая их эффективность и предоставляя ссылку на выполненный запрос для получения дополнительных деталей.

Сам flow работы с паттернами и Gen AI инструментами по мнению авторов статьи выглядит так

  1. Архитектор ищет подходящие паттерны из списка выше
  2. Дальше он применяет их для своего конкретного проекта и получает подсказки и предложения
  3. Дальше он принимает решения после анализа сгенерированных подсказок и своего знания проекта

Все звучит достаточно понятно, но давайте перейдем к самим паттернам, а потом рассмотрим как авторы предлагают объединять их в цепочку промптов для ассистирования в анализе архитектуры проекта и принятии арх решений. Сами паттерны будут рассмотрены в следующем посте.

#Architecture #GenAI #AI #ML #Software #Engineering #SystemDesign #DistributedSystems #Project