用 n8n + AI Agent 打造自動駕駛工作流:Vibe Coding 落地實戰
☰ 目錄 table-of-contents.md
同一封客戶來信,硬編碼的關鍵字比對會漏判,人工分類又慢——「人體 API」的日常多半卡在這種模糊地帶。更務實的解法,是在 n8n 的視覺化流程裡放一顆 AI Agent 節點,搭配嚴格的 JSON 輸出契約與一段防呆解析程式碼:讓 AI 處理模糊判斷,程式碼守住結構與穩定性。這正是 Vibe Coding 在自動化場景的真正落地方式。
本文用一個「客戶訊息自動分流系統」的完整案例,帶你看清楚每個節點該放什麼、Prompt 該怎麼寫、AI 回傳壞掉時該怎麼接住,以及在生產環境最容易踩的成本、隱私與穩定性陷阱。
Hi 如果你跟我一樣是那種「能躺著絕不坐著,能用 Script 跑絕不手動點」的工程師,那你一定會愛死這套做法。
什麼是 Vibe Coding?跟傳統寫程式差在哪?
如果你最近混跡於 GitHub 或 X(前 Twitter)的開發者圈子,「Vibe Coding」這個詞一定不陌生。簡單來說,Vibe Coding 就是「以自然語言意圖為導向」的開發模式:你描述「想要什麼結果」,而不是「逐行指定怎麼算」。
它最適合處理的是「模糊、難以窮舉規則」的任務——例如判斷一段文字的情緒、把雜亂回饋歸類、從自由文本抽取欄位。這類任務用傳統規則寫起來又臭又長,正是 LLM 的強項。
| 面向 | 傳統 Hard Coding | Vibe Coding |
|---|---|---|
| 判斷方式 | 寫 Regex/if-else 比對關鍵字 | 用自然語言描述判斷邏輯,交給 LLM |
| 維護成本 | 規則越多越難維護、容易誤判 | 改 Prompt 即可調整行為 |
| 適合場景 | 規則明確、結果唯一(如金額計算) | 語意模糊、需要理解上下文(如分類、摘要) |
| 主要風險 | 規則涵蓋不全 | 輸出不穩定、可能產生幻覺 |
請注意最後一列:Vibe Coding 不是「不用程式碼」,而是「把模糊判斷外包給 AI,把結構與穩定性留給程式碼」。這個分工是整篇文章的核心心法。
為什麼用 n8n 來實踐 Vibe Coding?
n8n 是一個 Low-code 的開源自動化工具,它最大的優勢是把每一個步驟拆成可視化的「節點」,並且允許你在流程中無縫嵌入 AI Agent 節點與自訂程式碼節點。這讓「自然語言判斷」與「確定性處理」可以在同一條流程裡並存,剛好對應 Vibe Coding 的分工心法。
實戰:打造一個「自動讀心」的客戶訊息分流系統
身為工程師,最怕的就是業務部門轉寄來的 Email,標題寫著「客戶說 API 壞了」,內容卻是一堆情緒勒索的文字。我們來實作一個 n8n 工作流,自動判讀並分流這些訊息。整體架構分成四步:
- 接收(Trigger):用 Webhook 或 Email Trigger 收進原始訊息。
- 前置過濾(節省成本):用一般節點先濾掉雜訊,再決定要不要叫用 AI。
- AI 判讀(Vibe 核心):用 AI Agent 節點做分類與情緒判斷,輸出結構化結果。
- 解析與容錯(守住穩定性):用程式碼節點清洗並驗證 AI 回傳,失敗就走人工複審分支。
步驟一:接收與感知(The Input Vibe)
首先,使用 n8n 的 Webhook 或 Email Trigger 節點來接收訊息。這裡沒什麼特別的,重點是把原始內容(標題、寄件者、內文)完整帶進流程,後面才有素材可判讀。
步驟二:先過濾,再叫 AI(別讓 Token 燒錢)
很多人一拿到訊息就直接丟給 LLM,這是最常見的浪費。建議在叫用 AI 之前,先用 n8n 的一般節點做基本過濾——例如排除自動回覆、退信通知、純空白內容,或截斷過長的內文。把判斷成本花在真正需要理解的內容上,這一步往往能大幅降低 API 帳單。
步驟三:AI 大腦判讀(The AI Logic)
在 n8n 中加入一個 AI Agent 節點(例如串接 Gemini 或 OpenAI)。這裡就是 Vibe Coding 的核心:我們不寫 if-else 判斷關鍵字,而是直接在 System Prompt 寫入判斷「意圖」。
一個能實際運作的 Prompt,通常需要三個要素:角色設定、明確的分類規則、嚴格的輸出格式約束。例如:
「你是一個資深技術客服。請分析這封郵件的『技術含量』與『憤怒指數』。如果包含 Error Code(如 404、500)且情緒冷靜,歸類為 'Bug Report';如果通篇大寫且無具體技術細節,歸類為 'Complaint'。最後只回傳 JSON 格式,不要附帶任何說明文字。」
實務上,光在 Prompt 裡要求 JSON 還不夠保險。如果你使用的模型或 n8n 節點支援「結構化輸出/JSON mode」或可掛上 Output Parser,請優先啟用——讓模型在生成階段就被約束成合法 JSON,比事後用程式碼清洗可靠得多。即便如此,下一步的防呆解析仍然不可省略,這是雙保險。
步驟四:結構化輸出與容錯(The Code)
雖然說是 Vibe Coding,但為了讓系統穩定,我們還是需要一點點程式碼,確保 AI 吐出來的東西是 n8n 看得懂的結構。在經典編輯器中,可以使用 Function Item 節點來處理 JSON。
這裡有一段我也常用的防呆程式碼,用來清洗 AI 偶爾會「幻覺」多加的 Markdown 符號,並在解析失敗時走 fallback:
// n8n Function Item - AI Response Cleaner
// 作者: Eric @ 浪花科技
const aiResponse = $input.item.json.ai_output;
// 很多時候 AI 會好心地加上 ```json ... ```,我們要把它拿掉
function cleanJsonString(str) {
if (typeof str !== 'string') return str;
return str.replace(/```json/g, '').replace(/```/g, '').trim();
}
try {
const cleanData = cleanJsonString(aiResponse);
const parsedData = JSON.parse(cleanData);
return {
json: {
category: parsedData.category || "Unknown",
sentiment_score: parsedData.sentiment_score || 0,
summary: parsedData.summary || "No summary provided",
original_message: $input.item.json.body
}
};
} catch (error) {
// 如果 AI 徹底壞掉,回傳一個 fallback
return {
json: {
category: "Manual Review",
error: error.message,
original_message: $input.item.json.body
}
};
}
這段程式碼的關鍵價值有三個,缺一不可:
- 清洗:把模型常加上的
```json圍欄去掉,避免JSON.parse直接報錯。 - 防呆預設值:用
|| "Unknown"這類預設值,確保即使某個欄位缺漏,下游節點也不會因為讀到undefined而整條流程崩掉。 - 容錯分流:解析徹底失敗時,不是讓流程死掉,而是把分類設成
Manual Review。後續就能用 n8n 的 IF/Switch 節點,把這類訊息導向人工複審,達成「AI 處理九成、人工兜底一成」的穩健設計。
分流之後:把結果接到真正的動作
判讀完只是中間站。真正省時間的是把結果接到後續動作:Bug Report 自動開工單或通知工程群組、Complaint 派給客服主管、Manual Review 進待辦清單。n8n 的 Switch 節點能依 category 欄位把訊息導向不同分支,這時整條流程才算真正「自動駕駛」。
Vibe Coding 的陷阱:別把 AI 當神
雖然我很推崇 Vibe Coding,但身為資深工程師,我必須囉嗦幾句。AI 雖然強大,但還不是全知全能。在用 n8n 實作時,有幾個「坑」請務必避開:
- 非結構化資料的詛咒:AI 很喜歡「聊得開心」就忘了格式。務必在 Prompt 中強烈要求只回傳純 JSON,並用程式碼節點做事後驗證,雙重保險。
- 成本控管:Vibe Coding 很爽,但 Token 費很貴。不要把整個 log 檔都丟給 AI 分析,先用 n8n 的基本節點過濾掉無效資訊,必要時截斷過長內容。
- 隱私問題:別把客戶的密碼或個資直接丟到雲端 LLM。在送出 Request 前,記得加一個「資料去識別化」的步驟。
- 輸出不可重現:同樣的輸入,LLM 不保證每次都給一樣的答案。把 AI 用在「分類、摘要」這類容許模糊的環節,金額計算、權限判斷這種不容出錯的邏輯,還是交給確定性的程式碼。
- 外部 API 會不穩:叫用 LLM 服務時,可能遇到逾時、限流(Rate Limit)或暫時性錯誤。為 AI 節點與下游 API 呼叫設計重試與退讓機制,流程才不會在半夜默默卡死。
為什麼你需要掌握這套工作流?
未來的工程師,價值不在於你會寫多複雜的迴圈,而在於你能不能指揮 AI 這個工讀生,把複雜的業務邏輯變成一條順暢的流水線。
Vibe Coding 加上 n8n,就是你的一人軍隊。你可以用一個週末下午,做出以前需要一個團隊較長時間才能搭起的客戶分流雛形。這不是偷懶,這是把時間花在更值得的地方——比如去海邊衝浪(這也是為什麼我們叫浪花科技的原因,笑)。
延伸閱讀
- n8n、Make、Zapier 怎麼選?2026 自動化平台完整比較
- 「別再複製貼上了!」WordPress API 串接實戰:串接 LINE / HubSpot / n8n,打造你的全自動工作流
- 告別手動複製地獄!Laravel x HubSpot API 同步攻略,讓你的客戶資料自動歸位
- API 半夜又斷線?WordPress API 串接防護指南:從 Rate Limit 到優雅重試(Exponential Backoff)
準備好讓你的工作流程起飛了嗎?如果你對企業級的自動化架構導入有疑問,或者不想自己動手處理這些繁瑣的設定,歡迎隨時找浪花科技聊聊,讓我們幫你把「想法」變成「自動化現實」。
常見問題
什麼是 Vibe Coding?跟傳統寫程式有什麼不同?
為什麼適合用 n8n 來實踐 Vibe Coding?
如何讓 AI 節點穩定回傳可解析的 JSON?
用 AI 做自動化時有哪些常見陷阱要避開?
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。