AI и системный / бизнес-анализ
В последние годы про 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. Конечно, полностью доверять его ответу нельзя (напомню, ошибка — это нормальное положение вещей), но что-то полезное из него извлечь можно. Он ответил так:
Я могу быть полезным системным аналитикам и бизнес-аналитикам во многих аспектах:
Анализ данных: Я могу обрабатывать и анализировать большие объемы данных для выявления тенденций, прогнозирования и принятия решений на основе этих данных.
Моделирование бизнес-процессов: Я могу помочь моделировать бизнес-процессы с помощью создания диаграмм потоков данных и других средств визуализации данных для оптимизации процессов.
Автоматизация задач: Я могу помочь в разработке и реализации автоматизированных решений для улучшения эффективности бизнес-процессов.
Прогнозирование и оптимизация: Я могу использовать алгоритмы машинного обучения для прогнозирования будущих трендов и оптимизации бизнес-процессов.
Обработка естественного языка: Я могу анализировать текстовые данные для выявления смысла, извлечения ключевой информации и автоматизации процессов обработки информации.
Поддержка принятия решений: Я могу предоставить аналитическую поддержку для принятия решений на основе данных и моделей, помогая более осознанно принимать стратегические решения.
Визуализация данных: Я могу помочь в создании визуализаций данных, которые помогут лучше понимать данные и представлять их для заинтересованных сторон.
Работа с базами данных: Я могу выполнять запросы к базам данных, обрабатывать информацию и предоставлять отчётность на основе имеющихся данных.
Интеграция систем: Я могу помочь в интеграции различных информационных систем и данных для обеспечения их взаимодействия и совместной работы.
Обучение и обучающие модели: Я могу обучать модели на основе данных, чтобы автоматизировать процессы и улучшить прогнозирование.
В общем, я могу быть полезным инструментом для анализа данных, автоматизации процессов и поддержки принятия решений в контексте работы системных и бизнес-аналитиков.
В заключение
Как уже было сказано, всё написанное выше — это скорее затравка, интересен фидбек (от аналитиков и не только).
Работали ли вы сами над ML-проектами? Чем эта работа отличалась от работы над другими?
Вот мы увидели, для каких целей другие аналитики используют AI —, а для каких используете вы?
Ждём ваши комментарии. А ещё ждём вас 12 марта на Flow, где как раз будут два доклада по этим темам: