把 AI 塞進流程:AI 節點與 Prompt 設計
第 3 課結束時,你的 n8n 已經能跑第一條 workflow 了——資料從 A 搬到 B,準時、不出錯。但你很快會撞到一種需求是「搬資料」解決不了的:客戶留言進來,有人罵翻天、有人只是問價格,你希望流程能看懂內容,把急件挑出來、把類型分好。傳統自動化做不到:「判斷語氣」沒辦法用 if/else 寫死,你不可能列舉所有罵人的方式。
這就是把 AI 塞進流程的時刻:讓 LLM 當流程裡的「判斷節點」。它讀留言、輸出結構化的判斷結果,後面的節點照著結果分流。這堂課從認識 n8n 的 AI 節點開始,一路做到一條完整的留言分類流程,而且會把兩個新手最怕的問題講透:API key 怎麼保存才不會外洩、每個月到底要花多少錢。
這堂學什麼
- n8n 的 AI 節點家族:OpenAI 節點、Anthropic 節點、Basic LLM Chain 各是什麼、什麼時候用哪個
- 申請 OpenAI / Anthropic 的 API key,用 n8n 的 credentials 功能加密保存——絕不把 key 寫死在節點裡
- 自動化專用的 prompt 設計三原則:固定輸出格式(JSON)、調低溫度、限制字數
- 實戰:客戶留言 → AI 判斷情緒與分類 → 自動貼標籤 + 負評即時通知
- token 成本試算:一則留言幾個 token、一個月一千則留言到底花多少錢
觀念一:AI 節點就是「會讀文字的判斷節點」
先建立正確的心智模型。在 n8n 裡,AI 節點跟你第 3 課用過的任何節點沒有兩樣:上游資料進來、處理、輸出給下游。差別只在於它處理的方式是「把你的指示(prompt)加上資料丟給 LLM,把 LLM 的回答當輸出」。

n8n 目前有近 70 個 AI 相關節點,新手先認識四個就夠:
- OpenAI 節點:直接呼叫 GPT 系列模型。功能最全(文字、生圖、語音轉文字都有),第一次接 AI 建議從它入手。
- Anthropic 節點:呼叫 Claude 系列模型。長文件理解與細膩指令遵循是強項,操作方式跟 OpenAI 節點幾乎一樣,學一個等於學兩個。
- Basic LLM Chain:n8n 的「通用 LLM 節點」。它本身不綁定廠商,你在下面掛一個「模型子節點」(OpenAI、Anthropic、Google Gemini、甚至本機 Ollama 都行)。好處是換模型不用改流程——哪天想從 GPT 換 Claude,換掉子節點就好,prompt 都不用動。
- AI Agent 節點:讓 AI 自己決定要呼叫哪些工具、跑幾輪。這是第 7 課的主角,今天先知道它存在就好——新手常犯的錯是一開始就用 Agent,九成需求用單發的 LLM 節點就能解決,又便宜又可控。
還有一個好消息:n8n 的 AI 節點平台不另外收費——Cloud 版或自架版都一樣,AI 節點照常算在 execution 裡,你只付模型商的 token 費(這堂課最後會算給你看,比你想的便宜很多)。Make 則是每個 AI 步驟照樣吃 credits,AI 用量大的流程在 n8n 上明顯划算,這也是第 1 課選型結論的延伸。
觀念二:API key 是鑰匙,credentials 是保險箱
要呼叫 OpenAI 或 Anthropic 的模型,你需要一把 API key——一串長得像 sk-proj-xxxx... 或 sk-ant-xxxx... 的字串。把它想成「會自動扣款的鑰匙」:任何人拿到這把 key,就能用你的錢呼叫模型。所以保存方式是有紅線的。

n8n 的做法叫 credentials(憑證):你把 key 存進 n8n 的憑證管理系統(加密儲存),節點只引用憑證的名字,不碰 key 本身。這帶來三個關鍵好處:
- 匯出流程不外洩:n8n 的 workflow 可以匯出成 JSON 檔分享給別人,credentials 不會被包進去。如果你把 key 用 HTTP Request 節點寫死在 header 裡,匯出的 JSON 就含著你的 key——傳給別人、貼上論壇求救,key 就飛了。
- 一把 key 全站共用:十條流程都用同一組憑證,換 key 只要改一個地方。
- 加密儲存:credentials 在資料庫裡是加密的,不是明文躺在那裡。
一句話原則:key 只出現在兩個地方——官方後台和 n8n 的 credentials 頁面。其他任何地方看到明文 key,就是做錯了。
觀念三:自動化的 prompt 跟聊天的 prompt 是兩回事
你平常跟 ChatGPT 聊天,它回得天馬行空沒關係,反正是人在讀。但在自動化流程裡,AI 的輸出是給下一個節點讀的,下一個節點是程式,程式只認得固定格式。所以自動化 prompt 有三條鐵律:

