RPA – эффективное решение рутинных задач
Магнитогорский металлургический комбинат продолжает роботизацию бизнес-процессов. Сейчас «штат» цифровых помощников на промышленном предприятии составляет более двухсот программных роботов. RPA-решения помогают специалистам из различных функциональных направлений: экономика и финансы, бухгалтерский учёт, снабжение и логистика, персонал и кадры, маркетинг и продажи. Как работают роботы и допускают ли они ошибки, расскажем в статье.
Программы, которые работают с программами
Программные роботы RPA (Robotic process automation[1]) – это специализированные компьютерные программы, которые могут работать с другими программами как человек. Первый вопрос, на который следует ответить: почему эти специализированные программы называются роботами. В классическом понимании робот – это комплекс программно-аппаратных средств, позволяющий автоматизировать физический труд людей. Роботы создаются таким образом, чтобы они могли выполнять свои задачи в среде обитания людей без её существенных изменений. Например, робот-автопилот использует существующие механизмы автомобиля для перемещения людей и грузов, причём по уже созданной дорожной сети. Обычно для роботов не требуется создания отдельной среды обитания или инструментов (не нужно изобретать руль и педали), особенно это касается роботов-помощников. Программные роботы по своей идеологии похожи на обычных роботов, так как позволяют автоматизировать труд людей в мире компьютеров, причём без изменений компьютерных программ, с которыми необходимо работать человеку. Роботы работают с программами, нажимая кнопки, записывая и считывая текст так, как если бы это делал пользователь – человек. Данная особенность программных роботов RPA даёт им ряд преимуществ перед классическими программами:
- роботы используют ранее разработанные и протестированные механизмы и алгоритмы работы уже созданных программ, что даёт существенную экономию времени и затрат на разработку автоматизации (программа работает «поверх» программы);
- пользователю легко описать постановку задачи для робота, так как ему достаточно показать последовательность действий в информационных системах;
- возможности программных роботов не ограничены только повторением действий пользователя в информационных системах, роботы могут интегрироваться с другими информационными системами на уровне программных интерфейсов, обрабатывать большие объемы данных, выполнять сложные аналитические алгоритмы машинного обучения и искусственного интеллекта.
При этом следует отметить, что роботы RPA не являются панацеей при решении задач автоматизации. Например, роботы достаточно чувствительны к изменениям интерфейсов программ, с которыми они работают. Современный уровень развития технологии RPA позволяет роботам адаптироваться к некоторым изменениям в системах, но если изменения значительные, их необходимо перепрограммировать. Одно из важных ограничений при использовании роботов – это источники входных данных. Данные должны быть всегда представлены в цифровом виде. RPA-роботы отлично справляются с обработкой информации из электронных таблиц, баз данных, веб-страниц, экранных окон программ, но достаточно сложно получают данные из бумажных документов, потому что их необходимо как минимум отсканировать, или голосовых сообщений.
Поскольку RPA-роботы – это программы, то они строго выполняют алгоритмы, которые в них заложены, всегда сохраняют историю своих действий, оставляют цифровой след, могут работать в режиме 24/7 365 дней в году.
Что можно роботизировать
Роботизации поддаются практически все задачи, которые выполняются в информационных системах. Основные критерии пригодности процесса:
- задачу можно описать в виде конечной последовательности шагов с чётко определёнными условиями и правилами;
- все данные могут быть представлены в электронном виде;
- все действия выполняются в информационных системах на компьютерах.
Конечно, имеются и другие ограничения, однако неподготовленному человеку сложно их выявить или обойти. Поэтому определить пригодность или непригодность процесса к роботизации может только квалифицированный специалист – аналитик.
Кто делает роботов RPA
Так как программный робот – это программа, то и её разработку должен выполнять профессиональный программист. Но это верно только отчасти. Вся разработка ведётся в специализированных платформах RPA, которые предлагают весь необходимый инструментарий. Роботы средней и высокой сложности содержат большое количество элементов и связей между ними, сложные алгоритмы обработки данных и разветвленную логику. Здесь без знаний программирования и владения инструментами технологии RPA не обойтись. При этом в настоящее время всё более широкое распространение получает подход к разработке, основанный на концепции «гражданский разработчик». Данный подход позволяет пользователю самостоятельно разрабатывать роботов для решения своих повседневных задач. Это стало возможным благодаря набору специальных инструментов, встроенных в платформу RPA, позволяющих собирать робота из крупных блоков как конструктор. В Группе ПАО «ММК» разработка программных роботов выполняется командой Центра технологий роботизации «Некст», специалисты которой одними из первых в России освоили технологию RPA и вывели Магнитогорский металлургический комбинат в лидеры по роботизации среди производственных предприятий страны.
Какие бывают роботы
Программные роботы RPA делятся на два типа – роботы-ассистенты и автономные роботы.
Роботы-ассистенты предназначены для решения простых задач на компьютере пользователя. Данные боты самостоятельно запускаются пользователями обычно нажатием специальной кнопки. При этом на компьютере может «жить» любое количество роботов, а выбор, какого робота запустить, осуществляется из специального меню. За работой робота-ассистента пользователь может следить в режиме реального времени непосредственно за своим компьютером. При работе робота могут запускаться программы, двигаться курсор мыши, отправляться электронные письма и так далее. Единственным недостатком является то, что пользователь не сможет работать за компьютером одновременно с роботом.
Роботы-ассистенты нашли широкое применение в колл-центрах и центрах обслуживания клиентов. В то время пока оператор или менеджер ведёт диалог с клиентом, роботы параллельно с этим выполняют свою работу на компьютере. Такое применение роботов RPA позволяет существенно сократить время обработки данных, а также повысить уровень клиентского сервиса.
На Магнитогорском металлургическом комбинате гораздо большее применение нашли автономные роботы. Они размещаются на специализированных серверах и выполняют свою работу в скрытых для пользователей режимах. Автономные роботы могут запускаться по расписанию, заданному событию или по команде пользователей. Взаимодействие пользователей и роботов осуществляется через цифровые каналы – электронную почту, мессенджеры или передачу файлов через различные хранилища данных.
Типовой сценарий запуска робота пользователем происходит следующим образом. Роботы имеют свои корпоративные электронные почтовые ящики, на которые отправляются письма с заданной темой, например, «Запуск». Во вложении к письму прикладывается файл с данными, допустим, Excel-файл. Робот, сканируя почту, по теме письма определяет команду на запуск, скачивает вложенный файл и приступает к работе. Результатами работы могут быть отчёты, отправленные по электронной почте, проведённые операции в корпоративных системах, сформированные документы и так далее. Автономного робота можно рассматривать как удалённого цифрового работника, которому можно поставить задачу и через определённое время получить результат.
Безопасность
Вторым по популярности вопросом является безопасность программных роботов RPA. Часто можно услышать: «А если робот возьмёт и сам что-то сделает не так». Здесь ответ всегда один, робот – это программа, которую разработали люди в соответствии с заданным алгоритмом. Программные роботы действуют в строго заданной последовательности, а ошибки связаны исключительно с неверно поставленной задачей или ошибкой программирования. Роботы строго выполняют запрограммированную логику, иногда отслеживают действия людей и при необходимости блокируют возможность совершения действий, противоречащих заданным правилам.
Программные роботы RPA всегда оставляют цифровой след после выполнения любых действий. Для того чтобы отличить действия цифрового помощника от человека, в системе для робота заводится специальная учётная запись с уникальными логинами и паролями. Данный подход позволяет однозначно идентифицировать действия робота в системе и расследовать возможные инциденты в короткие сроки.
Также важно определить, кто несёт ответственность за действия робота. Очевидно, что за правильность разработки роботов, а также их функционирование ответственность несут программисты. Правильность программирования проверяется путём сравнения результатов работы робота с техническим заданием. В случае если в нём были допущены ошибки, либо на вход роботу поданы некорректные данные, то ответственность возлагается на разработчика техзадания или пользователя. Данный подход разделения ответственности не является уникальным, а, скорее, является стандартной практикой в сфере разработки программного обеспечения.
Ещё одной угрозой безопасности роботов являются потенциальные злоумышленники, которые могут получить исходный код робота и модифицировать его в своих интересах. Для исключения данной опасности существуют специализированные средства, позволяющие непрерывно контролировать конфигурацию роботов и исключить возможность внесения несанкционированных изменений. На ПАО «ММК» в рамках уникального для России проекта по построению системы информационной безопасности программных роботов внедрены программные средства контроля целостности и версий исходных кодов роботов, разработаны административные регламенты, обеспечивающие методы безопасной разработки роботов, способы защиты обрабатываемой информации, работы с паролями и так далее. Например, все пароли программных роботов, необходимые для входа в информационные системы, хранятся в централизованном хранилище в зашифрованном виде.
Роботы как люди, люди – не роботы
Главным назначением программных роботов является повышение производительности и качества труда человека. Так, например, исключение рутинного монотонного труда за компьютером в тех задачах, где кроме внимательности от человека ничего не требуется, позволяет существенно улучшить условия труда. Известно, что промышленные роботы часто используются там, где существует опасность для здоровья или даже жизни человека. Программные роботы также позволяют снизить негативное влияние рабочей среды на здоровье работников. В своей книге «Психология стресса» Р. Сапольски, профессор Стэндфордского университета, отмечает «…для большинства людей профессиональный стресс связан в основном как раз с недостатком самостоятельного контроля, когда на работе чувствуешь себя роботом или каким-то придатком к машине. Многочисленные исследования показали, что связь между профессиональным стрессом и вероятностью развития болезни сердца или нарушения обмена веществ обусловлена убийственной комбинацией высоких требований и слабого самостоятельного контроля: от вас многого ожидают, вы должны упорно трудиться, а процесс почти не контролируете…». Отсюда следует, что монотонный, однообразный, неинтеллектуальный труд может стать причиной серьёзных нарушений здоровья человека. Здесь на помощь приходят программные роботы, которые не болеют, не устают и легко справляются с однообразными, часто повторяющимися операциями, там, где требуется обрабатывать большие массивы данных, а риск совершения ошибок, как правило, из-за невнимательности, достаточно высок. Человек должен работать там, где необходимы его интеллектуальные возможности, творческий подход или экспертные знания. Для остального отлично подходят программные роботы RPA.
[1] Robotic Process Automation (RPA) – это форма технологии автоматизации бизнес-процессов, отличительной особенностью которой является возможность использования для сбора данных и управления приложениями через пользовательский интерфейс. RPA-роботов разрабатывают, наблюдая за тем, как пользователь выполняет задачу в графическом пользовательском интерфейсе приложения (GUI), а затем выполняют автоматизацию, повторяя эти действия непосредственно в графическом интерфейсе