Звучит знакомо, когда пытаешься объяснить или понять процессы, но при просмотре диаграмм, которые их представляют, в итоге запутываешься в куче стрелок и квадратов? ? Несколько дней назад я наткнулся на очень интересное исследование, которое объясняет, как мы можем использовать языковые модели, чтобы упростить эту работу. По мере роста и усложнения организаций их бизнес-процессы тоже становятся сложнее. При составлении диаграмм этих процессов модели обычно становятся более детализированными и трудными для понимания — до такой степени, что может понадобиться больше одной чашки кофе ☕️, чтобы их разобрать.

В этом посте я хочу суммировать для вас это исследование и показать, как LLM могут стать вашими союзниками в распутывании этих диаграмм и превращении их из запутанных украшений в полезные инструменты. Если хотите углубиться, оставлю ссылку на оригинальное исследование: Leveraging Large Language Models for Enhanced Process Comprehension.

Идея простая, но мощная: сочетание абстракции моделей процессов с техниками промптинга, чтобы ИИ мог анализировать и интерпретировать диаграммы более ясно и эффективно. Кроме того, я поделюсь кодом, чтобы вы могли поэкспериментировать сами и открыть новые применения. Поехали! ?️✨

Проблемы понимания моделей процессов

Модели бизнес-процессов, обычно создаваемые в BPMN, — это как карта вашего процесса: они показывают, куда идут потоки, кто что делает, в каком порядке и при каких условиях. Но когда эти карты становятся невероятно объемными, начинаются головные боли:

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

  • Когнитивная перегрузка: Диаграмма BPMN может быть так напичкана техническими деталями, что даже самый опытный эксперт по оптимизации процессов чувствует себя перегруженным.

  • Недостаточная доступность: Если в организации не знакомы с BPMN, эти диаграммы выглядят как египетские иероглифы, что мешает заинтересованным сторонам понять, что происходит в процессе, или приводит к неверной интерпретации объясняемого.

Пример сложной BPMN-диаграммы
Пример сложной BPMN-диаграммы

Звучит знакомо? Вот тут-то и вступает в игру магия LLM! ?

Подход на основе LLM к пониманию моделей процессов

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

1. Упрощение моделей BPMN

Первая идея — представить модели BPMN в формате, удобном для обработки LLM. Исследование анализирует четыре основных варианта:

  • Полный XML: Содержит все структурные детали.

  • Упрощенный XML: Более легкая версия, сосредоточенная на логической структуре без избыточных визуальных элементов.

  • JSON: Более плоский, удобный для запросов формат.

  • Изображение (PNG): Подходит для моделей, способных анализировать изображения и распознавать визуальные структуры.

2. Стратегии промптинга для лучшей интерпретации

Чтобы LLM лучше понимали модели BPMN, исследование предлагает несколько способов взаимодействия (промптинг):

  • Ролевой промптинг: Инструкция модели выступать в роли эксперта BPMN.

  • Нетехническая абстракция: Просьба использовать естественный, понятный пользователям язык.

  • Цепочка рассуждений: Заставляет LLM объяснять ход своих мыслей шаг за шагом.

  • Обучение на примерах (Few-Shot): Предоставление конкретных примеров правильных вопросов и ответов.

  • Негативный промптинг: Показ неправильных ответов, чтобы модель избегала подобных ошибок.

Практика с LLM и BPMN ?️?

Теперь рассмотрим пример процесса для применения этих идей.

Пример модели: Процесс проверки курсов

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

Процесс проверки курсов
Процесс проверки курсов

Вот полезные инструменты, чтобы повторить некоторые результаты:

  • bpmn.io — онлайн-инструмент для создания BPMN-моделей

  • Google Colab — рабочая среда для запуска Python-ноутбуков

  • Vertex AI — для использования модели Gemini от Google

Шаг 1: Получение упрощенной версии диаграммы

Обычно модель BPMN — это XML-файл со следующей структурой

XML-файл процесса валидации
XML-файл процесса валидации

Чтобы создать упрощенное представление, мы можем сгенерировать JSON-файл с помощью Python-кода, структурированного в таком формате:

Упрощенное представление процесса в формате JSON
Упрощенное представление процесса в формате JSON

