《RPA、AI、.NET Core 与未来》-中国.NET开发者峰会
未? 來
第四次工業革命,催生了數字自動化勞動,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 開發團隊,寒樹在未來等你!
總結
以上是生活随笔為你收集整理的《RPA、AI、.NET Core 与未来》-中国.NET开发者峰会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 应用程序支持直接调用 WebA
- 下一篇: .Net Core使用Ocelot网关(