1 背景
NP运营已经给一线伙伴们做了基于飞书Aily工作流的【APLA小助手】、【NPLA小助手】、【NPCC老大哥】,在实践中,它们能够帮助一线伙伴生成学员近期学情海报、查询某课堂内的学员,生成常用话术…
为了让辅助生成的内容更贴近业务实际,这些AI工具需要关联业务数据,那么我们每天都要为AI工具同步业务数据。这些是重复性地工作:从SparkBI下载数据表格、将数据进行清洗去重、删除历史数据导入新数据or插入增量数据。
因此引入了影刀工具,辅助我们进行每天的数据更新。
请看VCR:
在上面这个录屏里,我只点了最初的开始执行,后面的打开网页、下载文件、删除历史数据、导入新数据,都是自动完成的。
2 实现方式
我们使用的是【影刀RPA】,官方对它的介绍是:
一款软件机器人:
- 任何逻辑、重复性工作的自动化
- 任何主流操作系统、桌面软件、Web程序的自动化
- 与人工智能结合的自动化。
我们的这个实践,是将5个自动义指令串行编排到1个应用内:
- Step1:在SparkBI的看板内,下载3个数据源,分别是:用户明细、作业明细、课堂明细
- Step2:更新课后作业明细,就是在Aily工作流应用的管理后台,删除掉作业的原始明细,导入最新的作业明细。这一步之所以是删除再导入,而不是导入增量,是因为历史生成的作业随时有可能发生状态变化,所以不好做增量。
- Step3:更新学员详情,类似于上一个步骤,先删除再导入。
- Step4:洗数据:课上表现;这一步是清洗出课上表现的增量数据。
- Step5:将上一步清洗出来的数据作为增量导入。
3 使用的能力
3.1 影刀RPA的网页自动化指令集
- 打开网页
- 等待网页加载完成
- 鼠标悬停在指定元素上
- 点击元素
- 等待元素出现/消失
- 以上这些操作中,很重要的是如何定位操作哪一个元素,影刀提供了捕获元素的能力:
3.2 影刀RPA中的循环/条件判断指令集
在删除历史数据时,因为Aily管理后台不支持一下子全部删除,需要重复操作好多次,这时就需要判断是否删除干净了,使用了:
- While
- If
3.3 影刀RPA中的文件上传
在上传文件时,上传文件组件一直会报错,所以使用了模拟键盘操作。
另外,也利用了变量设置能力,作为文件名中的一部分。
3.4 影刀调用执行本地python脚本
在清洗数据时,有个现成的python脚本,我们利用影刀调起Terminal,在Terminal内实现了python脚本的运行,效果如下:
它的关键点是获取Terminal窗口对象:
4 收益分析
在背景部分的录屏中,可以看到:由机器操作的文件下载+2个数据源的数据更新用时4.5min。正常情况下,一个Aily工作流需要更新4~6个数据源,纯人工操作,每个机器人每天大概需要15min。
现在有3个机器人,分别是:NPLA小助手、APLA小助手、NPCC老大哥;如果这3个全面普及此能力,那么每天能省下来45min的工作量。