回顧
上次RPA程式思維系列更新到Regex篇,今天繼續來介紹模組化的概念,這在程式中佔了重要的一環。
我將利用實作簡易AI Agent串接Gemini API,實現匯率漲幅自動分析與報告 這篇文章繼續延續RPA程式思維系列模組化主題,上次讓Power Automate串上Gemini API並請Gemini回覆分析。
這個流程的程式碼尚未整理,當時處理方式是一個流水線的方式拉取下來。先看一下原本的流程是這樣的感覺:

為什麼我們需要模組化?
這個流程會有的狀況是:當未來流程越來越多,你要回來看這個流程時,容易看不懂,要重新Review的時間就會拉長,而這時若程式碼有做模組化,能幫助你更好管理程式碼。簡易的說就是為了更好維護。
不管你是想區分流程區塊或是有時候程式碼/流程越寫越多時,你會發現可能會有重複的邏輯出現,這時把重複的流程抽取出來也很重要,當日後的流程也想用同樣的邏輯時,就可以直接調用寫過/拉過的流程,而不是每次都重新拉取。
若是剛開始想要著手模組化的人可能會不知道從何下手,所以一開始我會建議先用大區塊功能來拆分,我今天想要做的也會比較簡易,主要就是把區塊拆分好,當未來想要回來調整流程時,可以更好重新進入狀況!以下是拆好子流程之後的樣貌:

Power Automate Desktop介面(加入子流程)
在先前API實作文章中有提到邏輯分成了三大部分,若想回顧細節請看實作簡易AI Agent串接Gemini API,實現匯率漲幅自動分析與報告,主要為
1.抓取Excel資料
2.資料計算+判斷
3.Gemini分析報告
而現在我也將原本所有在Main的流程分成這三大區塊,我的子流程取名分別是:
1. Get Excel Data: 對應抓取Excel資料
2. Calculate Price Change: 對應資料計算+判斷
3. Call Gemini API: 對應Gemini分析報告
在Power Automate中想要做到模組化去拆分不同部份的邏輯,即是使用子流程來做到
結語:模組化後的好處
這樣下次不管是你或幫忙維護此流程的友人,點進來看到時可以馬上Get到大致上每個區塊在做的事,若想調整部分細節,例如Gemini指令需要調整,就知道可以直接點進去Call Gemini API子流程做修改即可,不用程式碼從頭掃描到尾,所以變數的命名是很重要的!每個環節是環環相扣的。
而僅僅是這樣先簡單做大區塊的拆分,跟程式碼中在寫各個function即是一樣的概念。
- 除錯效率: 如果 Gemini 沒反應,你只需要檢查
Call Gemini API區塊,而不需要擔心 Excel 讀取的代碼。 - 協作可能性: 如果這是一個大專案,你可以負責寫 API 部分,友人負責寫資料計算部分。
- 更清晰的變數管理:一開始所有流程都在Main,所有變數都放在Main(都是全域變數),你要找某個變數在哪裡使用過難度也提高,但當你拆不同子流程後,你會很清楚知道哪些變數在哪些流程使用,而且僅僅在這個子流程需要使用到。更詳細的解說將在後續新增一篇如何實作拉取子流程篇文章(將介紹Power Automate),幫助大家了解如何操作。我們下篇再見~
延伸思考:如果需求變複雜了?
試著思考以下場景,這能幫助你判斷自己的流程拆解得好不好:
- 情境: 如果今天 Gemini API 變貴了,你想換成 OpenAI 或 Claude。你是否只需要更換一個子流程,而不用動到 Excel 抓取的部分?
- 情境: 你的
Call Gemini API子流程,能否直接被複製到另一個「分析發票內容」的機器人中直接使用?
好的流程,應該像 樂高積木 一樣,可以隨時抽換、升級,而不必整組拆掉重蓋。


















