Наверх

Robotic process automation (роботизированная автоматизация процессов). Что это такое.

Время чтения: 9 минут
1
Robotic process automation (роботизированная автоматизация процессов). Что это такое.

RPA - как оно устроено, и какие полезности у этой технологии.

С течением времени само виденье автоматизации постепенно трансформируется. Если ранее говорилось в основном об автоматизации отдельных функций или задач, которое достигалось за счет работы пользователей в различных информационных системах: ERP, ECM, CRM и т.д.  То теперь стала актуальной идея автоматизировать самого сотрудника (пользователя), а по возможности вообще исключить его из некоторых процессов.

Одним из решений этой задачи является использование программных роботов – RPA (robotic process automation).

Программные роботы могут имитировать работу пользователей с различными информационными системами, используя их графические (GUI) и/или командные (CLI) интерфейсы. То есть они работают с информационными системами и приложениями так же, как и обычные пользователи через интерфейсы, которые изначально предназначены для человека.

Как устроен робот?

Многие RPA имеют техническое сходство с инструментами тестирования GUI при тестировании ПО. Основной принцип работы RPA-приложения для desktop-приложений – найти нужные элементы пользовательского GUI операционной системы для считывания данных, занесения данных, выполнения действия с элементом интерфейса (click, double click, hover, key down и так далее).

Можно выделить две основные операции RPA-приложения:

1. Поиск нужного элемента на рабочем столе пользователя

2. Выполнение действия над найденным элементом (ввод/считывание данных).

Работа с windows-приложениями

Варианты поиска GUI-элемента на рабочем столе:

1. Программный поиск по дескриптору окна (используя WinAPI).

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

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

4. Поиск по косвенным признакам (якорям). Комбинирует перечисленные выше способы. Для поиска элемента сначала находится другой элемент (якорь), который можно более легко найти. А затем определяется расположение нужного элемента относительно якоря. При этом якорь и нужный элемент всегда должны находится в одном месте относительно друг друга.

Работа с сайтами (браузерами)

Поиск необходимых элементов (input, textarea, checkbox и т.д.) ведется через объектную модель html-документа (DOM), представляющей из себя иерархическое дерево, содержащее все элементы html-страницы. DOM-элементы доступны для чтения и записи, выполнения над ними определённых действий.

Работа с терминалами

Под терминалами имеются в виду программы, позволяющие управлять рабочими столами на удаленных ПК (VNC, Citrix, RDP). Поиск элементов в терминалах ведется используя OCR – оптическое распознавание. Так как при работе терминальных приложений используются протоколы, которые передают изображение удаленного рабочего стола в виде картинки, то другого варианта распознавания элементов GUI не остается. При этом активно применяются библиотеки компьютерного зрения, такие как OpenCV.

В чем преимущества RPA?

Основными преимуществами использования роботов считаются:

1.     Роботы работают быстрее, чем человек, и могут работать круглосуточно.

2.     Роботы не допускают ошибок.

3.     Роботов легко масштабировать.

4.     Внедрение RPA дает быстрый эффект.

5.     Настройка роботов не требует больших компетенций (для настройки роботов достаточно использовать возможности «конструктора»).

На первый взгляд, RPA выглядит очень заманчивой альтернативой сотрудникам, выполняющим рутинные операции. Кто бы отказался от легко масштабируемой «армии» дешевых сотрудников, неукоснительно следующих инструкциям, никогда не ошибающихся и готовых трудиться 24/7. Но не все так очевидно.

https://club.directum.ru/uploads/images/maxresdefault-pic905-895x505-77451.jpg_cf1ef9f3-4f4e-4579-8020-e9c4e2177b66.jpg 

Действительно, программные роботы гораздо быстрее могут выполнять те же самые действия, что и человек при взаимодействии с информационными системами. Но эта скорость не сопоставима с той скоростью, которую можно получить с использованием внутренних интерфейсов прикладного программирования (API).

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

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

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

Получается, что программные роботы не так уж и хороши?

Как и при использовании любого другого инструмента при принятии решения использования RPA нужно оценивать его эффективность в сравнении с другими инструментами. Основными критериями, для оценки применения программных роботов являются:

●   Многократность повторения операций. Когда одна и та же операция выполняется десятки-сотни раз в ограниченный промежуток времени одним сотрудником или над этой операцией ежедневно работают сотни сотрудников.

●   Объем обрабатываемых данных. Когда требуется создавать или сравнивать сотни – тысячи объектов.

●   Насколько хорошо операция поддается алгоритмизации. Не имеет смысла использовать программных роботов в тех случаях, когда в автоматизированном процессе предполагается много не типовых ситуаций.

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

Какие задачи решают роботы?

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

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

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

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

Миграция данных из одной системы в другую, при невозможности/сложности организовать миграцию другими способами.

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

Интеграция с ИС с которыми невозможно интегрироваться на системном уровне.

Например, в случае, когда необходимо интегрироваться с системами, которые сложно/долго/дорого дорабатывать (такими как SAP). Или, когда владелец системы, с которой нужна интеграция, отказывается предоставлять доступ к ней на системном уровне. При этом доступ к необходимой информации можно получить на уровне пользователя, например, через веб-форму.

Оптимизация работы пользователей при необходимости взаимодействовать с несколькими системами.

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

Автоматизация рутинных действий сотрудников.

Например, сбор информации с торговых площадок или отправка однотипных/шаблонных сообщений/писем/запросов по определенным сценариям.

Будущее. Смогут ли роботы заменить человека?

Расширить область применения RPA можно за счет использованием роботов с элементами технологий ИИ (машинного обучения, распознавания текстов и голоса и т.д.). В этом случае «виртуальный сотрудник», до того имевший «руки», получает «голову» для решения более сложных/интеллектуальных задач.

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

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

Но даже при подключении таких систем программные роботы могут выполнять только лишь то, что в них заложено. А это, обычно, рутина. А вот творческая работа, креативный взгляд на всё, это то, что остается за человеком ­­– сотрудником, которого освободили от рутины.

Источник: DIRECTUM Club

Чтобы прочитать эту статью до конца,
или зарегистрируйтесь

Комментарии 1

Anastasiia RPA 12 декабря 2019

Спасибо за ваш материал. К слову, хочу добавить по поводу заменят ли роботы человека на производстве или в офисе. Действительно, наверное это очевидно, что бизнесу это выгодно. Удивительно, но не только рядовой сотрудник, но и представители топ менеджмента третью часть своего рабочего времени заняты рутинной работой. Представляете, если ее почти полностью убрать, насколько повысится эффективность? К тому же, будет удален человеческий фактор, то есть из-за усталости бот не сделает ошибку.

Но RPA будет полностью бесполезен в решении любых творческих задач — человеку по-прежнему в этом нет равных. Поэтому эффективность бота в rule based задачах очевидна. А людям нужно учится выполнять сложные и творческие задачи, что принесет бОльшую эффективность.

Чтобы прокомментировать, или зарегистрируйтесь