鐵律一:固定輸出格式,指定 JSON。不要讓 AI 自由發揮,明確給它輸出的欄位、每個欄位允許的值(枚舉),並要求「只回傳 JSON,不要任何其他文字」。欄位值用枚舉特別重要:你要的是 negative,不是今天回「負面」、明天回「不太開心」——下游的分流節點會直接對不上。
鐵律二:溫度(temperature)調低。溫度控制模型的隨機性,0 最保守、1 以上很發散。聊天要有趣可以高一點;分類、抽取、判斷這類任務,設 0 到 0.2,讓同一則輸入每次都得到幾乎相同的輸出。分類器不需要創意,需要穩定。
鐵律三:限制字數。輸出越長,token 費越貴、跑得越慢、出錯空間越大。摘要就明講「30 字以內」,分類就只要標籤不要解釋。在自動化裡,AI 多寫的每一個字都是你多付的錢。
手把手實戰:客戶留言自動分類貼標籤
目標流程:Google Sheets 裡有一張「客戶留言表」(表單回覆、社群留言匯入都行)→ AI 讀每則留言,判斷情緒(正面/中性/負面)和類別(產品問題、物流、退換貨…)→ 把結果寫回表格當標籤,負面又急的留言額外寄信通知你。
申請 API key(以 OpenAI 為例,Anthropic 流程幾乎相同)
到 platform.openai.com 註冊(注意:這是開發者平台,跟 ChatGPT Plus 訂閱是兩套獨立帳務,Plus 會員不代表有 API 額度)。登入後:
- 左側選單找 Billing,先儲值最低金額 5 美元。API 是預付制,沒儲值的帳號呼叫會直接報錯,這是新手第一坑。
- 到 API keys 頁面,點「Create new secret key」,取個名字(例如
n8n-lesson4)。 - key 只會完整顯示這一次,立刻複製起來。關掉視窗後就再也看不到全文,忘了就只能重發一把。
想用 Claude 的話,到 console.anthropic.com,一樣是 Billing 儲值 → API Keys 建立,key 開頭是 sk-ant-。兩邊都申請也行,這堂課的流程兩種模型都能跑。
把 key 存進 n8n credentials
打開你的 n8n,左側選單點 Credentials →「Add credential」→ 搜尋「OpenAI」→ 選 OpenAI API。把剛剛複製的 key 貼進 API Key 欄位,取個名字,按 Save。n8n 會立刻打一個測試請求驗證——看到綠色勾勾才算成功。
貼的時候注意兩件事:前後不要多空白(從瀏覽器複製常夾帶),以及貼完整(key 很長,別只複製到一半)。驗證失敗的錯誤處理在「常見坑」有完整對照。
Anthropic 同理:Add credential → 搜尋「Anthropic」→ 貼 key → Save。從此以後,任何節點要用 AI,都是從下拉選單選這組憑證,key 本身再也不用出現。
搭流程骨架:讀留言 → AI → 分流 → 寫回
建一條新 workflow,節點依序是:
- Manual Trigger(先手動跑,好測試;之後可換成 Schedule 定時跑,或第 6 課的 Webhook 即時觸發)
- Google Sheets 節點:操作選「Get Row(s)」,讀取留言表。表格開三個欄位:
comment(留言內容)、sentiment、category(後兩欄留空,等 AI 填)。 - OpenAI 節點:resource 選「Text」、operation 選「Message a Model」,模型選 gpt-4o-mini(分類任務用便宜的小模型就夠,別急著上旗艦)。
- Switch 節點:依 AI 回傳的 sentiment 分三路。
- 三路的出口:Google Sheets(Update Row) 把標籤寫回;負面那一路多接一個 Gmail 節點寄通知(第 2 課設定過 Gmail,憑證可以直接沿用)。

