我的 n8n 是自架在樹莓派上的,跑了兩年多,是家裡最可靠的成員。
上個月我用它搭了一個 agent,想說很單純:監看 Google 雲端硬碟裡的某個資料夾,
有新檔案就丟給 LLM 節點做摘要和分類,把日期、類別、重點整理進 Google 試算表。
我抓了十個檔案測試。十個全對。
摘要到位、分類正確、日期漂亮地排進試算表。我把 workflow 存起來,關掉螢幕,
覺得今天真是有效率的一天。
然後真實的檔案進來了。
第一週:日期全歪。
真實世界裡,別人給你的檔案日期什麼形狀都有:2026/8/1、20260801、
「八月一日」、還有從老系統匯出的 Excel 序號 45723。
demo 的十個檔案剛好都是規矩的 YYYY-MM-DD。LLM 節點遇到看不懂的格式,
沒有說不知道,它很有自信地猜了一個——猜錯了。
試算表上那個月的統計圖,從此變成裝置藝術。
第二週:無中生有。
有一欄是「發票號碼」。某個 LLM 節點的回覆裡,發票號碼欄填得滿滿的,
格式漂亮、開頭正確——但來源檔案裡根本沒有這個號碼。
它不是讀錯,是編的。而且因為填對了格式,我第一眼完全沒發現。
第三週:改一行 prompt,壞三個案例。
為了修分類問題,我打開終端機,用 Pi(pi.dev 的開源 coding agent)改 prompt 裡的一句話——
十秒鐘搞定,快到來不及思考。分類是好了,但摘要任務有兩個案例開始漏重點、一個開始講英文。
n8n 的執行紀錄會告訴我節點「成功」——但它不知道什麼叫「品質退化」。
那個瞬間我發現:AI 把「改」的成本降到幾乎為零,這讓沒有回歸防護的 workflow 更危險,
不是更安全。
demo 死了。不是 n8n 的問題,也不是模型不夠強。
是我從頭到尾都在測「它能不能跑」,從來沒測過「我敢不敢讓它上」。
1. 你不知道它的錯誤率。
測試是十個精心挑的檔案;production 是每天幾百個你不認識的輸入。
沒有黃金資料集之前,正確率只是感覺,不是數字。
2. 你沒有回歸防護。
改 prompt、換模型版本,輸出分佈就變了。改程式有測試擋著,
改 prompt 卻是裸奔——壞了不會有人告訴你,直到試算表長成裝置藝術。
3. 你沒有定義邊界。
遇到加密 PDF、掃描圖片,它應該標記「我處理不了」還是硬編一個?
LLM 節點的預設行為是後者——靜默編輸出,比報錯危險十倍。
4. 你看不見它。
n8n 的執行紀錄只記成功與失敗。LLM 節點每一次的依據、每一次的幻覺,
如果沒有另外留下痕跡,出事時你只能憑感覺修。
接下來三十天,我用這組真實的技術棧當案例:樹莓派上自架的 n8n(雲端硬碟 → LLM → 試算表的
自動化流程)+ Pi(pi.dev 的終端機 AI coding agent,MIT 開源、極簡到不內建 MCP 和子代理,
工具要自己長——正好跟這個系列「自己蓋、不依賴」的路線同一種個性)。
從零蓋一套「AI 可靠性工程」,不是概念文——每一步都有可重現的步驟、
可匯入的 workflow 檔、和 before/after 數據。方法通用於任何 stack,
你用 Make、Zapier 或 Claude Code、自己寫的 agent 都適用。
兩個貫穿的原則先說好:
先量測,再改動。 沒有 before/after 數據的最佳化都是猜。
先定義失敗,再追求成功。 紅線案例比成功案例優先。
npm install -g --ignore-scripts @earendil-works/pi-coding-agent,Day 02 畫出「AI 可靠性工程」的全景圖:evals、tracing、guardrails 各自管什麼、
順序為什麼是這樣,以及——為什麼大部分教程的順序是錯的。
如果你也有一個「demo 很漂亮、上線很可怕」的自動化流程,這個系列是寫給你的。
歡迎訂閱跟著煉。