【文章導(dǎo)讀】:RPA是一種軟件技術(shù),也就是說RPA概念中所謂的“機器人”并不是指有物理形態(tài)、物理實體的機器人,不是工廠中的機器手臂、自動設(shè)備、家里的掃地機器人以及銀行大堂的迎賓機器人。說到底,它就是計算機中的程序代碼,所以被稱作軟件機器人( Software Robot),也可以把運行在RPA中的機器人稱作BotRPA技術(shù)的核心能力是模擬和替代人工勞動。

 

 

什么是RPA?

 

 

RPA在多大程度上可以取代人的工作

RPA (Robotic process automation,簡稱RPA)機器人流程自動化是以軟件機器人及人工智能(AI)為基礎(chǔ)的業(yè)務(wù)過程自動化科技。

 

要問RPA是什么,就要先回答3個問題。

 

 

問題1:RPA是什么樣的機器人技術(shù)?

 

 

我們從五個方面來回答這個問題。

 

 

(1)RPA是一種軟件技術(shù),也就是說RPA概念中所謂的“機器人”并不是指有物理形態(tài)、物理實體的機器人,不是工廠中的機器手臂、自動設(shè)備、家里的掃地機器人以及銀行大堂的迎賓機器人。說到底,它就是計算機中的程序代碼,所以被稱作軟件機器人( Software Robot),也可以把運行在RPA中的機器人稱作BotRPA技術(shù)的核心能力是模擬和替代人工勞動。工廠中那些物理形態(tài)的機器人替代的是工人的體力勞動,掃地機器人替代的是家庭主婦的清潔勞動,而RPA這種存活在計算機里的軟件替代的是辦公室里員工的部分腦力勞動,以及諸如敲擊鍵盤、點擊鼠標、切換頁面等系統(tǒng)操作動作。隨著全社會進入信息時代,幾乎所有企業(yè)中

 

 

的員工以及人們的日常生活都需要依賴計機,一些大型企業(yè)更是同時擁有多套應(yīng)用系統(tǒng),員工在工作中經(jīng)常需要登錄不同的系統(tǒng)進行業(yè)務(wù)處理,而系統(tǒng)處理過程中必然存在大量的數(shù)據(jù)錄入、數(shù)據(jù)核對以及數(shù)據(jù)報告等工作,RPA通過模擬人工操作的方式很好地解決了這類問題。

 

 

(2)RPA可無縫地實現(xiàn)跨系統(tǒng)連接。員工通常在工作中需要使用多個業(yè)務(wù)系統(tǒng)、桌面軟件,以及不定時訪問內(nèi)外部網(wǎng)站來獲取信息,所以在實際業(yè)務(wù)辦理過程中,他們需要在不同系統(tǒng)間切換,將數(shù)據(jù)傳來傳去,不停地復(fù)制粘貼,從而花費了大量時間。RPA目前能夠調(diào)用幾乎所有桌面系統(tǒng)中的應(yīng)用程序,如常用的辦公軟件 Excel, PPT、Word、郵件和即時通信工具等,以及其他帶有客戶端的用戶界面和各類瀏覽器支持的Web頁面,這樣就可以模擬員工的以上行為,無縫地集成上述業(yè)務(wù)操作,變相起到了不同應(yīng)用系統(tǒng)之間集成的作用。而這樣的集成方式并不需要修改后端程序的任何行代碼或數(shù)據(jù)庫字段,也不需要打開后端程序的接口或服務(wù),因為RPA只是在模擬人的行為,訪問操作的是那些應(yīng)用系統(tǒng)的頁面。這種集成方式也被稱作“At-the- -glass Integration,即“表層集成”。正因為RPA不需要工作人員了解復(fù)雜的后端程序邏輯、數(shù)據(jù)庫結(jié)構(gòu)、軟件接口和服務(wù)調(diào)用方式,而是主要利用圖形化可拖拽的工具進行編輯,采用腳本語言編寫程序并且不需要編譯和部署,甚至可以用錄制的方式自動生成,才使技術(shù)人員更容易上手,甚至于一些業(yè)務(wù)人員在經(jīng)過培訓(xùn)后也可以直接使用。

 

 

(3)RPA是多種技術(shù)的組合應(yīng)用。RPA其實是一類自動化技術(shù)的統(tǒng)稱,通常包括鍵盤和鼠標的模擬操作技術(shù)、屏幕信息獲取和定位的抓屏技術(shù)、流程控制處理的工作流引擎技術(shù),以及自動化任務(wù)調(diào)動控制和管理技術(shù)等。這些技術(shù)各自可能已經(jīng)有了很長的發(fā)展歷史,但是能夠?qū)⑦@些技術(shù)綜合起來一起使用,而且能夠穩(wěn)定安全地使用,讓用戶用起來更容易,即真正商用,只有短短幾年的時間而已。

 

 