В этом случае мы стремимся сохранить следующие элементы:

  • Объекты потока: События, шлюзы, действия, подпроцессы, транзакции и вызываемые действия.

  • Соединения: Потоки последовательности (sequence flows), сообщения и ассоциации.

  • Другие элементы: Пулы, дорожки, объекты данных, группы и аннотации.

Шаг 2: Создание промптов для взаимодействия с представлением

В упомянутом ранее исследовании были предложены следующие промпты:

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."

Шаг 3: Задавание вопросов для взаимодействия с моделью

Вот некоторые из вопросов, которые удалось задать, и соответствующие ответы:

Q1: «Перечисли все действия этого процесса в порядке выполнения»

  1. Студент подает запрос на подтверждение.

  2. Система проверяет, подавал ли студент ранее запрос на подтверждение.

  3. Если это первый раз, запрос отправляется в академическую единицу для рассмотрения.

  4. Если это не первый раз, запрос отправляется в отдел академической регистрации для проверки прохождения курса.

  5. Академическая единица проверяет нормативные аспекты запроса.

  6. При одобрении запрос отправляется проректору, в противном случае — координатору студентов для уведомления об отказе.

  7. Проректор проверяет одобрен ли запрос.

  8. При одобрении запрос отправляется координатору студентов для заполнения формы подтверждения.

  9. При отказе запрос отправляется координатору студентов для уведомления об отказе.

  10. При апелляции студента запрос отправляется академическому координатору.

  11. Академический координатор проверяет принята ли апелляция.

  12. При принятии запрос отправляется проректору на одобрение.

  13. В противном случае запрос отправляется координатору студентов для окончательного уведомления.

  14. Проректор проверяет одобрен ли запрос.

  15. При одобрении запрос отправляется в академическую единицу для заполнения формы подтверждения и добавления курса в академическую карточку студента.

  16. В противном случае запрос отправляется координатору студентов для окончательного уведомления.

  17. Студент заполняет форму подтверждения и отправляет ее в отдел академической регистрации.

  18. Отдел академической регистрации отправляет копию формы в дело студента.

  19. Координатор студентов отправляет студенту окончательное уведомление о решении.

Q2: «Что происходит, если академическая единица не принимает документ?»

Если академическая единица не принимает документ, координатор получает уведомление и сообщает об этом студенту. Студенту дается время на исправление проблемы и подачу апелляции. Если апелляция не принимается, запрос на подтверждение закрывается.

Q3: «Какой путь можно рекоменодвать для легкого завершения процесса?»

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

  1. Студент подает запрос на подтверждение курса в образовательный отдел.

  2. Образовательный отдел анализирует запрос и проверяет, подтверждал ли студент ранее этот курс.

  3. Если студент не подтверждал курс ранее, образовательный отдел отправляет запрос в академическую единицу для проверки возможности подтверждения.

  4. Академическая единица проверяет возможность подтверждения курса и отправляет результат обратно в образовательный отдел.

  5. Образовательный отдел рассматривает результат и принимает решение об одобрении или отклонении запроса.

  6. При одобрении образовательный отдел уведомляет студента и отправляет запрос на подтверждение в академический реестр.

  7. Академический реестр добавляет курс в академическую карточку студента и уведомляет его.

Q4: «Я новичок в этом процессе и запутался в вариантах при отказе, есть ли какие-то рекомендации для студента в случае отказа?»

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

Круто, правда?! ?… Результаты улучшаются по мере уточнения вопросов. Чтобы повторить эти результаты, можете посмотреть код, который я поделился в этом репозитории.

llm-bpmn-example/LLM_BPMN.ipynb

Тестирование LLM для анализа BPMN

Исследование сравнивает различные семейства LLM — как коммерческие, так и open-source:

  • GPT-4 показал отличные результаты в ответах на высокоспецифичные вопросы по сценариям использования, демонстрируя преимущество в точности.

  • Open-source модели (WizardLM, Mixtral и др.) также проявили себя хорошо, доказывая, что не всегда нужно полагаться на коммерческие решения для достижения качественных результатов.

  • Для приведенного примера использовалась Google Gemini, которая дала интересные и точные результаты, хорошо улавливая замысел оригинальной модели.

Выводы показывают, что JSON или упрощенный XML — ключевые входные форматы для хорошего понимания модели, обеспечивающие точность без лишней «дополнительной информации», которая может привести к чрезмерному расходу токенов.

