AI、RPA傻傻分不清?平民開發跟低代碼是什麼?能吃嗎?
嗨,大家好,歡迎來到RPA設計教室,我是熊哥,全球最具權威的IT研究與顧問諮詢公司Gartner,在2023年1月舉辦了一場網路研討會,會議邀約主題叫做
Gartner Predictions: Hyperautomation (Inclusive of AI, RPA & Low Code)
Gartner表示有80%的客戶,連續第三年維持或擴大超級自動化改革的資源投入,被點名的AI、RPA、LowCode等技術已經在各企業內部戰得如火如荼,值得持續探討後續帶來的機會跟風險。由此可知企業內數位轉型的力道只增不減,AI、RPA、LowCode已經變成一種趨勢,所以身為開發者到底該怎麼著手?企業應該又要網羅什麼樣的人才?就讓我們好好來釐清吧。
首先我們來說明AI跟RPA的差異到底在哪裡?
AI是Artificial Intelligence的縮寫,中文叫做人工智慧,定義上是可模仿人類行為、思維或認知的機器或電腦,AI可以從過往的經驗中學習,快速的做出合理的決策,常見的領域有專家系統、自然語言處理、計算機視覺…等等,像自動駕駛、對話機器人、醫療影像辨識等這些常見的應用場景,都是利用演算法來模擬人類的視覺、聽覺、思考與意圖判斷,底層技術大都是透過ML(Machine Learning)機器學習的方式,提供大量的標記資料來訓練模型,進而在數位裝置上創造出人類五官或大腦的能力,像現在很夯的ChatGPT便是典型的AI代表。
RPA機器人流程自動化技術,廣義上來說,它其實也是AI的一種,只是RPA是採Rule Based的機制來設計,只要在機器人腳本上建立規則,就可以完成許多制式化的作業,跟剛剛提到的ML機器學習是不同範疇,它比較像是模擬人類在電腦上操作滑鼠鍵盤的雙手,也就是說跳脫電腦以外的實體環境便無法運行,因此我們會把RPA比擬成操作電腦的工讀生,它只擅長在電腦上做重複性高的工作。
所以AI是打造人類思維跟認知,RPA是模擬人操作電腦,這兩種技術既可以獨立存在,也可以組合使用,串成一個完整的自動化作業流程,比如撰寫網路爬蟲程式抓取數據給AI做判定,在人工處理校正後,將有效資料拋送給RPA做後續的登檔跟作業,兩種技術其實在眾多企業內都已被廣泛應用。
如果你是一個想轉型的程式開發者,未來比較想投入AI應用或偏好機器學習,會建議將學習資源投入Python,因為大部分的AI應用跟網路爬蟲大都是使用Python開發,線上學習的資源也最多,而且要用Python去開發RPA應用也是可以的,Python幾乎是無所不能。但對開發大量的RPA作業流程而言,重砲級的Python反而比較浪費,殺雞焉用牛刀,因為RPA流程開發重點在於跨系統介接,元件辨識上有較多的不確定性因素,光是要測試Connector狀態是否穩定,就會耗費不少時間,對於一個開發經驗還不豐富的新手,假若沒有程式框架從零開始撰寫,要累積出一個完善的腳本是非常耗時的,可能數個月才能開發出一個流程,所以RPA才會有各式各樣的LawCode工具問世,可以非常短的時間就可以產出一個RPA機器人作業流程,降低開發門檻。
綜合以上介紹,我們可將流程的應用場景歸類為兩大類:
- 全自動作業流程:
從頭到尾皆不需要人的介入與干涉便可完成的作業流程,此種作業可以在任何時段執行,只要設計好流程的起案機制,RPA機器人可以設定為24小時全天運作,一旦偵測到案件進來,便可在時效內處理完畢,並回傳結果給指定作業人員後須接手。 - 半自動作業流程:
是指需要人機協作的作業流程,這種類型的流程AI應用上較常見,因為AI判定時都會有一個信心指數,當信心不足的時候有可能會判定錯誤或無法判斷,所以會搭配一個作業人員協助校正,除了可針對結果Double Confirm之外,也可以協助優化AI,讓之後的決策更精準。
這裡就有一個分水嶺,那企業到底是要使用Python還是要用RPA好呢?可以從業務特性跟技術可行性兩個面向來考量,如果一個業務流程內,大部分都是屬於:作業人員收集數據後需透過專業判斷,獲得一個可用的結果當評斷條件者,例如輿情分析,這種應用借助AI認知技術的占比非常高,所以絕對是Python為首選,因為RPA不擅長處理未結構化的資料,也做不到如此複雜的分析。反之如果是判斷規則簡單的查詢或登案作業,特別是要跨多個不同的系統去查詢或下載報表者,這就非常適合使用RPA,通常應用在企業內部系統的作業居多。
第二個考量就是技術可行性,因為AI領域的應用,通常需要較長的整備齊,從AI模型挑選,到整備標記資料做訓練,到找到後續應用開發的Python工程師,開發出人機介面,上線運作後還要有人機協作的作業人員,這需要投入相當多的人力資源才能夠堆疊出來,因此如果組織內部還沒有足夠的人手跟資源,AI類型的資料處理與判斷,大都會採外包服務。而導入RPA的技術門檻就非常低了,只要一台電腦,就可以產出一個數位人力,非常的簡單,所以RPA常常是數位轉型最優先被導入的第一選擇。
在決定要導入什麼技術之後,我們還要了解平民開發(Citizen Development)跟低代碼LC/NC (LowCode/NoCode)
平民開發,簡而言之,指的是不具備IT職位的人員,被賦予權力開發特定應用或服務,而這些平民角色可以是任何職位的員工。
我相信每個員工在各自的業務領域都非常的熟悉與擅長,或多或少都能在企業內提出一些流程優化的想法,通常只能向IT部門尋求開發資源,可是偏偏IT的人力非常稀缺,排程總是滿檔,還跟其他需求競爭效益,因此這些流程優化的想法總是被無限期的延後,儘管久候數月,終於安排到了開發資源,也很常因IT跟業務端之間的認知差距,開發出來的應用服務品質不如預期,導致作業效率低落,員工滿意度下降。
而平民開發正是為了解決對IT部門的高度依賴,能把各業務領域的優化想法快速落地,徹底改善公司整體創新氛圍,同時也減輕IT部門的壓力。就像公司內或多或少都會有一些傳承多年的Excel表單或非常好用的巨集(VBA程式),雖然當初開發的業務人員可能已經離職,但卻能徹徹底底解決業務端痛點,這就是平民開發的案例之一。
但現實是殘酷的,如果你想要當海賊王, 你要先有一艘船,企業若想走平民開發,就先要找到會開發的平民,畢竟程式設計是屬於專業的領域,不是每個人都可以現學現賣,如果要熟悉一種程式語言到可以獨立開發,可能要再磨個一年半載的,相信業務端要蹦出一個懂VBA或熟悉JAVA的非IT人員,這種機率是少之又少。
我們可用不同的觀點來看,平民開發只是一個假議題,說穿了就是在業務單位或作業,培養一個獨立的開發者,不受IT規範跟限制,專門為部門開發應用程式,這時候合規的議題就非常重要了,基本上非IT人員是不能對公司的系統開發或修改的,更別說要自行安裝伺服器,推展部門內的優化作業,目前唯一可以做的就是單機服務,或者是使用不影響現行企業系統的應用或架構,例如運行一個RPA流程機器人,或透過AI執行一個圖像比對,因為沒有侵入系統,只是單純的在個人或RPA電腦上安裝輔助軟件,把這類型的工作當作EXCEL表單或者巨集來看待,不影響行內系統運行跟資訊安全,達到部門內小規模的優化目的。
所以現行很多企業開始網羅有程式開發經驗的人才,部門內部不再清一色是同一種職能的人,而是有些人在IT能力強一點,有些人則對業務熟悉一點,因此只要沒涉及到企業內部系統的需求,都可以在部門內被滿足。
也因為無法使用IT專用的程式語言或平台開發,所以必須要借助低代碼工具才行,又稱LCAP(Low-Code Application Platform,低代碼開發平台,它是指僅需撰寫少量的程式碼,或甚至不需要撰寫程式,便可產生應用程式的平台或軟件,此平台或軟體會提供一個友善的編輯器,讓使用者以圖形化介面以及組態編寫程式,而不是用傳統的程式設計作法。
舉一個最經典的例子,相信大家都有聽過網頁模板,早期要製作網頁,需要從HTML、JavaScript、CSS、資料庫,一層一層的學起,而現在只要安裝WordPress套件,可以直接在WordPress後台提供的圖像介面編輯修改網頁內容,設計網頁不再需要寫程式,而是透過一些簡單的元件拖拉跟設定即可完成,這就是典型的LCAP之一。更進階的還有企業用的AgilePoint,像這些工具都號稱僅需要在後台上面『設定』一下,便可以開發出一個企業級的電子表單,根本不用透過IT人員開發程式代碼。
全球 IT 顧問諮詢公司Gartner,也表示 Low-code 技術發展趨勢,至2024 年預計將有 65% 的應用程式會由低代碼平台開發,這也就說明了三件事情
- 未來的應用服務大部分會由低代碼工具產出
- 開發應用服務將是全民運動
- 開發速度慢者將被淘汰
像現在這個時代要純手工寫HTML來開發網頁已經過時了,使用WordPress套件,在需求跟素材都提供完整的前提下,快者一天就可以架設一個不複雜的官網或部落格,若像早期一樣,一個網站交付需要一兩個月,而且開發天數長,費用高得嚇人,除非是系統層級的東西,這樣傳統的寫程式開發方式勢必會被淘汰。
聽完上面介紹,可能會有一些平民想轉換跑道,加入這一波自動化風潮,若你的程式基礎非常好,Python+AI絕對是首選,但若是開發經驗比較沒那麼豐富的開發小白,建議先從RPA著手,比較好入門,而且企業內流程優化的需求是源源不絕的,只有人操作電腦的情境,RPA就有存在的需求,一旦熟悉開發RPA作業流程之後便不容易被淘汰,甚至可以累積經驗晉升為RPA設計師,而前面所提到的RPA開發工具都是屬於低代碼,只要有Excel VBA撰寫經驗的人,是可以非常快速上手的,但各家廠商的介面都不相同,之後我會再跟大家簡單介紹它們之間的差異,以及該如何選擇。
其實平民開發搭配低代碼風,關鍵不是在於平民或LCAP,而是設計師或架構師,因為只要涉及到開發一詞,就會有架構設計的問題,企業從現有的平民裡面挑出有意願的人員來學習LCAP,相信開發出一些簡單的應用服務絕對沒有問題,但既然開發了就一定會伴隨維護的議題,一定要同時考量交接、維護、擴充等等需求,因為每個人開發的習慣都不同,從命名方式、存檔位置、功能切分、自我檢測、除錯模式、寫LOG…等等要求,若是一個非專業的開發人員,可能不知道要考量這些,上線後應用服務的品質不好,因此造就沒經驗的平民開發得越多,導致未來要重構的工越多,畢竟這些沒有架構的代碼是沒有什麼留存價值的,如果是簡短的優化作業倒還勉強可以接受,但若是優化的項目多又複雜,相信交接時就會要了後手的命。
所以平民開發是一種雙面刃,特別是沒計畫性的片地開發(花),很容易屍橫遍野,若沒有十足的把握,建議開發時還是要尋求專業的設計師或者企業內的架構師來搭配,至於由作業人員直接對開發人員的合作模式會有多慘,可以參考我們這一部影片。
最後要幫大家總結這一集的重點:
- 超級自動化服務中含括的三種技術:AI、RPA、LowCode
- AI人工智慧,可透過機器學習模仿人的認知,建議使用Python開發,且需要搭配人機協作,應用在半自動流程居多,技術門檻較高,導入企業也需要較多的資源。
- RPA流程機器人,是Rule Based模式,模擬人在電腦上的操作,可以選擇多家廠商推出各種低代碼工具,較常被使用在全自動流程,技術門檻較低,開發速度快。
- 平民開發3大優勢:
- 彌補IT人力不足
- 符合業務需求
- 開發速度快
- 低代碼風:
- 未來的應用服務大部分會由低代碼工具產出
- 開發應用服務將是全民運動
- 三、開發速度慢者將被淘汰
- 如果你有RPA設計規劃需求,歡迎找我們討論
我們這一集就介紹到這邊,如果有喜歡的話,記得幫我按讚、訂閱並開啟小鈴鐺,也歡迎在留言區多多交流,我們下集見,掰掰