AI и системный / бизнес-анализ

9d99280209c57ffb97c9795d6183fecc.png

В последние годы про AI/ML не писал только ленивый. Но обычно тему рассматривают с «потребительской» стороны: сейчас вот любуются видеороликами, сгенерированными проектом Sora. Более нишевая тема — «как работать над ML-проектами» (о таком мы проведём онлайн-конференцию I’ML). И совсем уж малозамеченная тема — что это всё значит не для пользователей или разработчиков, а для системных аналитиков и бизнес-аналитиков.

Для таких специалистов мы проводим конференцию Flow. И когда спросили у Программного комитета «а какие новые тренды вы сейчас видите в своей сфере», они в первую очередь назвали как раз AI. 

Так что тема явно тоже требует освещения. Но поскольку она ещё малоизучена, этот пост — не ответ на все вопросы, а скорее предложение к обсуждению: если вы связаны с анализом, дополняйте в комментариях.

Как AI/ML сказывается на системном/бизнес-анализе? Тут приходят в голову две разных ситуации. 

Первая: аналитиков всё чаще привлекают к работе над проектами, где используется машинное обучение. Что это меняет в их работе? Что им необходимо понимать про ML, чтобы хорошо справляться?

Вторая: аналитики в работе над любым проектом (даже никак не связанным с AI) могут использовать ML-инструменты. Какую именно пользу из них тут можно извлечь?  

Работа над ML-проектами

Тема обширная, поэтому здесь приведём лишь один пример. Среди задач аналитика есть работа с требованиями. Что конкретно в этом случае означает расцвет ML? Как аналитику найти общий язык с ML-инженерами? Чем это будет отличаться от общения с «обычными разработчиками»?

Тут важно понимать, например, следующее: с ML мы никогда не застрахованы от ошибок. Известно, что чат-боты могут «галлюцинировать», выдавая полный бред,  и от такого невозможно полностью избавиться. То есть от ML-проектов зачастую бессмысленно «требовать корректного поведения», там ошибка — это в порядке вещей.

Но это ведь не делает ML-проекты бесполезными для пользователей, вопрос в цене ошибки и в частоте. Например, одно дело, если с помощью ChatGPT пытаются защитить докторскую (тогда надо бы без галлюцинаций), а другое — сочиняют сказку для ребёнка (тогда с ошибкой может получиться даже веселее).

Соответственно, в требованиях надо изначально мыслить не категориями «необходима корректная работа», а другими. Система ошибается каждый третий раз или каждый тысячный? Есть ли у нас какая-то страховочная система на случай галлюцинаций? Сколько ошибок мы можем позволить себе пропустить? Насколько нам важна скорость работы и насколько можем в её пользу жертвовать точностью?

И в итоге может получаться, например, система с «двойным ситом»: сначала ML-фильтр, настроенный определённым образом, будет быстро отсеивать наиболее очевидные случаи, а после него другой фильтр или живой человек медленнее разберётся с оставшимися.

О подобном у нас на Flow рассказывал Павел Филонов. Поэтому, если эти вопросы для вас актуальны, вот запись его доклада:

Работа с помощью ML-проектов

После появления ChatGPT разработчики наперебой принялись проверять, может ли он писать код и чем этот код будет отличаться от «человеческого». Быстро стало ясно, что целиком заменить IDE на запросы к нейросетям пока не получится. Но вот в качестве «помощника» это работает, и параллельно с ChatGPT развиваются вещи вроде GitHub Copilot. 

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

Что в таком случае поняло мировое сообщество аналитиков по поводу ChatGPT? Мы попробовали погуглить и нашёлся, например, пост в Reddit-сообществе /r/businessanalysis, под которым больше полусотни комментариев. Что в них пишут?

Чаще всего там встречается аббревиатура SQL: оказывается, люди обращаются к ChatGPT, чтобы он за них написал запрос.

Тут напрашивается вопрос:, а правильный ли это запрос будет, если нейросети порой галлюцинируют? Не может ли быть такого, что сейчас аналитики разучатся писать руками сложные SQL-запросы, а в итоге перестанут замечать ошибки в предложенных им вариантах, и это навредит качеству?

