Опыт роботизации в МТС Финтех: от хаоса к стандартизации
Роботизация бизнес-процессов (RPA) – не просто модный тренд, а реальный инструмент повышения эффективности компании. В МТС Финтех автоматизация задач с использованием Python позволила значительно оптимизировать рабочие процессы.
Николай Казак, технический лидер роботизации бизнес-процессов МТС Финтех, рассказал на MoscowPython №98, с какими вызовами столкнулась команда, какие решения были внедрены и к каким результатам это привело.
Что такое RPA?
Robotic Process Automation (RPA) – технология, позволяющая программным роботам выполнять задачи через пользовательский интерфейс системы, имитируя действия человека. Такие решения не требуют изменения существующих IT-систем, интегрируются с различными платформами и помогают автоматизировать рутинные процессы.
Основные характеристики RPA:
- работа с графическими интерфейсами (GUI);
- автоматизация взаимодействия с desktop- и web-приложениями;
- повторение действий пользователя без вмешательства человека;
- интеграция с несколькими системами одновременно.
Путь к автоматизации: от хаоса к структуре
Первый робот в МТС Финтех был запущен в 2019 году с использованием UFT (Unified Functional Testing), Python, различных других технологий. Отсутствие стандартов оформления кода приводило к значительному усложнению кода: из-за вложенных структур одни этапы хаотично вызывались друг из друга и отследить зависимости было практически невозможно. Из-за этого команда приняла решение перейти на Python, проработать инструменты разработки, стандарты и архитектуру роботов.
В 2019 году не было сформированных фреймворков и глобального понимания, как писать роботов на Python, поэтому коллеги экспериментировали и поступательно осваивали многие процессы с нуля»
Основные проблемы, с которыми столкнулась команда: отсутствие сформированного стека, минимальное логирование, высокая вложенность и смутная структура проекта.
Для решения этих проблем команда роботизации МТС Финтех сформировала набор внутренних инструментов:
GuiUtils – библиотека для работы с GUI, включающая pywinauto и pyautogui.
SeleniumUtils – инструменты для автоматизации web-интерфейсов.
FileUtils – управление файлами и обработка данных.
MailUtils – типовые действия с почтовыми сервисами.
CFTUtils – автоматизация взаимодействия с платформой ЦФТ-Навигатор.
Также для повышения удобства работы с кодом и управления процессами была внедрена новая архитектурная модель:
- Процесс – совокупность RPA-решений для конкретного бизнес-процесса.
- Робот-оркестратор – управляет микроботами и верхнеуровневой логикой.
- Микроботы – отдельные модули для конкретных задач.
- Микрофронты – пользовательские интерфейсы для взаимодействия.
- Сервисы – модули, используемые в разных процессах.
Команда реализовала стандартизацию проектов и внедрила единые принципы разработки. Теперь разобраться в чужом проекте и заменить компоненты стало проще. А локализовать изменения в системах, которые могут сломать робота, – гораздо удобнее.
Результаты и планы
Благодаря развитию роботизации в МТС Финтех команде удалось добиться крутых результатов.
Теперь наш стек – самописные библиотеки, монолиты разделены по функциям, читаемость кода повышена и структура проектов едина, что сделало запуск и работу ботов непрерывным последовательным процессом
На данный момент команда роботизации планирует продолжить развитие направления микрофронтов, внедрить движок бизнес-процессов для управления микроботами, внедрить OCR и NLP и работать над гиперавтоматизацией.
Опыт команды МТС Финтех показывает, что успешная роботизация требует не только технологий, но и методологии. Переход от хаотичной роботизации к стандартизированным решениям позволил компании повысить эффективность и ускорить внедрение новых цифровых инструментов.