Звучит знакомо, когда пытаешься объяснить или понять процессы, но при просмотре диаграмм, которые их представляют, в итоге запутываешься в куче стрелок и квадратов? 😥 Несколько дней назад я наткнулся на очень интересное исследование, которое объясняет, как мы можем использовать языковые модели, чтобы упростить эту работу. По мере роста и усложнения организаций их бизнес-процессы тоже становятся сложнее. При составлении диаграмм этих процессов модели обычно становятся более детализированными и трудными для понимания — до такой степени, что может понадобиться больше одной чашки кофе ☕️, чтобы их разобрать.
В этом посте я хочу суммировать для вас это исследование и показать, как LLM могут стать вашими союзниками в распутывании этих диаграмм и превращении их из запутанных украшений в полезные инструменты. Если хотите углубиться, оставлю ссылку на оригинальное исследование: Leveraging Large Language Models for Enhanced Process Comprehension.
Идея простая, но мощная: сочетание абстракции моделей процессов с техниками промптинга, чтобы ИИ мог анализировать и интерпретировать диаграммы более ясно и эффективно. Кроме того, я поделюсь кодом, чтобы вы могли поэкспериментировать сами и открыть новые применения. Поехали! 🛠️✨
Модели бизнес-процессов, обычно создаваемые в BPMN, — это как карта вашего процесса: они показывают, куда идут потоки, кто что делает, в каком порядке и при каких условиях. Но когда эти карты становятся невероятно объемными, начинаются головные боли:
Структурная сложность: Между событиями, шлюзами и бесконечными потоками легко потеряться в лабиринте фигур и линий.
Когнитивная перегрузка: Диаграмма BPMN может быть так напичкана техническими деталями, что даже самый опытный эксперт по оптимизации процессов чувствует себя перегруженным.
Недостаточная доступность: Если в организации не знакомы с BPMN, эти диаграммы выглядят как египетские иероглифы, что мешает заинтересованным сторонам понять, что происходит в процессе, или приводит к неверной интерпретации объясняемого.
Звучит знакомо? Вот тут-то и вступает в игру магия LLM! 🎩
Чтобы эффективно использовать LLM, нужно решить две задачи. Сначала необходимо упростить представление диаграммы. Затем следует применять различные промпты, чтобы модель смогла проявить свою магию.
Первая идея — представить модели BPMN в формате, удобном для обработки LLM. Исследование анализирует четыре основных варианта:
Полный XML: Содержит все структурные детали.
Упрощенный XML: Более легкая версия, сосредоточенная на логической структуре без избыточных визуальных элементов.
JSON: Более плоский, удобный для запросов формат.
Изображение (PNG): Подходит для моделей, способных анализировать изображения и распознавать визуальные структуры.
Чтобы LLM лучше понимали модели BPMN, исследование предлагает несколько способов взаимодействия (промптинг):
Ролевой промптинг: Инструкция модели выступать в роли эксперта BPMN.
Нетехническая абстракция: Просьба использовать естественный, понятный пользователям язык.
Цепочка рассуждений: Заставляет LLM объяснять ход своих мыслей шаг за шагом.
Обучение на примерах (Few-Shot): Предоставление конкретных примеров правильных вопросов и ответов.
Негативный промптинг: Показ неправильных ответов, чтобы модель избегала подобных ошибок.
Теперь рассмотрим пример процесса для применения этих идей.
Пример модели: Процесс проверки курсов
Этот процесс позволяет студенту подтвердить курс, который он уже проходил в университете. Различные события перенаправляют возможные пути к одобрению или отклонению запроса.
Вот полезные инструменты, чтобы повторить некоторые результаты:
bpmn.io — онлайн-инструмент для создания BPMN-моделей
Google Colab — рабочая среда для запуска Python-ноутбуков
Vertex AI — для использования модели Gemini от Google
Обычно модель BPMN — это XML-файл со следующей структурой
Чтобы создать упрощенное представление, мы можем сгенерировать JSON-файл с помощью Python-кода, структурированного в таком формате:
В этом случае мы стремимся сохранить следующие элементы:
Объекты потока: События, шлюзы, действия, подпроцессы, транзакции и вызываемые действия.
Соединения: Потоки последовательности (sequence flows), сообщения и ассоциации.
Другие элементы: Пулы, дорожки, объекты данных, группы и аннотации.
В упомянутом ранее исследовании были предложены следующие промпты:
Prompt 1
"You are an expert in business process modeling and the BPMN 2.0 standard. I will give you a textual representation of a full BPMN model or only selected elements of a BPMN (e.g., a set of tasks and flows) and ask you questions about the process. You are supposed to answer the questions based on your understanding of the provided model. - Please take the role of a process expert who is familiar with the domain of the provided process, and use your domain knowledge to better understand and analyze the process, filling in any missing gaps."
Prompt 2
"Please answer in natural language, so that any user not familiar with the BPMN standard can understand your answer without any technical knowledge; i.e., avoid technical terms like Task, Gate, flow, lane, etc.; rather use natural language to describe the behavior of the underlying process."
Вот некоторые из вопросов, которые удалось задать, и соответствующие ответы:
Студент подает запрос на подтверждение.
Система проверяет, подавал ли студент ранее запрос на подтверждение.
Если это первый раз, запрос отправляется в академическую единицу для рассмотрения.
Если это не первый раз, запрос отправляется в отдел академической регистрации для проверки прохождения курса.
Академическая единица проверяет нормативные аспекты запроса.
При одобрении запрос отправляется проректору, в противном случае — координатору студентов для уведомления об отказе.
Проректор проверяет одобрен ли запрос.
При одобрении запрос отправляется координатору студентов для заполнения формы подтверждения.
При отказе запрос отправляется координатору студентов для уведомления об отказе.
При апелляции студента запрос отправляется академическому координатору.
Академический координатор проверяет принята ли апелляция.
При принятии запрос отправляется проректору на одобрение.
В противном случае запрос отправляется координатору студентов для окончательного уведомления.
Проректор проверяет одобрен ли запрос.
При одобрении запрос отправляется в академическую единицу для заполнения формы подтверждения и добавления курса в академическую карточку студента.
В противном случае запрос отправляется координатору студентов для окончательного уведомления.
Студент заполняет форму подтверждения и отправляет ее в отдел академической регистрации.
Отдел академической регистрации отправляет копию формы в дело студента.
Координатор студентов отправляет студенту окончательное уведомление о решении.
Если академическая единица не принимает документ, координатор получает уведомление и сообщает об этом студенту. Студенту дается время на исправление проблемы и подачу апелляции. Если апелляция не принимается, запрос на подтверждение закрывается.
Для легкого завершения процесса рекомендуемый путь следующий:
Студент подает запрос на подтверждение курса в образовательный отдел.
Образовательный отдел анализирует запрос и проверяет, подтверждал ли студент ранее этот курс.
Если студент не подтверждал курс ранее, образовательный отдел отправляет запрос в академическую единицу для проверки возможности подтверждения.
Академическая единица проверяет возможность подтверждения курса и отправляет результат обратно в образовательный отдел.
Образовательный отдел рассматривает результат и принимает решение об одобрении или отклонении запроса.
При одобрении образовательный отдел уведомляет студента и отправляет запрос на подтверждение в академический реестр.
Академический реестр добавляет курс в академическую карточку студента и уведомляет его.
В случае отказа в запросе студента на признание эквивалентности ему будет отправлено уведомление об отказе. Студент имеет возможность подать апелляцию в течение определенного срока. Если апелляция поступит вовремя, она будет рассмотрена. При принятии апелляции запрос на эквивалентность будет пересмотрен. Если апелляция отклонена или подана несвоевременно, студенту направят уведомление о окончательном решении.
Круто, правда?! 🤯… Результаты улучшаются по мере уточнения вопросов. Чтобы повторить эти результаты, можете посмотреть код, который я поделился в этом репозитории.
Исследование сравнивает различные семейства LLM — как коммерческие, так и open-source:
GPT-4 показал отличные результаты в ответах на высокоспецифичные вопросы по сценариям использования, демонстрируя преимущество в точности.
Open-source модели (WizardLM, Mixtral и др.) также проявили себя хорошо, доказывая, что не всегда нужно полагаться на коммерческие решения для достижения качественных результатов.
Для приведенного примера использовалась Google Gemini, которая дала интересные и точные результаты, хорошо улавливая замысел оригинальной модели.
Выводы показывают, что JSON или упрощенный XML — ключевые входные форматы для хорошего понимания модели, обеспечивающие точность без лишней «дополнительной информации», которая может привести к чрезмерному расходу токенов.
Можете ознакомиться с проектом команды, стоящей за этим исследованием. Их проект называется AIPA, вот ссылка на репозиторий:
🔗 AIPA GitHub Repository
В приведенном примере есть несколько промптов из оригинального исследования, которые я не интегрировал, но они могли бы дополнительно улучшить обучение модели для получения более точных выводов. Эта техника, известная как обучение на примерах (few-shot learning), использует способность LLM обучаться на ограниченном числе примеров, предоставляя несколько пар "вход-выход" в качестве ориентиров.
Возможно, вы думаете: «Хорошо, звучит интересно, но где это применить?» Один из самых мощных сценариев — банковская сфера. Вот несколько примеров:
Представьте, что можно автоматически интерпретировать модели открытия счетов, проверки транзакций или анализа рисков, не теряясь в сложности. LLM может отвечать на естественном языке:
👉 «Эй, какие шаги пропущены в этом рабочем процессе, которые не соответствуют нашим регуляциям?»
«Что происходит, если у клиента отсутствует определенная документация для получения продукта?»
«Что должно произойти, чтобы клиент квалифицировался на более выгодный план?»
«Какие лучшие доступные кампании для клиентов и какие условия нужно соблюсти для их предложения?»
Используя «процессного ассистента», команды продаж могут напрямую взаимодействовать с оптимальными решениями для решения проблем и не упускать возможности продаж из-за недостатка информации.
Модели BPMN можно анализировать простыми запросами, мгновенно выявляя нарушения регуляций или пробелы в политике рисков. Больше не нужно вручную просматривать диаграмму за диаграммой!
Анализ и оптимизация скриптов чат-ботов и виртуальных ассистентов. В конечном итоге более эффективный процесс взаимодействия делает клиентов более счастливыми.
Сочетание LLM с моделями BPMN открывает дверь к новому способу понимания и автоматизации бизнес-процессов — без головной боли от интерпретации бесконечных стрелок. Правильно используя эти инструменты и создавая эффективные промпты, специалисты как технического, так и нетехнического профиля теперь могут исследовать, запрашивать и оптимизировать процессы более эффективно.
В наших организациях это означает более плавные рабочие процессы, довольных клиентов и команду, которой больше не нужна лупа, чтобы разобраться в каждом шаге. Кроме того, это закладывает основу для будущих ИИ-приложений в процессном майнинге и непрерывном улучшении.
BPM Developers — про бизнес-процессы: новости, гайды, полезная информация и юмор.
Источник


