Дискавери с искусственным интеллектом

Мне удалось приспособить искусственный интеллект к выполнению фазы анализа и проектирования (дискавери). Результат превзошёл наши ожидания: время выполнения проектирования сократилось в 5 раз при высоком уровне качества результирующих артефактов.

Обложка статьи от ChatGPT
Обложка статьи от ChatGPT

На самом деле я ничего не изобрел. Мой опыт может повторить каждый. И каждый может получить качественный результат. Рассмотрим подход по шагам.

Дискавери

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

Этот путь сопряжён с необходимостью разработки большой цепочки артефактов, назначением которых является развитие первоначальной постановки задачи в необходимые функциональные и технические спецификации системы.

Преимущества ИИ

ИИ обладает рядом возможностей, благодаря которым во многих задачах он превосходит человека:

  • Способность отслеживать зависимости и определять цепочки каскадных изменений.
  • Поиск зависимостей, систематизация и качественное структурирование информации.
  • Быстрый поиск аналогичных решений и формирование предложений по аналогу.
  • Знание огромного количества методологий, нотаций, подходов, предметных областей, типовых решений и всякого такого, что нужно для выполнения дискавери.

Но даже не это важно. Важно то, что ИИ вполне успешно решает задачи анализа и проектирования на уровне начинающего мидла. А это означает, что я могу отдавать ему задачи и не тратиться на всякие софт истории. Мне больше не надо объяснять, зачем мне этот результат, почему задачу надо сделать именно так, выслушивать истории о том, что кому-то показалось, что так будет правильнее, следить за тем, что кто-то что-то забыл или проигнорировал и т.д.

ИИ существенно снижает влияние человеческого фактора.

Проблемы ИИ

Использование ИИ «в лоб» сопряжено с рядом проблем, которые не позволяют полноценно решать задачи анализа:

  • Ограниченные возможности удержания контекста — чем сложнее промпт и больше исходных данных прилагаешь к нему, тем больше шансов получить от ИИ абстрактный ответ, а не что-то похожее на необходимый результат.
  • Дискавери подразумевает переработку и обогащение информации с целью синтеза решения. Т.е. в ходе выполнения работ контекст постоянно расширяется, детализируется и усложняется за счет множества перекрёстных зависимостей. Как следствие, одним промптом не получается сделать дискавери или хотя бы его значительную часть - ИИ уходит в избыточные обобщения и отвлекается от задачи.
  • Неповторимость результата - на один и тот же промпт один и тот же GPT даст разные ответы. Точнее по смыслу они будут одинаковые (или близко к тому), а по содержанию и структуры могут вообще не иметь ничего общего. Поэтому при корректировке ранее подготовленных артефактов ИИ может дать непредсказуемый в части структуры и содержания результат.
  • Постоянное стремление сделать что-то по-своему.

Получается интересная штука: у ИИ есть всё, чтобы качественно сделать дискавери, но его неспособность удержать большой контекст и быть последовательным в достижении стабильного результата создают подозрение, что он немного страдает синдромом дефицита внимания. Надо ему помочь с этим справиться.

Фреймворк

Основная проблема в использовании ИИ - сложность удержания контекста. Я попытался ее решить за счёт использования атомарных артефактов и определения дорожной карты выполнения дискавери.

Под атомарными артефактами имеются в виду документы, нацеленные на конкретную информацию: бизнес-требования, ожидания и потребности, модель данных, сценарии использования, событийные модели и т.п. Я отказался от больших документов со сложной структурой в пользу мелочёвки.

При таком подходе каждый артефакт имеет однозначную цель, он однороден по содержанию. Работа с ним не требует широкого контекста, что упрощает задачу ИИ.

Дорожная карта в нашем случае выполняет две функции:

  • выстраивает зависимости между артефактами, выстраивает из них граф преобразования и обогащения информации в ходе проектирования;
  • определяет последовательность работ, в том числе участие человека в проектировании.

Кроме того, дорожная карта определяет точки контроля результата (они же — точки отката в случаях, когда дальнейшая детализация решения пошла "не туда") и точки влияния человека на результат.

Человек

Даже в условиях фреймворка качественно выполнить дискавери чисто на ИИ не выйдет. Этому есть несколько причин:

  • ИИ плохо синтезирует решения, особенно верхнеуровневые, его надо направлять (для этого в дорожной карте должны быть точки влияния человека);
  • в ходе дискавери регулярно возникает необходимость учёта выявляемых в результате дискуссий фактов (это тоже точки влияния);
  • достижение необходимого результата требует контроля промежуточных решений и их корректировки с целью получения продукта, который запрашивает клиент.

Т.е. выполнение проектирования с привлечением ИИ представляет собой плотное взаимодействие аналитика и ИИ, в котором аналитик играет роль ведущего, а ИИ — ведомого.

Отсюда вытекают требования к аналитикам, привлекаемым к дискавери на ИИ. Это должны быть люди, которые:

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

Иными словами, это методически подкованные старшие аналитики/архитекторы с опытом проектирования информационных систем "с нуля".

Однозначность результата

Чтобы обеспечить однородность результата, я использую шаблоны артефактов, которые определяют:

  • структуру артефакта;
  • правила заполнения артефакта.

Это позволяет мне не писать в промпте, какой результат я хочу получить. Я прошу ИИ разработать, скажем, требования, и оформить их по шаблону в соответствии с правилами, изложенными в шаблоне. Т.е. промпт определяет, что я хочу и на основании чего, а оформительская часть - в шаблоне.

