前言

自己第一次接触RPA机器人是在19年的时候,刚入职到项目上,做的第一件事情就是。录事项,我相信大部分交付兄弟都是经历过录事项的。工作嘛,得有点创新不是? 那以后一直在尝试可以代替人工操作的办法,按键精灵是接触比较早的一种自动化软件,写好一个流程,然后让电脑自动操作。这是想实现的效果,节省大部分时间,也摆脱重复性高且消磨耐心的机械工作。玩了快两年的时间,现在足以解决工作中大部分的重复性劳动,比如录事项啊,录数据啊什么的,但是我觉得RPA不仅仅是止于在解决重复性劳动的问题,可以充分利用来实现更多的场景,在这里把自己的一些经验和思考给分享出来,具体怎么写流程,篇幅太长,这里就不赘述了,有兴趣可以私我。

 

什么是 RPA?

RPA(RoboticProcessAutomation),即机器人流程自动化,是一种新型的人工智能的虚拟流程自动化机器人。RPA的核心是通过自动化、智能化技术来“替代人”进行重复性、低价值、无需人工决策等固定性流程化操作,从而有效提升工作效率,减少错误。其实不算新技术,说到底就是一个自动化测试技术而已。

 

RPA概念<font color="red">*</font>

RPA 是独立运行的,不依赖平台,只需要一个运行环境即可,反之它可以操作其他平台,人工可以操作的流程,它可以模拟出来,将业务需求梳理成一个可以被执行的流程,然后执行定制的流程。RPA是可以单独放在后台运行的程序,但不是基于系统对接,数据交换等静默操作。在流程中需要人工判断的过程,无法完全实现,这是RPA的局限性,但是可以通过定义在流程中加入判断的规则,使用OCR 、文字识别、表格识别、内容审核、等技术,来达到一定程度的判断,实现各种应用场景中自动化 7*24 小时不间断运行。RPA并不是所有的业务流程都适合来实现,要选择RPA来实现是有一定的条件,它适合重复、有规则、稳定少变的流程。

  • 重复
    适合的流程是高重复性,因为写一个流程就需要一定的时间,如果一个流程只是一次性的或者使用频率极低,那原本的人工成本那些也就显得不太重要了。相反,如果一个流程是高重复性的,那原本的时间成本和人工成本就显得非常重要了,RPA发挥的用处也就更加明显。
  • 规则
    流程有一定的规则,若一个流程无规则,散乱,大部分人为进行主观判断操作的,那它本身是不适合RPA实现。可以借助一些额外技术,能实现一部分的判断,像OCR识别纸质文档,语音识别,人脸识别等,但是对于大部分情况,还是需要一个有明确规则的流程。
  • 稳定
    RPA最常操作的就是各种软件,客户端或者Web,页面元素去点到要操作的组件,如果界面经常发生改变,那流程也就要跟着改变了,这样就会加大流程的维护成本,或者一个流程本身的业务流程也是经常改变的,那它同样不适合RPA实现,因为这个流程逻辑可能就带来的是一次重写,而不是维护。

 

应用场景

一些个人想法(PS:献丑了,接触的项目有限)

1、二次录入问题

二次录入的问题应该是政务项目中的一个大通病了,因为业务众多,又涉及多个内外部系统,这种跨系统的数据同步、填报、比对等操作费时且容错率搞。工作人员也很反感,实际上能真正办业务的系统就那一个,但是信息化的建设和需求又是日益更新的,满足不了要求,那就只能创新,做新东西。之前接触过的一个项目,前台工作人员办理业务,需要在4个系统进行录入,我们系统推上去的时候,工作人员很是反感,包括领导也很关心,是不是又多了一次录入的过程?

RPA 实施:(例子;系统1办件,同步解决其他3个系统的录入问题)

  • 1.调研办件需要录入的每个系统,录入字段,办理流程,梳理详细的录入逻辑。
  • 2.在受理环节的RPA流程建立数组库,记录第一次录入的字段信息,以名称或编号标记每个信息的唯一值,到最后办结环节的RPA流程,自动从数组库中移除这个信息。
  • 3.系统1办件环节对每个系统中的办件环节绑定操作,定时触发流程,调用数组库查询信息唯一值。
  • 4.其他环节RPA流程触发时,从数组库获取信息唯一值操作。
  • 5.考虑过程中可能出现的异常,对每个环节RPA流程做异常处理,保证稳定运行。

 

2、业务流程自动

政务项目中往往都有大量申请需要人工手动处理的数据,比如审办件啊,审材料啊,通知啊什么的。人工处理效率低、不及时,有时候会导致数据积压。也许在这整个流程中,工作人员只是需要审一个很小很小的点,但是又不得不人为去操作。比如审一些办件量高,申请材料简单的件,审核标准其实很低,又或者是预审一些网上申请的件,量太多,工作人员忙不过来。其实可以用RPA实现一些伪AI效果,把一些业务完全自动化。

