未 来
第四次工业革命,催生了数字自动化劳动,RPA 与 AI 技术的融合,成为智能信息社会的重要环节。当下RPA平台主要采用.NET Framework框架,也限制了 RPA 只用于 Windows 平台。.NET Core 的开放与跨平台特性赋予RPA更大发展空间。5G 时代操作系统将迎来变革,或可催生出系统级的RPA平台。5G + 机器人技术的发展,或可挑战生活的意义。
RPAの故事
高盛在新世纪以来稳坐的华尔街投行老大的地位,高盛的交易员无疑是这个星球上最好的职业之一。其薪水不但是行业最高、年终还能领取一大笔奖金,其实不光高盛,在全球最大的12家投行里,哪怕最普通交易员的平均年薪都有50万美元。
即便是这样的“金饭碗”也有不保的时候。2000年顶峰时期,高盛在纽约总部的美国现金股票交易柜台就雇佣了 600 名交易员,替投行金主的大额订单进行股票买卖操作。但时至如今,这里只剩下两名股票交易员“留守空房”。高盛裁员了大量的员工,主要是证券部门的交易员及销售人员。在这一点上高盛并不孤单,这是8年前瑞银集团的交易大厅,熙熙攘攘、好不热闹。
在过去几年里,计算机自动化交易方兴未艾,更新换代进程不断加速,曾经由人类主宰的金融领域,正发生着巨大的变革。跟踪金融行业走向的英国公司 Coalition 表示,当下将近 45% 的交易都通过电子渠道完成。裁员压力下处理日常运作事物的职员首当其冲,但面对来自机器的竞争,就连许多高薪人士都将饭碗不保。
2015年 12 月 25 日,日本最大广告公司电通集团的美女员工高桥茉莉在公司员工宿舍内自杀。高桥茉莉毕业于东京大学,曾经在中国留学,能说一口流利的中文。东京大学又是日本最好的大学,相当于中国的清华北大。然而就是这样一位优秀漂亮的女孩因为过度加班患上了抑郁症,结束了年仅24岁的生命。高桥的母亲一怒之下将日本电通集团告上了法庭。2018年6月,日本通过了《工作方式改革关联法》,从2019年4月1日起分阶段实行。
这项法案在日本社会影响非常大,最近在日本很火的日剧《我,到点下班》中也有所体现。法案规定了加班时间,工作时长,同工同酬等具体措施,违反的企业将处罚款,严重违反者将对企业主实行半年以下的有期徒刑。加班时间上限的规定。每年加班时间的最大上限为 720 小时,每个月最长时间不能超过 100 小时,这其中包含周末和节假日的出勤时间。公司有义务让员工带薪休假。如果员工一年内带薪休假没有超过 5 天,公司有义务督促员工进行带薪休假,否则会被认为剥夺员工带薪休假的权利,企业将被处以高额罚款。
此项法规确实保障了劳动者的利益,但对于企业来说,无形中成本增加了。员工倒是到点下班了,可工作量却还是那么大。于是企业也开始摸索应对工作方式改革的方法。RPA 的导入,作为工作方式改革应对方案的一项重要措施,开始进入日本各大企业的视线。这项法规颁布之后,RPA 的开发案件开始越来越多,单价也逐渐水涨船高。工作方式改革的重要课题是要纠正长期以来困扰日本职场的工作时间过长问题和提高业务生产性上。让很多费力费时而且重复性的工作,通过使用RPA工具,提高劳动生产性,起到事半功倍的效果。
而麦肯锡全球研究院在今年 1 月推出的报告中指出,金融和保险领域的工作岗位,有 43% 的可能性会被自动化替代。李开复曾表示,人工智能最好的应用领域之一是金融领域,相对来说,交易员以后就没有工作了!同时四大会计事务所,都各自推出了财务机器人来替代人力从事大量耗时、重复、简单的事务性工作,并成功在国内金融行业进行商业化落地。
RPA+AI
第四次工业革命完全不同于前三次革命(蒸汽和水力、电力和流水线、计算机化),因为它甚至会挑战我们关于人类的意义的观念。RPA 的第四次工业革命处于最佳状态,人类摆脱了无聊的工作是时候了。您是否意识到自己现在是第四次工业革命的领导者因为。我们正处在应该称为第四次工业革命的时代的一个重要转折点。关于 4IR 与 RPA 的主题紧密结合,后续寒树将另起一文重点讨论。
第四工业革命 (4IR) 指的是从18世纪工业革命开始后进入的第四个阶段,它被描述成各种科技的融合,而融合的过程因使得物理、数位和生物等领域科技之间界线难分,故统称为 网宇实体系统。各种新兴科技的突破为其特征,如机器人学、人工智能、奈米科技、量子电脑、生物科技、物联网、工业物联网技术 (IIoT)、分散式共识、5G、增材制造/3D打印 和全自动驾驶汽车。RPA将为BPR提供动力,并带来第四次工业革命。
人工智能:从概念提出到走向繁荣。机器学习:一种实现人工智能的方法。深度学习:一种实现机器学习的技术。进入21世纪,纵观机器学习发展历程,研究热点可以简单总结为2000-2006年的流形学习、2006年-2011年的稀疏学习、2012年至今的深度学习。未来哪种机器学习算法会成为热点呢?深度学习三大巨头之一吴恩达曾表示,“在继深度学习之后,迁移学习将引领下一波机器学习技术”。
人工智能包含了自动化智能,RPA 作为人工智能的一部分,占据了重要地位,而 RPA 与 AI 的紧密结合。超级自动化是 RPA,人工智能,机器学习(ML)和流程挖掘等先进技术的应用,以比传统自动化功能更具影响力的方式增加工作人员并实现流程自动化。超级自动化是自动化工具的组合,可以交付工作。这种趋势是通过机器人过程自动化(RPA)开始的。仅RPA并不是超级自动化。超级自动化需要工具的组合,以帮助支持复制人员参与任务的各个部分。
由机器人流程自动化(RPA)开始又进一步催生出超自动化,它需要组合多种工具来帮助复制任务流程中人类所参与的部分。超自动化为交付工作而设计,是涵盖了多种机器学习、套装软件和自动化工具的集合体。超自动化不但包含了丰富的工具组合,还包含自动化本身的所有步骤(发现、分析、设计、自动化、测量、监控和再评估)。超自动化的重点在于理解自动化步骤的作用范围、彼此之间的关联以及它们的组合与协调方式。超自动化技术位列2020年十大战略技术发展趋势首位。
在大数据技术飞速发展的今天,谁才是我们大数据科研与工业界中最有威望的科学家呢?他们推动了整个领域的发展,毫无疑问,无论是在学术界还是还工业界,他们都是一座座山头式的人物。尤以 Hinton 教授为代表,他在人工智能领域中无人不知无人不晓是因为其在人工神经网络( Artificial Neural Networks )中所作出的贡献。这里提供一个搜索 AI 相关论文的最佳方法,人名加上以下网址,https://dblp.uni-trier.de/。
RPA 的发展分为四代已经成为共识,前两代的RPA,主要按照预定规则工作。这是指执行例行任务的软件机器人,此阶段的 RPA 除了具备规则引擎,业务流程屏幕,图像识别等功能外,还具有可以根据公司灵活设置的功能。
第二代 RPA 将利用由专门 AI 增强的各种技术的阶段。例如,可以使用专用于字符识别的AI(AI-OCR)将无法使用常规 OCR(光学字符识别)技术转换为文本数据的纸张和图像中的字符自动转换为文本数据。这扩展了可以使用RPA自动化以处理纸张,图像和音频的工作范围。
第三代RPA正处于正在开发的阶段,称为EPA。EPA将流程自动化的多个组件组合在一起,集成了可增强自动化工作能力的工具和技术。它以机器人流程自动化(RPA)为核心开始,并通过人工智能(AI),流程挖掘,分析和其他高级工具扩展了自动化功能。 这个想法是使越来越多的知识工作自动化 ,并使组织中的每个人都参与到转型中来。EPA 通常用于使处理非结构化数据的操作自动化,例如收集纸质材料并分析其内容。因为它比 RPA 更能抵抗不规则情况,所以您可以灵活地工作。也有可能承担RPA无法完成的非典型工作变成了。第三代RPA还引入了流程挖掘技术。
预计通用人工智能将在 2045 年左右出现,因此 RPA 将在 2045 年左右达到第四代,这与正在实现前三代有很大的不同。由于CA可以执行深度学习,因此AI元素很高。机构通过深度学习进行自我学习和成长因此,您可以决策并组织信息。由于CA可以执行深度学习,因此AI实现程序会很高。关于阶段四的实现,虽然现在还无法预测,根据美国的发明家未来学者雷·库兹韦尔所提倡的“奇异性”中说到,到 2045 年为止,机器人和机器的智能可以超过人类,提倡自我进化的时代将要来临。
演讲视频
潘淳
﹀
﹀
﹀
RPA+.NET
寒树认为 Microsoft 可能是 UiPath 最可能的终结者,而IBM可能是 Blue Prism 的最好归宿。UiPath 在开发人员中很受欢迎,因为他采用了 Microsoft 类似的开发文化。UiPath 如此受欢迎的主要原因之一是其 Ui 符合开发人员的需求。而渴望学习 RPA 的开发人员的低代码性吸引了其中许多人使用 UIPath。Daniel Dines( UiPath 首席执行官)本身就来自微软,了解技术重叠及其运作方式。虽然可以说 Microsoft UI 自动化生态系统中已经存在许多 UiPath 技术,但微软 显然缺乏将所有技术整合到一个统一的平台中的知识,而该平台将AI + OCR + Workflow + RPA + BI放在两者之间业务和 IT Suite。
出乎意料的是,就在2019年11月5日,微软放弃了对 UiPath 的收购,在今年的 Microsoft Ignite 2019 大会上,首席执行官萨蒂亚·纳德拉(Satya Nadella)直接宣布了 Microsoft Power Platform 新平台的发布,并且说到:在与Azure合作方面,微软365,Dynamics 365和Power平台是我们作为公司所做的工作的核心。Power Platform 是微软 2019 年及以后最大的赌注之一。详见寒树发展的另一篇文章 微软备战 RPA 市场,Power Platform,Ready GO! 。
纵观最近几年的智能化领域发展,RPA 绝对是增长最为迅速的板块。尽管国内对于 RPA 的反应较为滞后,但就在 2019年的今年,RPA 也成为了中国资本追逐的宠儿,今年六月份接连有 6 家 RPA 企业拿到千万级投资。在这其中,不乏红杉、启元、金沙江这样知名的创投资本。UIPATH、AA、BP 己经成为头部玩家,其它 RPA 厂商,国内知名的品牌包括了 UiBot、艺赛旗、云扩、达观、阿里码栈等。其中亦有不少行业玩家冲出了大部队,成为细分领域的佼佼者。寒树在这里列举一些国内外知名RPA厂商,供各位参考。
BP 成立于 2001 年,是历史最悠久的 RPA 公司,但该行业在 2010 年才开始显著增长,RPA 仍处在蓬勃发展的初期阶段。企业对 RPA 的兴趣正在高涨,新兴的 RPA 厂商不断涌现。初始 RPA 平台基于 .Net 框架构建,利用其与 Windows 操作系统的紧密集成。然而,在Python上出现了新兴的RPA平台,因此Python开发人员不再需要使用.Net来开发RPA解决方案,以受益于这个快速增长的市场。鉴于Python的日益普及,新的RPA平台正在Python之上构建也就不足为奇了。实际上除了基于 .NET 和 Python 外,C++、C、Java、JS、Go 等语言也能成为RPA的开发工具。
可重用性是高效软件开发的关键。功能,其封装一组操作,使可重用性是在软件开发中的第一次重大创新之一。可重复使用的RPA插件有很多名称。这是因为销售这些工具的 RPA 市场最近才刚刚推出,而且行业还没有融合到一个共同的术语上。可重用RPA插件的不同名称包括 app,bot,解决方案,组件,仪表板,工作流,技能,连接器,资产,代码段,组件,活动或插件(app, bot, solution, component, dashboard, workflow, skill, connector, asset, snippet, component, activity or plugin)。寒树主要以UiPath为例,利用以下三个工具,可以为UiPath开发相应的插件。
Visual Studio 2019 Community 社区版
UiPath 2019 Community 社区版
NuGet Package Explorer 5.2.88
CodeActivity 提供了一个 Execute 方法,可以重写该方法以实现您的实现。它还提供对跟踪,变量和参数的访问。您可以使用 CodeActivity 进行左右的各类操作。(异步可选)
NativeActivity 提供 CodeActivity/Sync 的所有功能,但也允许您中止活动的执行,取消子活动执行,安排活动,使用书签以及活动操作和功能。您可以使用 NativeActivity 进行左边操作。
(1)WF4.0中的活动是树形结构的,创建叶子活动最简单是方式就是使用CodeActivity ,它的逻辑都放在一个方法:Execute 里面,这个也是四种活动中最简单的一种。
(2)AsyncCodeActivity 类似CodeActivity ,只是它是使用了 Begin/EndExecute 取代了CodeActivity的Execute 方法。BeginExecute 开始一个异步操作,无需等待它完成,就返回IAsyncResult对象 。当这个操作完成的时候,就执行EndExecute 方法放回结果。
(3)这个活动是四种活动中最强大的一个,实现起来非常的灵活。WF4.0中内置的Sequence 、While 、If、Parallel 等活动都继承了此类。如果前面三种都实现不了,这个活动可能能实现你需要的功能。
(4)Activity可以以组合的方式定义活动。开发人员可以使用已有活动构建一个活动树来实现这个活动。
有四种方式可以为 RPA 增加扩展功能:自定义活动、库、执行宏活动、Invoke Code。之前寒树简单提了一下自定义活动,但是一些简单的场景可以直接使用 Invoke Cod,UiPath 提供了对动态语言的支持采用同步调用 VB.NET 或 C# 代码,可以选择将其传递给输入参数列表。此活动还可以将参数返回给调用方工作流。看来C# 排名真需要靠 Unity和RPA来拯救了!
RPA+Core
RPAStudio 是一款开源 RPA 项目,团队成员来自五湖四海,因为共同的爱好相聚、相知、相熟。优秀的他们,争分夺秒,力争开发世界上首款 .NET Core 上的 RPA。
如何将 RPA 应用从 .NET Framework 移植到 .NET Core 是一个值得研究的问题。RPA 移植 .NET Core,分三步走。换身体,换脸,换心!以 .NET Core 3 为目标,创建与要移植的应用程序相同的新应用程序(类库、WPF、Workflow 等)。
如何将桌面应用程序移植到 .NET 核心 3.0,参考以下网址:
https://devblogs.microsoft.com/dotnet/how-to-port-desktop-applications-to-net-core-3-0/
开发环境准备
更新 NuGet 包
可移植性分析
包引用替换/.config
快速:替换项目文件
慢速:引导式移植
UI 移植
WF 移植
WPF依赖于多个Windows组件:D3D(DirectX),DWrite,User32,GDI +,WISP(Touch)以及其他几个组件(包括Windows运行时依赖项)。WPF 和 Winforms 从名字看二者都带了个 Windows,显然就不是跨平台的 UI 框架,更何况 WPF 绑定了大量的 Windows API,渲染都是 DirectX GPU 加速渲染,更加难以迁移到其他平台上,所以此路将不通!
寒树推荐使用 Qt 作为移植选项,Qt 项目库本项目旨在创建包装 Qt ( https://qt-project.org/) 的Mono/.NET 库,从而通过 C# 实现其使用。它依赖于优秀的CppSharp (https://github.com/mono/CppSharp)。这是一个生成器,它期望 Qt 设置的包含和库目录,然后生成和编译包装器。在开发中时,它应该在完成后使用任何 Qt 版本。存储库中不包含 Qt,用户必须自行下载并安装 Qt。目前,Windows 的 Qt MinGW 是唯一经过测试的版本。OS X 和 Linux 的 Qt 已计划,VC++ 的 Qt 尚未计划。
工作流(Workflow)是指工作中从一项操作到另一项操作的过程。这只涉及到单个任务,从一个步骤到另一个步骤,直到一个流程完成。RPA 的三大核心功能之一便是工作流。微软适时开发了 Windows Workflow Foundation(WF),用于定义、运行、管理工作流程(workflows)。开发人员可以编写自己的特定域(domain-specific)的活动,然后利用他们在工作流程。WWF 也提供了一般用途活动,涵盖若干控制流结构。
Workflow 存在以下问题:
(1)性能不佳:工作流占用大量内存,工作流程越复杂,设计器的速度就越慢,复杂的工作流几乎难以调试。
(2)代码效率低:简单语句也占用WF中相当大的块活动,简单的对象实例化之变成一堆值设置工作。
(3)调试困难:对 WF 活动进行单元测试时会遇到问题,与持久性和通信相的错误日志难以跟踪。
(4)WCF 问题:WCF XAML 服务似乎并没有在接口中实现所有功能。
(5)学习成本高:WF 学习曲线非常陡峭。
WF 技术仅适用于 Windows 平台,而且看起来不会很快被添加到新的跨平台 .Net Core中。该Mono项目开始移植WF -这是它的孵化模块的一部分,但是从GitHub的库提交看起来它并没有在过去的2年收到任何更新。寒树建议了三个可选方案,分别为:Workflow Engine、CoreWf、Wexflow,并推荐最后一种。
RPAStudio是国内第一家RPA开源项目,目前RPAStudio在国内已经落地多个重大项目。秉承“开放 开源 共建 共享”的思想,期待更多的优秀开发人员、团队、组织等加入社区,为RPA在国内的发展奉献一点点力量。欢迎参加 RPAStudio 开源项目团队,可加QQ群号:767682308。
RPAStudio 开箱即用,通过以下网址可访问:
https://github.com/rpa-ai/RPAStudio
敬请加入 RPAStudio 开发团队,寒树在未来等你!