RPA极简史

机器人流程自动化(Robotic Process Automation,简称RPA),作为“自动化为先”时代的翘楚和先驱,被广泛地用来代替人类自动执行任务,越来越多的领域、企业和人开始接纳RPA。如今,RPA 给全球范围内的工作场景带来了颠覆性的变化,不少人惊呼:RPA时代已经来临。

RPA极简史

当然,Automation的罗马并非一日建成,RPA的概念也不是像孙悟空一样从石头缝里突然蹦出来的,RPA自有它的历史和传承,它是什么?来自哪里?会走向何方?让我为您徐徐道来。 

推荐阅读:RPA百年发展简史:RPA的史前背景、发展历程与四阶进化

萌芽 

 回忆RPA的历史,有人喜欢追溯到二十世纪五十年代工业机器人和自动化流水线的诞生,这不能说有问题,但总显得底气不足,就好比“刘备总说自己是中山靖王之后”,证明自己血统纯正,但RPA血统之纯正无需额外证明。

谈到RPA的萌芽,总绕不开一个词:按键精灵。“技术解放双手,程序实现梦想”,这是按键精灵的宣传口号,也是当时的真实写照。按键精灵是当时鼠标键盘自动化的事实标准,其可视化编程之先进,对使用者的要求之低,使按键精灵极大普及,当时令人津津乐道的段子是:某个几万人使用的畅销脚本,其开发者居然只有初中学历!另外,按键精灵中的找图找色等实用特性,直到现在许多RPA产品中仍在借鉴和使用,当然,这是后话。

RPA极简史
按键精灵的强大性和易用性
至今大部分RPA产品仍无法超越

为何按键精灵在RPA从业者中如此知名?一个不容忽视的事实是,现在这群RPA中青年精英,在二十一世纪初的时候,正值青春年少,他们中的许多人一头扎进网游的世界,练级、打怪、找脚本、挂机,而按键精灵的最大应用,正是脚本开发。

当然,按键精灵的用途绝不仅限于此。一直以来,有超过20%的用户将按键精灵用于游戏之外的场景:从早年的数据自动录入,到一些办公族编写的自动签到脚本,再到普通大众的抢票助手,按键精灵一直是中国互联网用户喜爱的一个可视化轻量级的开发工具。

有人说,按键精灵只是一个ToC的小工具,那么将鼠标键盘自动化发扬光大并带入ToB之大雅之堂的,是自动化测试,尤其是UI界面自动化测试。所谓自动化测试,是指以录制或编写脚本的方式编写测试用例模拟手工测试,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。

自动化测试的技术方案通常分为脚本编写/开发工具、脚本执行/运行平台、过程控制和结果展示/控制客户端三个主要组成部分,例如Android程序自动化测试组合Java + JUnit + Gradle + Jenkins,UI自动化测试组合Python + Selenium/Appnium + Jenkins,这种三权鼎立的结构,日后也成为了RPA产品技术框架的事实标准。

RPA极简史
自动化测试三件套,日后也成为
RPA产品技术框架的事实标准

另外,与按键精灵类似,有些工具和框架还被RPA直接拿去使用,例如有的RPA平台直接将Selenium作为浏览器自动化的基础。从这个角度看,按键精灵和自动化测试不仅搭建了RPA的身体(三件套)和四肢(鼠标键盘),而且提供了数个关键部件。

 蓄力 

要问处理哪类计算机问题最痛苦?不管是程序员、运维工程师还是管理者,一定会异口同声地回答:维护和兼容遗留系统。由于计算机技术更新换代过于迅猛,在进行老旧系统升级时,考虑到时间和金钱成本,有时会保留一部分与现有系统不兼容的老旧软硬件系统,那么问题来了:如何与这些老旧系统进行交互呢?

RPA极简史
使用终端模拟器连接IBM 3270

例如,二十世纪八十年代有一种普遍应用的IBM大型机3270,这种大型机既不带操作系统界面,又没有提供操作其中数据的接口,那么如何将存储其中的数据进行展现或迁移呢?一种叫做屏幕抓取(Screen Scraping)的技术孕育而生:首先,使用终端模拟器显示出系统的界面;其次,利用屏幕抓取技术解析出屏幕上的数据,然后将这些数据显示在浏览器等更加先进的设备上。

由于屏幕抓取技术非常实用,微软后来在Windows操作系统中也集成了屏幕抓图软件,但仅限于此。真正将屏幕抓取发扬光大的是OCR技术。光学字符识别(Optical Character Recognition,简称OCR),是指利用光学技术和计算机技术把印刷体或手写体文字进行读取识别,转化成计算机和人都能够识读的格式。

如果说对IBM 3270进行屏幕抓取基本还是基于固定格式的屏幕数据读取的话,OCR技术则通用和普遍得多,它可以将可视化数据由图片等非结构化数据转化为结构化数据,因此OCR是实现信息处理自动化最关键的一环。

RPA极简史
OCR完成非结构化数据到结构化数据的转化

