停止追赶最新的 RPA 趋势
來源:AI前線
作者:Anupam Krishnamurthy
譯者:Phoenix
策劃:蔡芳芳
本文最初發(fā)布于 anupam.de 博客,由 InfoQ 中文站翻譯并分享。
我做了 4 年的 RPA 開發(fā)者——2017 至 2021 年。在 2019 年底,我做了一個(gè)重要的決定,使我入選為 UiPath's 2021 年 62 位 MVP 之一。這個(gè)決定就是停止追趕最新的 RPA 趨勢,轉(zhuǎn)而專注于掌握傳統(tǒng)的軟件開發(fā)。
當(dāng)然,一開始不是這樣的,在我作為 RPA 開發(fā)人員的頭兩年里,我堅(jiān)持只使用本地 RPA 工作流來實(shí)現(xiàn)流程自動(dòng)化。我不是 IT 背景出身,所以我認(rèn)為傳統(tǒng)的編程和腳本不適合我,我將 RPA 視為一種與基于文本編程不同的編程范式,并拒絕偏離它。同時(shí),我震撼于 RPA 的強(qiáng)大和上手之快速,這也讓我看不到它的局限性。
RPA 市場規(guī)模每年都在呈數(shù)量級(jí)增長,現(xiàn)在的 RPA 平臺(tái)比 2017 年強(qiáng)大得多。這使得作為一名 RPA 開發(fā)者,更傾向于“專攻”RPA,而不是脫離它的邊界。這里列出 3 個(gè)理由來簡述為什么這種想法是錯(cuò)誤的。
為什么只局限于“RPA”是錯(cuò)誤的
基于 GUI 的自動(dòng)化終歸是一種妥協(xié)
任何軟件過程的自動(dòng)化,本質(zhì)上都需要使用一系列命令將數(shù)據(jù)從一個(gè)地方移動(dòng)到另一個(gè)地方。過去幾十年里,程序員已經(jīng)完善了命名貼切的命令行執(zhí)行這些操作的方法。然而,為了將計(jì)算機(jī)的使用范圍擴(kuò)展到日常用戶,我們創(chuàng)建了一個(gè)更直觀的用戶界面——有鼠標(biāo)指針、按鈕、文本框、觸摸屏等等。
進(jìn)入圖形用戶界面,我們現(xiàn)在太習(xí)慣使用 GUI 了,以至于我們認(rèn)為它們是理所當(dāng)然的。而作為程序員,我們需要提醒自己,每次使用 GUI 時(shí),計(jì)算機(jī)都會(huì)執(zhí)行數(shù)字體操來滿足我們的需求。每次你點(diǎn)擊屏幕上的一個(gè)按鈕,計(jì)算機(jī)都會(huì)投入巨大的精力把這個(gè)手勢轉(zhuǎn)換成一個(gè)命令。它必須:
在屏幕上正確呈現(xiàn)按鈕
跟蹤鼠標(biāo)指針的位置
注冊按鈕的點(diǎn)擊
執(zhí)行相應(yīng)的命令
或者,用一行程序代碼發(fā)出命令,就像用計(jì)算機(jī)的母語說話一樣,高效而健壯,信息損失最小。
大多數(shù)原生 RPA 自動(dòng)化都是基于 GUI 的,花點(diǎn)時(shí)間讓大家了解一下,基于 GUI 的自動(dòng)化,包括指示機(jī)器人通過 UI 與另一個(gè)程序通信,這類似于強(qiáng)迫兩個(gè)相同母語的人用猜字謎的方式來進(jìn)行交流。基于 GUI 的自動(dòng)化終歸是一種妥協(xié),因?yàn)樵诘讓涌偸怯懈行У姆椒▉韴?zhí)行相同的任務(wù),這引出了我第二個(gè)理由。
原生 RPA 流程在生產(chǎn)環(huán)境中很脆弱
在很長一段時(shí)間里,我沒有意識(shí)到基于 GUI 的自動(dòng)化是多么的脆弱,因?yàn)槲以谧约旱挠?jì)算機(jī)上實(shí)現(xiàn)了每個(gè)過程的自動(dòng)化,所以我無法預(yù)料在生產(chǎn)環(huán)境中運(yùn)行它會(huì)有什么不同。當(dāng)我轉(zhuǎn)到一個(gè)在生產(chǎn)環(huán)境中維護(hù) RPA 流程的團(tuán)隊(duì)時(shí),一切都變了。我的團(tuán)隊(duì)超過 80% 的時(shí)間都花在了修復(fù)損壞的流程上,這使我們幾乎沒有時(shí)間自動(dòng)化新的流程。這種脆弱性主要源于生產(chǎn)環(huán)境總是與我們開發(fā)自動(dòng)化的筆記本電腦和測試系統(tǒng)不同。一個(gè)由 100 個(gè)連續(xù)步驟組成的自動(dòng)化過程的“強(qiáng)度”和它最弱的步驟一樣,只需對 GUI 進(jìn)行最小的更改就可以破壞整個(gè)過程。
作為一名 RPA 開發(fā)人員,你自己可能也經(jīng)常遇到這種情況。我還沒有看到過一個(gè) RPA 過程,在生產(chǎn)環(huán)境第一次就能夠完美地執(zhí)行。當(dāng)然,人們可能會(huì)認(rèn)為這種情況正在改變,隨著智能選擇器和計(jì)算機(jī)視覺等 RPA 技術(shù)的進(jìn)步,RPA 流程現(xiàn)在可以更靈活地應(yīng)對 GUI 中的變化。這又引出了我第三個(gè)原因。
商品化
在前 RPA 時(shí)代,要自動(dòng)化一個(gè) Web 應(yīng)用程序,你需要檢查瀏覽器上的網(wǎng)頁,篩選復(fù)雜的 HTML 和 CSS 來找到一個(gè)可靠的選擇器;而使用 RPA,開發(fā)人員只需單擊元素即可檢索其選擇器;在下一次迭代中,我們有了支持正則表達(dá)式并包含一些模糊邏輯的智能選擇器;再下一個(gè)飛躍是計(jì)算機(jī)視覺——RPA 軟件現(xiàn)在可以像人類用戶一樣,查看屏幕,識(shí)別文本字段、單選按鈕和復(fù)選框。
隨著 RPA 平臺(tái)的快速成熟,RPA 工作也隨之商品化。RPA 平臺(tái)實(shí)現(xiàn)自動(dòng)化越容易,所需要的員工技能水平就越低,這種趨勢類似于餐飲業(yè)的工業(yè)化,在過去,你需要雇傭一個(gè)廚師來經(jīng)營一家餐廳;然而,工業(yè)化讓你有可能和一個(gè)中學(xué)輟學(xué)生經(jīng)營一家快餐店。是的,廚師在當(dāng)今世界仍然很有價(jià)值,但這是因?yàn)樗麄兡サZ技藝,不斷地改造自己。
解決辦法
在我 RPA 職業(yè)生涯的早期,我的錯(cuò)誤在于沒有認(rèn)識(shí)到這些因素,下面是我希望自己早點(diǎn)采取的 3 條措施。
像軟件工程師一樣思考
2019 年 12 月,我讀了 Bob C. Martin 的《代碼整潔之道》,它改變了我看待計(jì)算機(jī)編程的方式,讓我能夠從一個(gè)經(jīng)驗(yàn)豐富的軟件開發(fā)人員的角度來檢查一段代碼。我注意到一個(gè)人不僅需要解決眼前的問題,還需要為下游可能出現(xiàn)的二階和三階問題進(jìn)行設(shè)計(jì)。我還意識(shí)到,在本質(zhì)上,RPA 開發(fā)與優(yōu)秀的傳統(tǒng)軟件開發(fā)并沒有太大的區(qū)別。此外,比 RPA 早幾十年的軟件工程技術(shù)已經(jīng)解決了 RPA 開發(fā)人員剛剛意識(shí)到的大多數(shù)問題。
除了閱讀《代碼整潔之道》和《笨辦法學(xué) Python 3》等書籍外,還有助于與軟件工程師討論他們?nèi)绾螌?shí)現(xiàn)自動(dòng)化,我經(jīng)常會(huì)向我的開發(fā)朋友解釋我正在自動(dòng)化的場景,并問他將如何處理。這幫助我發(fā)現(xiàn)了基于 GUI 的自動(dòng)化的絕佳替代方案,這也引出了我的第二個(gè)建議。
學(xué)習(xí)使用傳統(tǒng)編程語言實(shí)現(xiàn)自動(dòng)化
所有 RPA 平臺(tái)都構(gòu)建在傳統(tǒng)編程框架之上,大多數(shù) RPA 自動(dòng)化是在. NET 平臺(tái)上完成的,所以在底層都使用了 C# 或 Visual Basic。從簡單的工作流開始,嘗試用. NET 語言繞過 RPA 平臺(tái),通過這種方式,你可以更深入地理解 RPA 軟件的工作原理。此外,你還會(huì)意識(shí)到,在某些情況下,幾行代碼就可以實(shí)現(xiàn)與復(fù)雜的 RPA 工作流(跨越你監(jiān)視器的兩個(gè)長度)相同的最終結(jié)果。
獲得更多經(jīng)驗(yàn)的另一種方法是為你最常用的 RPA 平臺(tái)創(chuàng)建自定義活動(dòng)。這段經(jīng)歷會(huì)讓你對它內(nèi)部運(yùn)作有寶貴的洞察。
我推薦一個(gè)極好的學(xué)習(xí) Python 自動(dòng)化的資源是“Automate the Boring Stuff with Python”。
集成 RPA 與傳統(tǒng)軟件
一旦你開始像軟件工程師一樣思考,并向你的工具包中添加一些編程技巧,你就可以構(gòu)建優(yōu)雅的流程,將 RPA 平臺(tái)的集中編排與傳統(tǒng)編程的健壯性和效率相結(jié)合。使用.NET,你可以在大多數(shù) Windows 應(yīng)用程序上自動(dòng)化任務(wù),你可以映射網(wǎng)絡(luò)驅(qū)動(dòng)器、集成 DLL,創(chuàng)建自定義活動(dòng),所有這些都將加速你的 RPA 代碼。要與 SAP 集成,請參閱 Stefan Schnell 的 SAP Scription Tracker (https://tracker.stschnell.de/)及其神奇的工作原理,你可以通過構(gòu)建 CI-CD 管道來自動(dòng)化 RPA 部署。最后一個(gè)集成是我最感興趣的場景,將繼續(xù)成為我對 RPA 社區(qū)最有價(jià)值的貢獻(xiàn)。
小? ? 結(jié)
我上面寫的一些東西可能會(huì)讓人難以接受,RPA 供應(yīng)商和業(yè)內(nèi)人士不太可能提出這樣的觀點(diǎn),而我自己也是在從 RPA 職業(yè)生涯中走出后,以全新的眼光回顧這個(gè)行業(yè),才能清楚地看到這一點(diǎn)。
此外,我的建議是回到傳統(tǒng)的軟件開發(fā),而不是緊跟最新的 RPA 趨勢,這可能會(huì)顯得過時(shí)。但是,如果你打算以長遠(yuǎn)的角度看待作為開發(fā)者的職業(yè)生涯,就需要掌握那些經(jīng)受住時(shí)間考驗(yàn)的傳統(tǒng)技能。
真希望我能早點(diǎn)意識(shí)到這一點(diǎn)。
原文鏈接
https://anupam.de/projects/descriptify/articles/articles/BiggestMistakeasRPADeveloper.html
未來智能實(shí)驗(yàn)室的主要工作包括:建立AI智能系統(tǒng)智商評(píng)測體系,開展世界人工智能智商評(píng)測;開展互聯(lián)網(wǎng)(城市)大腦研究計(jì)劃,構(gòu)建互聯(lián)網(wǎng)(城市)大腦技術(shù)和企業(yè)圖譜,為提升企業(yè),行業(yè)與城市的智能水平服務(wù)。每日推薦范圍未來科技發(fā)展趨勢的學(xué)習(xí)型文章。目前線上平臺(tái)已收藏上千篇精華前沿科技文章和報(bào)告。
??如果您對實(shí)驗(yàn)室的研究感興趣,歡迎加入未來智能實(shí)驗(yàn)室線上平臺(tái)。掃描以下二維碼或點(diǎn)擊本文左下角“閱讀原文”
總結(jié)
以上是生活随笔為你收集整理的停止追赶最新的 RPA 趋势的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux安装MySQL的完整步骤并有关
- 下一篇: Django - Cookie和Sess