(4)利用計算機來實現(xiàn)自動化計算、數(shù)據(jù)存儲和業(yè)務(wù)操作,這似乎是計算機天生的屬性。RPA和傳統(tǒng)的自動化技術(shù)有什么不同嗎?傳統(tǒng)的利用計算機實現(xiàn)自動化的模式大致可以分為四種。

 

第一種模式是傳統(tǒng)C/S或B/S的應(yīng)用系統(tǒng),需要人類通過操作應(yīng)用系統(tǒng)的用戶界面來驅(qū)動系統(tǒng),實現(xiàn)所謂的數(shù)據(jù)計算和存儲的自動化。雖然我們把辦公系統(tǒng)叫作辦公自動化( Office Automation),但距離今天對自動化的要求還差很遠。

 

第二種模式是利用工作流( Workflow)引擎支持業(yè)務(wù)流程管理( Business Process Management,BPM)的自動化,即利用系統(tǒng)自動串接業(yè)務(wù)流程中不同崗位角色所做的任務(wù),但在落實到每個具體的業(yè)務(wù)執(zhí)行過程中,還是需要人工來操作用戶界面,這樣工作流引擎才能將工作任務(wù)自動流轉(zhuǎn)到下一個節(jié)點。這種模式與RPA的區(qū)別是,工作流引擎實現(xiàn)的是不同角色之間業(yè)務(wù)流程的自動化,而RPA實現(xiàn)的是某個特定角色操作步驟的自動化。但是,RPA結(jié)合工作流引擎可以解決全流程的自動化,所以在部分高級的RPA軟件中已經(jīng)融入了工作流引擎技術(shù)。

 

第三種模式是利用服務(wù)器端的程序或腳本來實現(xiàn)日間或夜間批處理,也包括數(shù)據(jù)庫中存儲過程的執(zhí)行,這種批處理執(zhí)行方式是通過程序邏輯直接訪問數(shù)據(jù)庫,無須通過用戶界面處理信息。這種模式與RPA的區(qū)別是,批處理能夠大批量、高效地執(zhí)行數(shù)據(jù)庫處理但批處理程序必須由專業(yè)的技術(shù)人員完成,而且一旦完成,由于批處理的邏輯復(fù)雜且處理的數(shù)據(jù)量龐大,難以再次修改。批處理過程和業(yè)務(wù)邏輯對于業(yè)務(wù)人員完全是不可見的,業(yè)務(wù)人員只能通過第二天所產(chǎn)生的報表檢查業(yè)務(wù)結(jié)果是否正確。而RPA的腳本編制簡單容易上手,甚至業(yè)務(wù)人員也可以讀懂,達到了所見即所得的效果。RPA模擬了用戶的手工操作過程,業(yè)務(wù)人員看起來也更加熟悉和親切;RPA仍是單筆業(yè)務(wù)處理方式,更符合用戶日常業(yè)務(wù)的處理行為,當(dāng)出現(xiàn)業(yè)務(wù)問題或程序異常時也可以及時進行修正。

 

第四種模式有點像RPA的雛形階段,即利用系統(tǒng)或軟件自帶的腳本語言,編制一些簡單的可以自動執(zhí)行的腳本來幫助用戶實現(xiàn)系統(tǒng)處理自動化,如 Excel中的VBA、UNIx中的 Shell等。這種模式與RPA的區(qū)別是,普通的腳本必須依賴于某一個特定的軟件,比如A只能在 Microsoft Office中使用,而不能自動化地操作 Oracle EBS的用戶界面。RPA在技術(shù)原理上調(diào)用的是操作系統(tǒng)底層技術(shù),它能夠識別和處理 Windows系統(tǒng)中幾乎全部的應(yīng)用程序、客戶端、瀏覽器,甚至是遠程虛擬桌面,所以比起傳統(tǒng)的執(zhí)行腳本方式,RPA可以起到強大的用戶操作集成作用。

 

 