Выполнение дискавери с ИИ

В этом разделе кратко обобщу тот опыт, который наша команда уже получила.

Принцип «человек + машина»

ИИ выступает помощником, который:

  1. Ускоряет рутину: генерация документов, диаграмм, таблиц
  2. Улучшает анализ за счет качественного выявления связей и зависимостей
  3. Обеспечивает консистентность и единообразие артефактов
  4. Быстро обрабатывает большие объёмы данных

Человек:

  1. Ставит задачи
  2. Верифицирует и корректирует результаты
  3. Синтезирует ключевые идеи и концепции
  4. Принимает решения по рекомендациям и идеям, выдвигаемым ИИ

Инструменты

ИИ‑инструменты: Cursor IDE

Традиционные: интервью со стейкхолдерами, анализ текущих процессов, воркшопы/мозговые штурмы, инструменты моделирования

Роль Cursor IDE

Работа с множеством файлов:

  • Промпты на обработку десятков артефактов одновременно
  • Анализ зависимостей и каскадные изменения
  • Учет связей между артефактами

Ревью и качество:

  • Отображение изменений в артефактах с возможностью их акцепта или отклонения
  • Выстраивание трассировок с отслеживанием влияния правок
  • Автопроверка консистентности
  • Сквозные валидации промежуточных и финальных результатов (например, обеспечит ли система с такой функциональной архитектурой и такими бизнес-функциями обеспечить автоматизацию целевых процессов и соответствие ожиданиям стейкхолдеров)

Интерактивность:

  • Ручные правки с учётом рекомендаций ИИ, основанных на понимании проекта
  • Итеративное улучшение с сохранением контекста
  • Автоматическая синхронизация между связанными артефактами

Примеры использования:

  • Одновременное обновление 8 документов при изменении требований
  • Автосинхронизация ER‑диаграммы с бизнес‑функциями и бизнес‑процессами
  • Каскадное обновление сценариев при изменении процессов

Процесс работы

Сбор и структурирование требований

Роль ИИ: анализ интервью, раскладка по шаблонам.

Роль человека: ревью результатов.

Результат: 73 ожидания стейкхолдеров (таблица), 30 бизнес‑требований с MoSCoW, матрица трассируемости.

Проектирование концептуальной архитектуры

Роль ИИ: генерация концептуальной архитектуры.

Роль человека: описание идеи ключевых сценариев использования, корректировка концептуальной архитектуры

Результат: диаграмма концептуальной архитектуры с 4 уровнями (пользователи, бизнес‑логика, интеграция, данные), 15 компонентов, матрица взаимодействий, описание ключевых сценариев (с учётом потребностей и бизнес-требований).

Определение to‑be процессов

Роль ИИ: описание процессов по итогам интервью, построение диаграммы бизнес-архитектуры доменной области проекта, определение бизнес-правил, которые должны быть реализованы в системе (верификации, сверки, калькуляции и т.п.).

Роль человека: ревью и корректировка результатов.

Результат: 10 бизнес‑процессов, 55 бизнес‑правил.

Определение функциональности

Роль ИИ: синтез 50+ бизнес‑функций с критериями приемки на основе бизнес-процессов и концептуального решения, сопоставление бизнес‑функций на бизнес-требования и концептуальную архитектуру.

Роль человека: ревью и корректировка результата.

Сильные стороны подхода

  1. Скорость и эффективность: автогенерация документации и диаграмм; например, ER‑диаграмма 50+ сущностей получена за ~2 часа вместо 2–3 дней.
  2. Качество и консистентность: единые стандарты, шаблоны и терминология; проверки полноты логической целостности.
  3. Cursor IDE: мультифайловая обработка, каскадные изменения, визуальное ревью, интерактивные правки, анализ зависимостей.
  4. Структурированный фреймворк: дорожная карта, шаблоны, трассируемость и встроенные проверки качества.

Слабые стороны и ограничения

  1. Зависимость от входных данных: при неполной/противоречивой информации результаты страдают. Решение: обязательная валидация входных данных и уточняющие итерации.
  2. Ограниченное понимание домена: ИИ может не учитывать специфику. Решение: привлечение предметных экспертов и детальный контекст через формирование дополнительных артефактов.
  3. Ограничения фреймворка: невозможно создать один рабочий фреймворк, эффективный для всего многообразия проекта. Решение: адаптация под проект, следовать здравому смыслу (для этого аналитик должен быть методически подкованным).
  4. Постоянное стремление ИИ налить воды: добавление в контент ненужных выводов, рассуждений, оценок качества полученного результата. Решение: запрет добавления подобных «резолюций» через промпты, использование шаблонов артефактов.

Заключение

Пробный опыт использования ИИ в дискавери показал существенный потенциал подхода, основанного на комбинации методологии проектирования и ИИ-агента, способного работать с большим пулом файлов.

Выступая в роли "рабочих рук", ИИ способен заменить мидл аналитиков, снизить человеческий фактор. При этом он усиливает ведущих специалистов, исключая из их работы человеческий фактор и рутину, существенно сокращая время на синтез контента и проработку альтернатив и позволяя больше сфокусироваться на проектируемом решении..

Cursor IDE обеспечивает мультифайловую работу и каскадные изменения, а структурированный фреймворк — качество и управляемость разрабатываемых артефактов.

Обсудить этот текст можно в комментариях под постом в VK
49 views·2 shares