RPA 实施:(例子;网上申请→后台受理→后台审核→结束)

  • 1.调研业务的受理要求,根基受理要求,受理子流程中写入所有需要判断的条件,如受理前是否需要到别的系统查询是否可以受理,用户提交的材料是否符合基本要求,信息填写是否完整,材料信息可以使用OCR识别后,自动填充或补全信息。处理完成后返回值到RPA主流程,然后触发受理步骤进行下一步操作。
  • 2.审核环节写入需要审核的判断条件,审核完成然后返回值到RPA主流程,触发审核步骤。
  • 3.考虑异常处理机制,处理子流程或主流程中可能出现的错误。

 

3、系统无法对接

政务服务项目中,总是有一些工作量大的问题,高度依赖人工,效率低下。比如这个系统产生数据,那个系统要数据,这个系统要数据,一会要评价数据,一会要办件数据,一会要这要那的。要不就是我们要别的系统数据,然后这些系统的开发厂商和开发层级的关系,什么省级的,市级的,区级的也不是想对接就可以对接的。就算网络能通,也还要考虑到对接费用啊,配合程度啊,对接程度啊啥玩意儿的一系列的原因。基于这些原因的加持下,政务项目中只要谈到对接,一般都不怎么好搞,交付兄弟们往往都是心里默念一句(对接**呢)

RPA 实施:(例子;系统2系统3系统4,都从系统1去拿不同的数据)

  • 1.梳理系统1中可以提供哪些数据,如办件信息,评价信息,个人库,排队叫号信息什么的。
  • 2.依次梳理系统2,系统3,系统4中需要写入的数据,写入要求,写入形式,写入定时或是实时。
  • 3.分别编写系统2,系统3,系统4的RPA流程,可以接入内容审核,OCR等机制
  • 4.考虑流程中可能出现报错处理办法。

 

4、业务辅助操作

在窗口前台,有些业务需要操作很长的时间,一个件就要处理半拉小时,或几十分钟,容错率高,又慢,大厅慢的时候就会导致排队的也很多。RPA可以定义一些业务流程,当操作到一定流程时,自动完成后续的工作。前台、窗口等需要与交互的场景。当窗口和老百姓沟通完,开始办理业务,操作电脑,RPA可以介入完成后续的业务操作,让窗口人员提高办理业务的速度,减少出错。比如当窗口收完材料后,需要对着系统逐一填写很多信息,可以在RPA流程中定义OCR识别的环节,启动高拍仪,拍照完成后,自动补全系统需要填写的信息,减少手动录入的错误和时间。

最理想的场景是,窗口人员点一下开始,后面的流程全部自动化进行操作,比如点下这个,点下那个,什么的。

RPA 实施:(例子;窗口人员收完材料,需要进行4个步骤操作办理业务)

  • 1.梳理这个业务的流程,需要在哪些页面进行哪些操作,是否在操作中要进行一些认为判断。
  • 2.如果存在一些人为判断,在流程中加入外部处理机制和方法。
  • 3.预估操作的复杂程度,是无脑点击几下还是要录入再怎么点击。
  • 4.考虑在操作中可能出现的异常,如系统卡了啊,信息录入不正确啊。

 

一些成果

1、基础数据录入
  • 政务项目都涉及到一个基础数据,就是事项,有了事项才具备一个政务系统最基本的形状,然而事项录入的重复性,和机械性交付兄弟肯定是深有体会的,RPA 则完全可以代替手动操作,有办事指南的,可以整理成exel格式来读取后写入,读取表格中一个区域的内容,然后存入数组,利用数组索引来循环写入到具体的页面元素去。

示例:(读取EXEL写入元素示例)

arrayRet = Excel.ReadRange(objExcelWorkBook,"Sheet1","A1")
For Each value In arrayRet
    
    #icon("@res:default.png")
    Keyboard.InputText({},"",True,20,10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":500,"bSetForeground":True,"sSimulate":"message","bValidate":False,"bClickBeforeInput":False})
Next

 

2、爬取数据录入
  • 爬取办事指南后再录入到系统中,有些客户提供不了办事指南,可能就给到项目组是一个地方网站什么的,则可以一边在目标网站读取数据,然后再录入到系统里

示例:(在目标Web页面获取元素然后写入元素示例)

Dim arrayRet = ""
arrayData = UiElement.DataScrap({"html":[{"tag":"TABLE"}],"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]},{"Columns":[],"ExtractTable":1},{"objNextLinkElement":"","iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":False})
For Each value In arrayRet
    
    #icon("@res:default.png")
    Keyboard.InputText({},arrayData[i],True,20,10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":500,"bSetForeground":True,"sSimulate":"message","bValidate":False,"bClickBeforeInput":False})
Next

 

3、大量数据录入
  • 客户有办件量考核任务,帮助客户在一体化平台进行录件,每个件还要走4个流程,2W条办件,5*24h 处理完成。客户很满意,夸赞项目组的效率

 

4、系统二次录入
  • 一个小实验,从审批系统办件监控页面拿信息,然后再打开窗口帐号进行录入。办件环节进行绑定,办件监控这边,每次查询状态的时候,更新数组库每个办件的状态,然后再登录窗口帐号进行处理。材料部分没有做处理,能力不行,那个流程写不出来。测试过一周时间,稳定运行,没有出过问题。

二次录入设计文档

Last modification:June 19, 2021
如果你想请我喝奶茶的话