(5)我們還要解釋一下RPA與自動化測試( Test AutomationTA)的區(qū)別,很多測試人員也許使用過如QTP和 Selenium這樣的自動化測試工具。二者在很多方面看起來十分相似,如都是為了避免重復(fù)的人工操作,避免人工處理過程中引入的錯誤和風(fēng)險,基于結(jié)構(gòu)化數(shù)據(jù)和固定的業(yè)務(wù)規(guī)則等一個基本的前提是,RPA可以代替TA工具,但在測試設(shè)計上需要做些特別的改進,也就是說RPA基本兼容了TA的功能。TA與RPA比起來有一定的局限性,如TA的目的是測試,輸入的是測試案例,加載于測試環(huán)境;而RPA既可以用于測試,也可以用于生產(chǎn)輸入既可以是測試案例,也可以是實際生產(chǎn)的案例,并且RPA可以加載于開發(fā)、測試和運行環(huán)境中。由于RPA可使用真正的生產(chǎn)數(shù)據(jù),所以需要RPA能夠兼容各種異常,跟蹤和記錄所有的用戶操作行為,對機器人的執(zhí)行過程進行嚴格監(jiān)控,這些能力都是TA軟件所不具備的。通常TA具有兩個目的,一個是回歸測試,另一個是壓力測試。為了達成這兩個目的,自動化測試只需要關(guān)注于某個測試案例或測試場景的成敗,而不需要關(guān)注整個業(yè)務(wù)流程的處理過程和業(yè)務(wù)邏輯從而可以把這些內(nèi)容都交給后端程序。RPA既可以實現(xiàn)單任務(wù)的自動化,也可以實現(xiàn)多任務(wù)的長流程自動化。另外,RPA可以把真正的業(yè)務(wù)處理邏輯寫在腳本或代碼中,而TA的業(yè)務(wù)處理邏輯只能依賴于后臺應(yīng)用程序,因為TA的目的只是為了檢驗應(yīng)用程序的正確性。總之,RPA是實現(xiàn)自動化的技術(shù)合集,通過模擬人類使用計算機的行為,實現(xiàn)了跨應(yīng)用系統(tǒng)的操作集成。

 

 

問題2:RPA可以實現(xiàn)哪些流程的自動化?

 

 

RPA是運行在計算機中的機器人程序,能實現(xiàn)的自動化流程必然是那些涉及電腦處理的,而現(xiàn)實物理世界中人們的行為就無法利用RPA來模擬和替代,如領(lǐng)導(dǎo)在紙質(zhì)文件上的手寫簽名、取回已打印的文件、將寄送的包裹交到快遞人員的手中等。不過RPA可以通過實現(xiàn)自動化的電子簽名和校驗來替代手寫簽名。如果企業(yè)還未實現(xiàn)無紙化辦公,至少RPA可以做到將要打印的文件自動發(fā)送給打印機,并自動判斷打印成功與否。雖然RPA不能親自遞交包裹,但是可以在快遞公司的系統(tǒng)中自動下單,并自動化地檢查快遞物流的實時狀態(tài)。所以,如果在一個業(yè)務(wù)流程中部分步驟是人工的電腦操作,一部分是人在現(xiàn)實世界中的行為,那么可以肯定地說,RPA只能自動化地替代人工的電腦操作,而對于人類的物理行為無能為力,不過這時那些擁有物理手臂和可以自動行走的機器人就可以派上用場了既然RPA是利用程序模擬人的操作行為,那么這些流程中的操作行為就必須要有明確的業(yè)務(wù)規(guī)則、明確的行為邏輯,才能轉(zhuǎn)換成可執(zhí)行的軟件程序。目前RPA主要應(yīng)用于商業(yè)領(lǐng)域,為企業(yè)用戶服務(wù)。商業(yè)領(lǐng)域其實不像人們的日常生活,日常生活中大部分行為是受情感所支配的,如人們在“雙十一”填滿購物車,在各個網(wǎng)站上隨意地瀏覽新聞。而在商業(yè)世界中,90%的業(yè)務(wù)行為都是有邏輯規(guī)則可循的,尤其一線業(yè)務(wù)人員的操作過程,更是需要嚴格遵守公司的操作規(guī)程。

 

 

RPA應(yīng)用領(lǐng)域主要包括財務(wù)會計、人力資源、采購、供應(yīng)鏈管理等,如費用報銷、單據(jù)審核、人員入職、開具證明、訂單核對等流程。另外,并非所有能夠?qū)崿F(xiàn)自動化的流程,都要真正地實現(xiàn)自動化,如上面幾個定義中所提到的,RPA的目的是要處理那些重復(fù)執(zhí)行且工作量大的流程環(huán)節(jié)。其實,這里討論的是自動化的必要性而不是RPA能否實現(xiàn)自動化的問題。

 

 

首先,需要考慮投入產(chǎn)出比的問題。因為使用RPA最原始的動力是替代人工勞動,降低人力成本。這部分工作通過人工操作是需要成本的,但是RPA的軟件、實施和維護也需要成本,需要對比一下哪種方式成本更低。其次,還要考慮業(yè)務(wù)靈活性的問題。RPA一旦將業(yè)務(wù)流程和處理規(guī)則固化下來,也就意味著業(yè)務(wù)人員在業(yè)務(wù)辦理中的自主控制力會降低,隨之會帶來業(yè)務(wù)靈活性和業(yè)務(wù)人員及時應(yīng)變能力的問題。當(dāng)然,我們還需要從效率、風(fēng)險、安全、IT建設(shè)周期等其他維度來判斷一個流程是否需要自動化,詳細內(nèi)容參見第4章。通常得出的結(jié)論是,那些重復(fù)執(zhí)行且勞動量大的工作一定是人力相對密集的流程,越多的人執(zhí)行這樣的流程,規(guī)則越不會輕易調(diào)整,將這些流程進行自動化所帶來的業(yè)務(wù)收益通常也會更大。這也就是為什么RPA首先應(yīng)用于外包服務(wù)和企業(yè)內(nèi)部共享中心的原因。總之,RPA適用于那些具有明確業(yè)務(wù)規(guī)則、重復(fù)執(zhí)行且業(yè)務(wù)量較大的、相對穩(wěn)定的業(yè)務(wù)流程。

 

 