還沒真實資料也能練:用一個 Set 節點取代 Google Sheets,手動塞幾則假留言(一則稱讚、一則問價、一則抱怨),先把 AI 和分流的部分跑通。
寫 prompt:這是整堂課最值錢的一段
點開 OpenAI 節點。在 System Message(有的版本叫 System Prompt,在 Options 裡加)貼上角色設定:
你是客服留言分類器。你只做一件事:分析客戶留言,回傳 JSON。
只回傳 JSON 本體,不要 markdown 標記、不要任何解釋文字。
在 User Message(訊息內容)貼上任務指示,注意最後一行用了 n8n 的表達式,把上游傳來的留言塞進 prompt:
分析下面這則客戶留言,依照固定格式輸出。
輸出格式(欄位與允許值都固定,不可自創):
{
"sentiment": "positive" 或 "neutral" 或 "negative",
"category": "產品問題" 或 "出貨物流" 或 "退換貨" 或 "價格詢問" 或 "稱讚回饋" 或 "其他",
"urgent": true 或 false,
"summary": "30 字以內的繁體中文一句話摘要"
}
判斷規則:
- 提到「還沒收到」「壞掉」「退錢」且語氣不滿 → urgent 設 true
- 純詢問、沒有情緒 → sentiment 設 neutral
- 分不進前五類的一律設「其他」,不要發明新類別
客戶留言:
{{ $json.comment }}
{{ $json.comment }} 就是 n8n 的變數寫法:執行時會被替換成上游節點該筆資料的 comment 欄位。實務上不用手打——把左側輸入面板裡的欄位直接拖進輸入框,n8n 會自動生成正確的表達式,欄位路徑絕對不會拼錯。
最後兩個關鍵設定:在節點的 Options 裡把 Sampling Temperature 設為 0.2(鐵律二);再把 Output Content as JSON 這類選項打開(不同版本名稱略有差異,意思都是「把回覆解析成 JSON 物件」),這樣下游節點就能直接用 sentiment 這種欄位,不用自己拆字串。
設定 Switch 分流與寫回
先按一次「Execute step」單跑 OpenAI 節點,看右側輸出——你應該看到解析好的 JSON,sentiment、category 都是獨立欄位。這步驗證過再往下接,是 n8n 的黃金習慣:每加一個節點就單跑一次,不要整條接完才除錯。
Switch 節點裡建三條 routing 規則,比對的值從左側輸入面板把 sentiment 欄位拖進來(它會生成類似 {{ $json.message.content.sentiment }} 的表達式,實際路徑以你看到的輸出結構為準):
- 等於
negative→ 輸出 0 - 等於
neutral→ 輸出 1 - 等於
positive→ 輸出 2
三路各接一個 Google Sheets「Update Row」節點,把 sentiment、category、summary 寫回對應欄位。負面那一路(輸出 0)在寫回之後再接 Gmail 節點,信件主旨可以寫 【負評警報】{{ $json.message.content.summary }},內文附原始留言。這樣你手機收到信的當下,就知道該優先處理誰。
按下 Execute Workflow 整條跑一次:表格的空欄位被填上標籤、抱怨留言觸發了通知信——你的第一條「會思考的流程」上線了。
試算 token 成本:先算再上線
很多人不敢把 AI 排進每天自動跑的流程,怕帳單失控。實際算一次你就放心了。token 是模型計費的單位,中文大約 1 個字 = 1~2 tokens。我們這條流程一次呼叫:prompt 全文(系統訊息+指示+留言)約 400 tokens 輸入,JSON 回覆約 80 tokens 輸出。以 2026 年 7 月的官方牌價:

