iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
Vibe Coding

從零打造 AI 全端應用:Vibe Coding 結合 n8n 視覺化工作流實戰系列 第 14 篇

Day 14:流程控制的藝術:用 Switch 節點「畫」出商業分流邏輯

  • 分享至 

  • xImage
  •  

Day 14:流程控制的藝術:用 Switch 節點「畫」出商業分流邏輯

嗨,大家今天過得好嗎?歡迎來到鐵人賽 Day 14。

昨天我們成功連上了 PostgreSQL,靠著參數化查詢安全地撈出了硬體資料。但老實說,目前的流程還太過於「直線思考」。

在真實的組電腦商業邏輯中,我們不可能一招打天下。前端 SwiftUI 傳來的 purpose(用途)有三種:「3A 遊戲」、「影音剪輯」和「文書處理」。

  • 3A 遊戲: 預算應該重押在顯示卡 (GPU) 上,佔總預算 50% 以上。
  • 影音剪輯: CPU 的多核心運算跟記憶體才是重點。
  • 文書處理: 可能根本不需要獨立顯卡,預算一萬五就打死了。

如果在傳統後端寫 Code,這裡絕對是一大坨的 if-else 或 switch-case,裡面包著各種不同的 SQL Query。今天,我要教你如何在 n8n 中,不寫一行邏輯代碼,直接用「拉線」的方式完成漂亮的資料分流。

拋棄 IF 巢狀地獄,請愛用 Switch 節點

很多人剛用 n8n 時,遇到判斷條件第一直覺就是拉 If 節點。
If 節點很好用,但它只有兩個出口:True 跟 False。當我們有三種用途要判斷時,你就得在 False 後面再接一個 If... 畫布很快就會變成難以閱讀的毛線球。

對於這種「一對多」的條件判斷,我們的最佳武器是 Switch 節點。

實作步驟:建立業務分流

  1. 請把昨天接在 Webhook 後面的 Postgres 節點先斷開(點擊連接線並按下 Delete 或 Backspace)。
  2. 在 Webhook 後面新增一個 Switch 節點。
  3. 點開 Switch 節點設定:
    • Data Type: 選擇 String。
    • Value 1: 填入我們要判斷的變數:{{ $json.purpose }}。
  4. 接下來,我們來設定 Routing Rules (路由規則)。點擊 Add Routing Rule 三次,分別設定:
    • Rule 0: 如果等於 (Equal) 3A 遊戲,輸出到 Output 0。
    • Rule 1: 如果等於 (Equal) 影音剪輯,輸出到 Output 1。
    • Rule 2: 如果等於 (Equal) 文書處理,輸出到 Output 2。

設定好之後關閉視窗,你會看到 Switch 節點的右邊長出了三個不同 Output 節點出口。

針對不同分流,客製化 SQL 查詢

現在,你的工作流已經長出了三個分支。你可以複製三個昨天的 PostgreSQL 節點,分別接在 Switch 的三個出口上。

最棒的地方來了:每一個分支裡的 Postgres 節點,都可以寫不同的 SQL 邏輯。

例如,在 Output 0 (3A 遊戲) 的分支,你的 SQL 參數可以這樣設計:

-- 遊戲機:GPU 預算佔 50%,CPU 佔 30%
SELECT * FROM gpus WHERE price <= ($1 * 0.5) ORDER BY price DESC LIMIT 3;

而在 Output 2 (文書處理) 的分支,你可以直接暴力阻擋:

-- 文書機:不需要獨立顯卡,直接撈有內顯的 CPU 就好
SELECT * FROM cpus WHERE has_integrated_graphics = true AND price <= $1 ORDER BY price DESC LIMIT 3;

你完全不需要在程式碼裡寫什麼 if purpose == "3A 遊戲" 的判斷,在 n8n 裡,資料走到哪條線,它就該做什麼事。視覺化工作流的魅力,就是在除錯時,你只要看哪條線在發光,就知道現在走到哪個邏輯分支了。

踩坑提示:分久必合的 Merge 節點

工作流分支出去後,最終我們還是得把撈出來的 CPU 與 GPU 資料打包好,然後把這份「硬體清單」送進我們接下來要準備的 AI 大腦裡。

如果你放任三條線各自走到結尾,你可能得做三個 LLM 節點,這在維護上會是個災難。實務上,我們會在各個分支撈完專屬的資料後,使用一個叫做 Merge 的節點,把這三條線路重新「收斂」成一條主線,然後再統一送給下一步的 AI 去處理。

小結

今天我們學會了用 Switch 節點取代繁雜的程式碼條件判斷,讓商業邏輯的分流變得一目了然。我們的後端終於具備了「因地制宜」的處理能力。

到目前為止,我們的資料來源都只限於我們自己的 Postgres 資料庫。但如果哪天資料庫的時價沒更新,或是我們想額外提供「今日原價屋最新匯率 / 折扣」給 AI 參考怎麼辦?

明天,我們暫時不寫 SQL,要來玩玩 n8n 裡被使用頻率最高的萬用神器——HTTP Request 節點。看看怎麼不寫半行 Code,就能串接外部第三方 API 來豐富我們的資料庫!

我們 Day 15 見!


上一篇
Day 13:商業邏輯的核心:在 n8n 中完美串接 PostgreSQL 資料庫與防雷指南
下一篇
Day 15:外部 API 大串流:不再寫煩人的 Request,用 HTTP 節點搞定一切
系列文
從零打造 AI 全端應用:Vibe Coding 結合 n8n 視覺化工作流實戰 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言