問題3:RPA可實現(xiàn)什么程度的流程自動化?

 

 

如上所述,RPA模擬用戶在計算機上的操作行為,那么流程中只要涉及用戶界面的操作過程就都有可能被自動化。首先說明,我們所談的流程自動化,并不是指流程100%的步驟都實現(xiàn)了自動化,也就是說流程中的部分環(huán)節(jié)仍然難以被自動化技術(shù)所實現(xiàn)或者技術(shù)實現(xiàn)成本過高,仍需要通過手工方式完成。但是隨著技術(shù)的進步、推廣和普及,以及企業(yè)管理成熟度水平的提升,流程自動化的比例自然會逐步提高。一些流程自動化比例不是很高的企業(yè)也決定開始嘗試使用RPA技術(shù),因為只有通過實際的應(yīng)用才能充分了解實施過程中的風(fēng)險和問題,培養(yǎng)自身的能力,構(gòu)建相匹配的團隊,為將來更大規(guī)模的RPA應(yīng)用做準備。可以預(yù)想到,開始由于流程自動化比例較低,更多是由RPA來配合人類完成工作,而發(fā)展到未來,隨著流程自動化比例的升高,可能就會顛倒過來,更多是由人類來配合RPA完成工作。由于流程不是100%的自動化,人類和RPA之間就會產(chǎn)生協(xié)作,也就必然產(chǎn)生一種全新的與RPA機器人的協(xié)作方式,事實上產(chǎn)生了人、RPA機器人、應(yīng)用軟件三者之間的協(xié)作其中,我們最熟悉的就是人使用應(yīng)用軟件的方式,人通過用戶界面來操作應(yīng)用軟件( Input),應(yīng)用軟件處理后( Processing),再將結(jié)果反饋給人( Output),也就是常說的IPO,這也是所有軟件工程領(lǐng)域,包括需求人員、需求分析人員、設(shè)計人員、開發(fā)人員和測試人員等共同遵循的話語體系。由于RPA是模仿人類的操作,Bot使用應(yīng)用軟件的方式和人類似,不同的是由于Bot也是一種軟件,它可以選擇不去操作UI,而是通過 Service或AP來直接調(diào)用應(yīng)用軟件。那么人如何觸發(fā)這些軟件機器人呢?主要有以下三種方式。

 

第一種是手工觸發(fā),即通過手工方式隨時隨地地啟動一個Bot讓它開始運行,既可以啟動本地電腦上的Bot,也可以啟動遠程的Bot。

 

第二種是通過人們事先編排好的機器人工作日程表,讓Bot按照這個日程表來工作,可以是在某日某時Bot開始運行,也可以設(shè)置為上一個Bot運行完成后,下一個Bot再開始運行。

 

第三種是Bot按照事先設(shè)定好的規(guī)則來觸發(fā)機器人的執(zhí)行,如收到一封郵件,訂單量超過全年30%等,這些都可以作為觸發(fā)機器人啟動的外部事件。當(dāng)RPA系統(tǒng)監(jiān)聽到這些外部事件后,會自動調(diào)用機器人執(zhí)行自動化任務(wù)。然后,在機器人完成任務(wù)后,將結(jié)果反饋給人類,或者并不需要完全執(zhí)行,而是執(zhí)行了一部分,再將其余的工作轉(zhuǎn)交給人繼續(xù)完成。

 

不單是人可以調(diào)用Bot,應(yīng)用軟件也可以反過來采用 Service或接口的方式來調(diào)用t舉一個RPA已經(jīng)可以實現(xiàn)的有趣例子,企業(yè)中的員工可以通過手機App啟動辦公室里的某臺電腦中的Bot,由Bot操作電腦中的某個應(yīng)用軟件來完成任務(wù),完成任務(wù)之后,再由Bot通過微信將完成結(jié)果發(fā)送給該員工。

 

 

總之,RPA不只是單純的技術(shù)創(chuàng)新,而是創(chuàng)造了一種新的技術(shù)應(yīng)用模式,是一種新的人機交互方式和協(xié)作方式。