其实,早在1929年德国科学家Tausheck就已经提出OCR的概念,但是直到二十世纪八十年代,才出现基于模式识别的OCR产品,随着人工神经网络和深度学习技术的成熟,OCR技术也愈发成熟,名片识别、身份证识别、车牌识别等众多实用的系统也逐渐实用化。

不管是屏幕抓取技术,还是OCR技术,最擅长的还是处理多个隔离系统的场景,强调对原有系统的非侵入性。所谓的非侵入性,指的是独立于现有系统,无需对现有系统进行改造或开发接口,无需系统集成,不会破坏企业原有的IT架构。RPA完美地继承了这种非侵入性,可谓尽得精髓。

 诞生 

相关技术业已成熟,那么RPA诞生的催产素是什么呢?比较普遍的观点是业务流程外包(Business Process Outsourcing,简称BPO)。二十世纪九十年代末,全球500强公司开始将其业务流程外包给低成本国家,然而随着外包成本的逐渐提高,这种基于廉价劳力的方式渐渐不受欢迎。更为重要的是,各个公司逐渐意识到,数据隐私比成本压缩要更加重要,与其把数据交给不知底细的外包人员来处理,还不如把数据交给活动范围仅限于内网的机器人来处理,因为后者显然更加安全可控。全球500强逐步将目光转移到了业务流程自动化(Business Process Automation,简称BPA),RPA作为BPA的最佳实践方式,由此华丽登场。

RPA极简史
BPM和RPA的相互融合

自九十年代起,业务流程管理(Business Process Management,简称BPM)一直是管理领域和IT界讨论最多的主题之一。BPM把企业经营焦点转移业务流程本身而不是产品或服务,将业务流程视作企业组织的运作核心。后来IBM、Oracle等科技企业的加入,为企业引入了更多的自动化技术,这些技术被统称为BPA。BPM的流行让企业管理进入BPA阶段,随着BPA的大量应用,各种流程自动化技术亦是层出不穷,RPA在多个领域遍地开花。

例如,在IT运维自动化领域,某国内最大的电子商务网站使用RPA帮助店小二完成店铺运营、业务对接、服务售后等大量简单重复工作;在程序化交易领域,多家证券公司使用RPA代替人工,实现自动开闭市并避免人力操作事故;在智能自动化运营领域,电信运营商通过RPA实现客户洞察、工单分配、舆情监测等服务,极大降低运维成本。这些可称之为特定领域的RPA产品。

其实,最有希望诞生RPA产品的本应该是微软。手握Windows和Office两大利器,微软要是涉足桌面自动化和办公自动化领域,旁人几乎难以与之抗衡。早年间,微软也确实推出了“宏”(Macro)功能,宏功能指的是用户通过在Office文档中编写VBA代码,从而实现Office文档的某些任务自动化。宏最早出现在1994年的Excel 5.0中,后被集成到Office97版本中。但不知为何,宏功能始终不温不火,是微软认为RPA市场太小,压根看不上?还是当时微软专注于操作系统和浏览器战场,对RPA无暇顾及?

现在回头来看,微软作为Windows操作系统和Office办公软件的大平台方,自动化只会考虑在自己体系内实现,例如宏就只能在Office中运行,而RPA最大价值恰恰是在跨平台跨系统,所以更适合由中立的第三方来提供实现方案。当然历史没有假设,往事已成过眼云烟,无法对猜测进行验证。2019年,微软终于推出RPA产品Power Automate,是亡羊补牢还是弯道超车?让我们拭目以待。 

展望 

RPA极简史
RPA+AI:经典关系图

这是一张几乎已经烂大街的示意图,这张图的经典之处在于,非常明晰地揭示了RPA和AI之间的关系,RPA解决的是hand work,例如点鼠标、敲键盘,将数据从一个系统录入另一个系统的机械重复工作;AI解决的是head work,例如语音识别、物体识别、图像识别、OCR等,使用机器学习技术从非结构化对象中提取数据。同时,几乎所有的预言家都预测RPA的未来将是RPA+AI,他们相信,人工智能、机器学习、自然语言处理、语音识别将会帮助RPA,最终达到智能流程自动化(Intelligent Process Automation,简称IPA)。

RPA极简史
几乎所有的预言家都预测
RPA的未来将是RPA+AI

结语 

1779年,只因工业革命运用机器大量取代人力劳作,使许多手工工人失业,英国莱斯特城一名叫做卢德的织布工怒砸两台织布机,于是后人便将那些反对新兴科技的人,称之为“新卢德主义者”。

RPA极简史
人机协同新时代来临

不管“新卢德主义者”如何抗议,历史的车轮并没有放慢它的脚步。回顾每一轮新技术革命,可能都会带走一部分人类工作,但同时会创造更多新的就业岗位。与其悲天悯人,不如笑着迎接人机协同新时代的到来。

本文转载自微信公众号:RPA时评君,本文观点不代表51RPA立场。

(5)
RPA小当家的头像RPA小当家
上一篇 2020年2月9日 下午11:28
下一篇 2020年2月11日 下午1:14

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注