Как стать автором
Обновить
0

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

Время на прочтение 5 мин
Количество просмотров 3.9K

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

По данным исследования Deloitte 36% руководителей считает фрагментарные процессы главнейшим барьером для масштабирования автоматизации. Вендоры стараются сделать максимально простым и бесшовным процесс взаимодействия человека с RPA-системами, выстраивая оптимальную архитектуру своих решений. Таким образом можно значительно упростить автоматизацию длительных процессов, требующих участия человека. 

Статья написана при поддержке технического эксперта UiPath: Кристины Виролайнен.

В статье мы расскажем:

  • как можно организовать работу с большим количеством документов, 

  • как в эту работу вовлечь бизнес-пользователей, когда это необходимо,

  • с помощью каких инструментов запускать обработку так, чтобы участие технических пользователей не требовалось, а робот управлял всем сам.

Начнем с реального примера.

Кейс компании:

Здесь был кейс компании, обрабатывающей большое количество поступающих документов ежедневно. Представитель компании обратился к нам, обратив внимание на то, что у читателя может сложиться неверное ощущение, что наша реализация, представленная ниже, является объяснением того, как устроен процесс в компании. Пример технической реализацией оркестровки (представленный ниже) является только одним из вариантов того, как подобные процессы могут быть реализованы. Этот пример никак не связан с компанией, кейс которой был представлен.

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

Что под капотом: техническая реализация оркестровки

Кейс, приведенный выше, является примером автоматизации фрагментированных процессов, то есть процессов, которые разделены на этапы и требуют участия человека между этими этапами. Для описания таких процессов также используется термин “human-in-the-loop”. Автоматизация фрагментированных процессов — достаточно новая функциональность для RPA-систем. В решениях UiPath она стала доступна с появлением Action Center. Робот, столкнувшийся с каким-либо бизнес-исключением или ошибкой, может создать задачу пользователю и отправиться выполнять другие задачи. После того, как человек даст свой ответ, первый свободный робот продолжит выполнять процесс. Рассмотрим упрощенный пример того, как автоматизация таких процессов может быть реализована. Мы создали простой процесс приема и обработки страхового договора. Документ поступает на вход, сотрудник извлекает из него данные и принимает решение, требует ли этот договор согласования. Если договор удовлетворяет формальным требованиям, он заносится в учетную систему. Этот пример является довольно простым для роботизации, сложности возникают, когда приходится обрабатывать большое количество таких договоров.

Мы предлагаем решать задачу обработки большого количества документов в процессах “human-in-the-loop” с помощью процесса оркестровки, который проверяет, что именно происходит с интересующими нас объектами. Изобразим наш пример на схеме, процесс состоит из четырех этапов:

Робот, исполняющий процесс оркестровки, получает договоры и параллельно отправляет их в очередь на обработку. После того, как все элементы отправлены, процесс встает на паузу, а робот освобождается. Очереди являются реализацией Message Queue, и подробнее о них мы расскажем в следующих постах. 

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

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

Процесс оркестровки постоянно следит, что происходит с элементами нашей очереди, и как только какой-нибудь из них обогащается данными, процесс проверяет требует ли этот договор согласования (в нашем простом примере мы отправляем на согласование договора, у которых высокая сумма выплат). Если нам нужно согласование, процесс создает задачу человеку в Action Center, если согласование не требуется, процесс создает задачу роботу на ввод данных в учетную систему. 

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

Список задач для роботов выглядит следующим образом:

В нашем случае работают 2 робота, они берут задачи из списка на выполнение. На скриншоте нижний процесс “InsContract_Main” и есть наш процесс оркестровки. Он стоит на паузе, ожидая, пока какой-нибудь из элементов очереди обновится. На вход поступили 10 документов, соответственно добавилось 10 элементов в очередь, и на каждый элемент инициировался свой процесс “InsContract_DU” - распознавание и извлечение данных. Как мы видим, 4 таких процесса уже успешно завершилось, два документа из четырех не требуют согласования, и поэтому процесс оркестровки создал две задачи “InsContract_EnterApprovedContract” - процесс заведения договора в учетную систему, мы видим их первыми на экране. 

Перейдем к задачам для людей, их мы можем увидеть в Action Center. На скриншоте отображен список задач, и открыта задача типа “Согласование договора”.

Форма, которую вы видите на экране, создана с помощью low-code. Таким образом, задачи могут иметь любое представление. Для данного примера мы создали форму, в которой виден сам документ, и слева от него отображаются нужные нам данные.

Как только я нажму кнопку “Согласовать”, процесс оркестровки создаст процесс заведения данных в учетную систему. 

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

Пример отчета:

Как это было разработано?

Для реализации этого примера мы использовали активности из блока Long Running, они созданы специально для работы с фрагментированными процессами:

При отправке элемента в очередь мы использовали активности Add Queue Item And Get Reference/Wait For Queue Item And Resume. 

При добавлении элемента в очередь автоматически запускается процесс обработки: для этого мы использовали триггеры на очередь — функциональность оркестратора.

Для создания задач по вводу данных в учетную систему — Start Job And Get Reference/Wait for Job and Resume.

Для создания задачи для человека в Action Center — Create Form Task/Wait For Form Task and Resume.

Для параллельной обработки всех документов — активность Parallel For Each.

Часть процесса оркестрации выглядит следующим образом

Итоги

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

Теги:
Хабы:
+5
Комментарии 5
Комментарии Комментарии 5

Публикации

Информация

Сайт
uipath.marvel.ru
Дата регистрации
Дата основания
Численность
Неизвестно
Местоположение
США

Истории