В тех же комментариях один человек высказывает такие опасения: «Не доверяю нейросети SQL-запросы, чтобы не растерять навык». Но на это другой отвечает: «Вообще-то мне такая практика, наоборот, помогла узнать очень многое про SQL. Я ощущаю, что теперь руками пишу запросы лучше, чем раньше».

Получается, что для такой задачи нейросеть применима, но если не слепо копипастишь, а вдумываешься в предложенное. Ну, это не открывает нам Америку: ведь уже много лет то же самое говорят про ответы со Stack Overflow. Одно дело как следует понять эти ответы, а другое — собрать из чужих кусков кода франкештейновского монстра, который в итоге тебя и погубит. 

Однако всё же стоит зафиксировать вот что: холивары про нейросети часто ведут в плоскости «полезны ли они» и жаждут категоричного ответа «да» или «нет», а правильным ответом скорее оказывается «могут быть полезны, если использовать определённым образом».

Что ещё там называли, кроме SQL? Такие вещи:

  • Power BI-формулы

  • Код на Python

  • Рисёрч

  • Написание user stories 

  • Исправление Excel-формул с объяснением «что было не так»

  • Улучшение чужих плохо составленных требований

  • Составление резюме после увольнения

  • «Прошу его сказать мне что-то приятное в начале дня»

А что за пределами реддита — например, в русскоязычном сообществе? Тут интересная ситуация: в телеграм-чате «Системный анализ и проектирование ИТ-систем» есть интегрированный чат-бот, так что можно попросту посмотреть, с какими запросами к нему обращаются участники чата. Вот примеры из последних:

  • «Напиши запрос на PostgreSQL, который…»

  • «Напиши задачи для реализации всплывающего сообщения»

  • «Какую нотацию выбрать для описания схемы маршрутизации задачи с поэтапной сменой ответственного внутри формы pyrus»

  • «опиши, что такое модель данных»

  • «в чем отличие системного аналитика от системного архитектора?»

  • «чем отличается Kafka, RabbitMQ, activeMQ друг от друга?»

  • «напиши инструкцию к процессу заказа товара на Lamoda»

  • «Опиши поэтапно цепочку от начала разговора с заказчиком до завершения сделки и его закрытия»

И, наконец, можно спросить у самого ChatGPT. Конечно, полностью доверять его ответу нельзя (напомню, ошибка — это нормальное положение вещей), но что-то полезное из него извлечь можно. Он ответил так:

Я могу быть полезным системным аналитикам и бизнес-аналитикам во многих аспектах:

  1. Анализ данных: Я могу обрабатывать и анализировать большие объемы данных для выявления тенденций, прогнозирования и принятия решений на основе этих данных.

  1. Моделирование бизнес-процессов: Я могу помочь моделировать бизнес-процессы с помощью создания диаграмм потоков данных и других средств визуализации данных для оптимизации процессов.

  1. Автоматизация задач: Я могу помочь в разработке и реализации автоматизированных решений для улучшения эффективности бизнес-процессов.

  1. Прогнозирование и оптимизация: Я могу использовать алгоритмы машинного обучения для прогнозирования будущих трендов и оптимизации бизнес-процессов.

  1. Обработка естественного языка: Я могу анализировать текстовые данные для выявления смысла, извлечения ключевой информации и автоматизации процессов обработки информации.

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

  1. Визуализация данных: Я могу помочь в создании визуализаций данных, которые помогут лучше понимать данные и представлять их для заинтересованных сторон.

  1. Работа с базами данных: Я могу выполнять запросы к базам данных, обрабатывать информацию и предоставлять отчётность на основе имеющихся данных.

  1. Интеграция систем: Я могу помочь в интеграции различных информационных систем и данных для обеспечения их взаимодействия и совместной работы.

  1. Обучение и обучающие модели: Я могу обучать модели на основе данных, чтобы автоматизировать процессы и улучшить прогнозирование.

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

В заключение

Как уже было сказано, всё написанное выше — это скорее затравка, интересен фидбек (от аналитиков и не только).

Работали ли вы сами над ML-проектами? Чем эта работа отличалась от работы над другими?

Вот мы увидели, для каких целей другие аналитики используют AI —, а для каких используете вы?

Ждём ваши комментарии. А ещё ждём вас 12 марта на Flow, где как раз будут два доклада по этим темам:

© Habrahabr.ru