Можете ознакомиться с проектом команды, стоящей за этим исследованием. Их проект называется AIPA, вот ссылка на репозиторий:

AIPA GitHub Repository

AIPA Interface, by humam-kourani
AIPA Interface, by humam-kourani

В приведенном примере есть несколько промптов из оригинального исследования, которые я не интегрировал, но они могли бы дополнительно улучшить обучение модели для получения более точных выводов. Эта техника, известная как обучение на примерах (few-shot learning), использует способность LLM обучаться на ограниченном числе примеров, предоставляя несколько пар "вход-выход" в качестве ориентиров.

Примеры промптов для уточнения результатов
Примеры промптов для уточнения результатов

Применение в промышленности ?

Возможно, вы думаете: «Хорошо, звучит интересно, но где это применить?» Один из самых мощных сценариев — банковская сфера. Вот несколько примеров:

1. Оптимизация операционных процессов

Представьте, что можно автоматически интерпретировать модели открытия счетов, проверки транзакций или анализа рисков, не теряясь в сложности. LLM может отвечать на естественном языке:

? «Эй, какие шаги пропущены в этом рабочем процессе, которые не соответствуют нашим регуляциям?»

2. Команды поддержки продаж

  • «Что происходит, если у клиента отсутствует определенная документация для получения продукта?»

  • «Что должно произойти, чтобы клиент квалифицировался на более выгодный план?»

  • «Какие лучшие доступные кампании для клиентов и какие условия нужно соблюсти для их предложения?»

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

3. Автоматизация аудита и комплаенса

Модели BPMN можно анализировать простыми запросами, мгновенно выявляя нарушения регуляций или пробелы в политике рисков. Больше не нужно вручную просматривать диаграмму за диаграммой!

4. Поддержка клиентов и сервис

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

Заключение

Сочетание LLM с моделями BPMN открывает дверь к новому способу понимания и автоматизации бизнес-процессов — без головной боли от интерпретации бесконечных стрелок. Правильно используя эти инструменты и создавая эффективные промпты, специалисты как технического, так и нетехнического профиля теперь могут исследовать, запрашивать и оптимизировать процессы более эффективно.

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

BPM Developers — про бизнес-процессы: новости, гайды, полезная информация и юмор.

Комментарии (2)


  1. Ares_ekb
    15.01.2026 06:25

    На мой взгляд это клёвая идея. Я что‑то подобное делал для Enterprise Integration Patterns. Ещё генерил EPC‑модели, затем преобразовывал их в машины состояний UML.

    Языковые модели — отличная штука например для валидации моделей. Могут быть правила типа «названия функций должны содержать глагол в неопределенной форме (создать задачу), а не отглагольные существительные (создание задачи)». Реализовывать это в коде запаришься, а для языковых моделей — это тривиальная задача найти и исправить такие ошибки.

    Таких сложно формализуемых правил может быть множество, например «названия объектов в модели должны быть коротким и ёмкими, не больше 7 слов» или «названия объектов в процессе не должны содержать лишние технические детали».

    Ещё можно использовать ИИ для автолейаута моделей по нетривиальным правилам «размести фигуры по ходу исполнения процесса сверху вниз, исполнители функций должны быть справа, а ресурсы слева». В статьях по ссылкам выше я как‑раз вполне успешно использовал такие промпты. Хотя с этим языковые модели справляются уже немного хуже.


  1. itGuevara
    15.01.2026 06:25

    Хотел бы найти онлайн-сервис, который по текстовому описанию процесса создает BPMN в формате .bpmn и в окне показывает его код и отображает схему типа как в https://demo.bpmn.io/s/start (достаточно режима view). Последующие промты должны позволять корректировать схему (.bpmn).

    AIPA GitHub Repository , пишет 404. Видимо репо ProMoAI и https://promoai.streamlit.app/ но там требует api key - без него никак?  

    Аналогично с EPC (генерация схемы), но вместо .bpmn например, .drawio. Редактор не обязателен, для начала достаточно viewer.

    Есть ли конвертеры .bpmn в .drawio или подобное? Также .bpmn в mermaid \ dot.
    Мои попытки промтами deepseek генерить по текстовому описанию схемы процессов в mermaid или dot показали плохие результаты.