iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
生成式 AI

學都學了:GenAI 從試錯到實用的實驗筆記系列 第 12

Day 12 懶得寫信,名單更新後,信件也躺好在草稿

  • 分享至 

  • xImage
  •  

今日主題

今日先回頭寫n8n,剛好今天手上研究案,需要重複寄送給中獎者,於是回頭把之前預設的流程實際執行一次。如果沒問題,一個工作流可同時適用不同專案,只要名單更新 = 大量完成 Gmail 草稿。

原以為流程夠簡單,不會有什麼雷坑,但還是踩到了XD,並紀錄在最後「遇到的挑戰」,提醒自己可以優化的地方,以及果然雷坑都在最小的細節裡。

為什麼想做

  • 遇到大量寄信時,不要人工作業,希望把「原始名單」到「信件寄出」都不用假我手
  • 但正式寄出去如果錯了就悲劇,所以流程是設定為「原始名單」到「自動寫好草稿」
  • 草稿要包括所有欄位都已完成:收件者、標題、內容,甚至夾帶檔案,寄出前人類是最後驗收的甲方
  • 以後遇大量 Email,有現成模板直接使用,不用每次刻一個

怎麼做

流程目標:當 google Sheet 有名單更新時,自動寫好一封完整草稿信
使用工具:

  • Google Sheets
  • n8n

基本流程
https://ithelp.ithome.com.tw/upload/images/20250926/20178815RJLLzeps9M.jpg

  • Google Sheets Trigger

    • 設定為 anyUpdate = 只要試算表有更新 = 自動啟動 Workflow
    • 今天工作例子是 20 筆資料。
  • Edit Fields

    • Google Sheets 拉出來需要的欄位資料整理成想要的格式
    • 例如欄位改名、抽出需要的資訊
    • 處理完之後一樣還是 20 筆
    • 有這步資料輸出到下一個節點會相對單純一點,但若是沒設定,另一個方式應該也可直接在 system message 設定好抓取欄位
  • AI Agent

    • OpenAI Chat Model,讓每一筆資料經過處理 = 產生信件內容
    • 這步大概就最重要步驟,Google Sheets 只是資料,但「草稿文字」需要 Agent
  • Create a draft in Gmail

    • 不是直接設定在 Agent 之後的節點,是直接設定 Agent Tool

成果驗收

  • 預期完成度:99% (1% 差在重複尚須排除)
  • 正確率:100%
  • 20封信件:抓取資料到完成草稿 2m 23.261s
    https://ithelp.ithome.com.tw/upload/images/20250926/20178815aoZ1Fdd1Gv.jpg

今日總結

我做了什麼

  • 設定工作流
  • 準備一份之後都可重複使用的 google Sheet

工具幫我最多的地方

  • n8n 前:如果需要帶“變數”,是設定好欄位,字串組合形成完整的內容,最後 copy and paste 到信件寄出。
  • n8n後:
    • 工作流:最明顯的就是不用再copy and paste = 草稿一次性完成
    • 其次:現在第一封信件內容也不是自己寫
    • 加乘後:可以兩分半完成
    • 最後,是心理上:盯著介面看到草稿刷一排出現,說不出的療癒XD
      https://ithelp.ithome.com.tw/upload/images/20250926/201788153q3OFYmFoq.jpg

遇到的挑戰

  • AI Agent System message 穩定性:
    • 狀況:在 System message 提供我需要的內容風格或需求後,品質都不差,但如果只是想輕度優化,直接在System message 補充,下一版反而改掉了原本覺得不錯的文案或格式。
    • 解法:第一版信件微調後,在 System message 指定內容後,比起補充說明來的穩定
  • AI Agent 重複呼叫
    • 狀況:只有 20 items 輸入 → 草稿超過20封,有部分信件重複寫,且每次重複數不等
    • 原因: GPT 是解釋 AI Agent 在節點內啟用 Create a draft in Gmail tool,會自己決定何時、重複幾次呼叫工具。結果就是:一筆輸入,有時被 Agent 視為需要多次執行工具(或重試),典型「Agent fan-out」。
      • Agent fan-out:Agent 不是單純地把輸入轉輸出,是 「思考 → 呼叫工具 → 再思考 → 再呼叫工具」。每一次呼叫工具,都會產生一個新item。所以如果 Agent 決定多試幾次,或同一筆資料重複觸發工具,會導致輸出 item 比輸入 item 還多。
    • GPT給我的解法:拆分節點
      • 寄信用「獨立 Gmail 節點」,不要透過 Agent
      • 在 Gmail 前加一個 Item Lists → Remove Duplicates(或 Merge 節點的 Remove Duplicates),key 選「信箱」。
    • 我自己選的解法:不想增加節點複雜度,改用關鍵字在 system message 說明,這次版本多補上一句:
工作流程:以「信箱」作為唯一鍵。每個信箱在本次 workflow 執行期間,只能建立一次草稿。
  • 結果是:沒成功XD 重複數量雖然變少了,只有重複一封信,但這次因為只有20封,相對人工好處理,但若是上百封,解法顯然就是失敗的,所以打蓋就是真的要設定節點排除重複,比較科學(吧?

上一篇 n8n 主題:Day 5 自動化收集&分析摘要:老派題目,但是真的需要一個,使用 n8n


上一篇
Day 11 Projects Hub 1.0 & 開始記錄迭代版本
下一篇
Day 13 解決昨天的雷坑:AI Agent Fan Out 與去重機制優化
系列文
學都學了:GenAI 從試錯到實用的實驗筆記16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言