| 模型 | 輸入價(每百萬 tokens) | 輸出價(每百萬 tokens) | 1,000 則留言/月 |
|---|---|---|---|
| GPT-4o mini | $0.15 | $0.60 | 約 $0.11(台幣 4 元) |
| Claude Haiku 4.5 | $1 | $5 | 約 $0.80(台幣 26 元) |
| Claude Sonnet 4.6 | $3 | $15 | 約 $2.40(台幣 78 元) |
看到了嗎——一個月一千則留言,用小模型的成本是一杯手搖飲的零頭。真正會讓帳單爆炸的是三種情況:用旗艦模型做簡單分類(殺雞用牛刀)、prompt 塞了不必要的長文(每次呼叫都重複付錢)、流程寫壞了無限迴圈狂打 API。前兩個你已經會避了,第三個記得在 OpenAI 後台的 Billing 設 usage limit(用量上限),超過自動停,給自己上一道保險。
順帶把平台費也算清楚:這條流程 5 個節點,在 n8n 跑 1,000 次就是 1,000 executions(一次執行不管幾步都算 1 次),自架版免費、Cloud Starter 額度內也綽綽有餘。同樣的流程在 Make 是每步都算,1,000 次 × 5 步 = 5,000 credits,免費方案的 1,000 credits 一下就穿了。AI 流程通常步驟多、跑得勤,這就是第 1 課說「複雜流程選 n8n」的原因。
常見坑
坑 1:401 - Incorrect API key provided
呼叫直接被拒,訊息通常長這樣:Incorrect API key provided: sk-proj-***. You can find your API key at https://platform.openai.com/account/api-keys。三個嫌疑犯照順序查:(1) key 複製不完整或前後夾了空白——回 credentials 重貼一次;(2) key 已經被你在後台刪除(revoke)過——重發一把新的;(3) 貼成別家的 key,例如把 sk-ant- 開頭的 Anthropic key 貼進 OpenAI 憑證。改完記得按 Save 讓 n8n 重新驗證。
坑 2:429 - You exceeded your current quota, please check your plan and billing details
這個錯誤最坑新手,因為它不是「你打太快」,而是「帳戶沒錢」。OpenAI API 是預付制,沒儲值的新帳號 quota 是 0,第一次呼叫就會撞這面牆。解法:到 platform.openai.com 的 Billing 儲值 5 美元,幾分鐘後再跑。如果你確定有餘額還看到 429,那才是真的觸發速率限制(rate limit)——n8n 的節點設定裡有 Retry On Fail 選項,打開並設個間隔即可。
坑 3:AI 回傳的 JSON 外面包了一層 ```json 圍欄,下游解析爆掉
症狀:Switch 節點比對不到 sentiment,點開 AI 節點輸出一看,回覆是一坨字串,開頭是 ```json、結尾是 ```——模型「好心」幫你加了 markdown 格式,下游的 JSON 解析直接失敗。三層防禦:(1) system prompt 明講「不要 markdown 標記」(我們的範例寫了);(2) 打開節點的 Output Content as JSON / JSON output 選項,讓 n8n 或模型端強制結構化輸出;(3) 都不行就在 AI 節點後面加一個 Code 節點把圍欄剝掉再解析。做到前兩層,這個問題基本絕跡。
坑 4:分類結果「飄」——同一則留言今天 negative 明天 neutral,或欄位值自創
症狀:sentiment 偶爾冒出 很負面、還好啦 這種枚舉外的值,Switch 三條規則都接不到,資料就默默掉進「未匹配」死路。兩個原因、兩個解法:溫度太高 → 檢查 Sampling Temperature 是不是忘了調,分類任務就是 0~0.2;prompt 沒把枚舉鎖死 → 補上「不可自創」「分不進去一律設『其他』」這種兜底規則,並在 Switch 加一條 Fallback 輸出接住漏網之魚,寧可進「待人工」也不要憑空消失。
坑 5:把 key 寫死在 HTTP Request 節點,匯出流程時外洩
有些教學會教你用 HTTP Request 節點直接打 OpenAI 的 API、把 Authorization: Bearer sk-... 寫在 header 裡。能跑,但這把 key 就成了 workflow JSON 的一部分——匯出檔案、貼到論壇問問題、commit 進 git,key 就外洩了,而掃 key 的機器人比你想像的勤勞。正確做法:一律用官方 OpenAI / Anthropic 節點配 credentials;真的必須用 HTTP Request(打冷門 API 時),也要用「Generic Credential → Header Auth」把 key 收進憑證系統,header 裡只留引用。萬一已經洩了,順序是先去官方後台 revoke 換新 key,再清理檔案——光刪檔案沒用,舊 key 還活著。
作業
- 完整走一遍實戰流程:申請 key(儲值最低額度就好)→ 建 credentials → 搭出留言分類流程,用至少 10 則真假混合的留言測試,檢查標籤是否合理。
- 改 prompt 實驗:把
category的枚舉換成你自己情境的類別(例如你是接案設計師,類別可以是「報價詢問、修改需求、催件、其他」),跑同一批留言看分類變化。這是在練「把業務邏輯翻譯成 prompt」的手感。 - 成本驗證:跑完 20 則之後,到 OpenAI 後台的 Usage 頁看實際消耗的 token 數和金額,跟課文的估算對一下。親眼看過數字,你對 AI 成本的恐懼會直接消失。
- 檢查題:打開你的 workflow,按匯出(Download),用文字編輯器打開 JSON 檔,搜尋
sk-——應該一無所獲。找得到,就回去看坑 5。
下一課預告
你現在手上有完整的積木了:會搬資料(第 2、3 課)、會讓 AI 做判斷(這一課)。第 5 課我們不學新工具,改用三個真實案例把積木組出完整作品:每天早上自動寄到信箱的「新聞摘要信」、表單進來自動分派給對的人的「表單分流」、寫一次貼文自動排程到多平台的「社群排程」。每個案例都是照抄就能用的等級——做完那一課,你會真正意識到自己每週白花掉多少小時。