iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
Vibe Coding

CDD 抱怨驅動開發:30 天 Vibe Coding 家庭生活改造系列 第 28 篇

C013 Closed:讓 AI 操作 n8n 建立自動化流程,自動蒐集 LINE 群組相片

  • 分享至 

  • xImage
  •  

Day28:人類不要成為 AI 的「Agent」

承接前一天的內容,我們提到這次打算用 n8n 來拉流程
在往下解釋各條流程做了什麼之前
先放一下最後做出來的樣子

如果你覺得這看起來節點有點多、有點複雜
那...你一定是正常人(蓋章

不過,這麼多個節點和流程
如果都用一般的 對話式 AI 來協助建立
你可能就會發現

人類反而成了 AI 的代理人?

你會需要反覆替 AI 傳遞資料、測試、回報
對話裡塞滿各種流程和錯誤訊息
來回久了,AI 還可能開始搞不清楚狀況


你以為的 AI vs 實際的 AI

那如果我們不想成為 AI 的 agent(代理人)
可以怎麼做呢?

所幸,n8n 也提供了 MCP 的連接方式

直接讓 AI 動手操作

MCP 的全名是 Model Context Protocol
可以把它想成 AI 和外部工具之間共通的溝通方式
讓 AI 透過工具提供的功能,讀取資料、執行操作,再取得結果

而以這次的 n8n 來說
只要接上 MCP 並完成授權後
就能讓 Codex/Claude 讀取流程、建立節點、修改設定等
同時也能讓它自主執行測試,自己根據結果來調整

這樣一來
就不用每改一個地方,都由人類把結果複製回去

接好之後,可以先請 AI 確認有沒有連上 n8n
試著讀取現有的流程,看看能不能取得內容
確認能讀到,再請它依照討論好的需求建立流程

後面需要調整的時候
也可以讓它直接查看流程和執行結果,再繼續修改
就少了很多人在中間來回搬資料的工作

最後建出了哪些流程?

這次把工作拆成四條流程
分別負責收件、狀態控制、傳送和巡邏

收件:接住 LINE 傳來的事件

第一條是入口,先確認傳來的內容確實來自 LINE
把事件記進資料庫後,就先回覆 LINE 已收到

因為下載和上傳照片可能要花一些時間
所以這裡先把事情記下來,交給後面的流程處理
不用讓 LINE 一直等到整張照片搬完

狀態:處理群組的開始與停止

這條流程判斷誰可以操作,以及群組目前要不要收照片
收到 start、stop 或查詢狀態的指令時
就更新狀態、回覆訊息,並在需要時建立對應的相簿

把這些控制都集中在一起
這樣後面搬照片時,就能依照記錄好的群組狀態和相簿來處理

傳送:把照片和影片送進 Immich

這條流程就是實際搬檔案的部分了
把排好的任務一件一件拿出來

  • 從 LINE 下載照片或影片
  • 再上傳到 Immich
  • 放進對應的相簿

每做完一步,就記下目前的進度
這樣需要重試時,才知道上次做到哪裡
也比較能避免同一份媒體被重複處理

巡邏:定期檢查

如果訊息一時湧入,還有工作沒處理完
也需要有一條流程,定期檢查、叫前面的流程繼續跑

像是群組加入後一直沒有啟用、使用者被取消權限等狀況
以及搬完檔案後留下的暫存,也都交給這裡定期處理

從 CDD / Vibe Coding 的角度來看,這次的價值在於?

工具的價值

從使用者,也就是群組裡其他人的角度來說
希望大家照原本的習慣傳照片就好
需要找回照片時,可以透過相簿連結去找
盡量無感,也盡量減少找回照片要花的力氣

工具的成本

雖然這次 Vibe Coding 的流程看起來複雜了蠻多
不過因為有既有的工具和框架可以輔助
建立流程的部分,交給 Codex 自主開發、測試和調整
其實也沒有花很久就完成了!

工具的極限

當然,AI 雖然能透過 MCP 操作 n8n,幫我們把東西做出來
但怎樣的使用體驗才算完整
還是要我們自己實際用過,這部分它沒辦法代替我們感受

結語

這次作為這個系列最後的 Vibe Coding 案例
流程稍微大了一些,也是因為前面那些東西都盡可能涵蓋各種不同的場景和思路
所以想說再給點不同的情境分享給大家

希望能讓看到這邊的人可以感受到 Vibe Coding 的可能性
不只是在於「做出來的東西」,還在於「實現的方式」都是很自由的

那明天的話,我就會開始整理一下我們這個系列的內容
以及重新回來著重一下我們系列主題的「抱怨驅動開發」這個部分的一些心法思路整理
還請期待&感謝支持~


上一篇
C013 In Progress:用 n8n 操控 LINE bot 在群組中蒐集照片
下一篇
CDD 抱怨驅動開發使用手冊 & Vibe Coding 心法整理
系列文
CDD 抱怨驅動開發:30 天 Vibe Coding 家庭生活改造 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言