iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI 自動化

用 LINE Bot 和 Agent Skill 自動化整理筆記與 IG 發文系列 第 3

Day 3|IG skill 骨架:七個階段怎麼串起來,以及 deck.json 為什麼一定要有

  • 分享至 

  • xImage
  •  

昨天把 line-notion-bot 的骨架講完,今天換一條線,來聊第二個專案:kid-english-ig-carousel。這是我拿來幫小孩準備英文學習內容、自動排成 IG 輪播圖卡的工具。跟 LINE Bot 不一樣,它沒有 webhook,沒有即時互動,就是一支從頭跑到尾、跑完就結束的批次任務,骨架自然也長得不太一樣,值得單獨拉出來講。

整個流程我切成七段:先讀教材決定角色跟受眾,再讓 AI 寫腳本內容,接著把內容整理成一份 deck.json,然後做詞彙分級跟內容把關,套模板把 deck.json 轉成圖卡,丟上圖床,最後呼叫 IG API 發布、拿到 permalink 再回頭清圖床。這七步之後每一步都會拆成單獨一天講(Day 21 到 Day 29),今天只講骨架,還有中間那個看起來最不起眼、其實整條線能不能穩全靠它的東西:deck.json。

一開始我沒有這個中間格式,AI 產完文字就直接丟給排版的程式。結果三不五時出包:AI 漏欄位、字數超出模板放得下的範圍,偶爾中英文混在同一句裡沒切乾淨。排版那段程式拿到什麼就排什麼,出包了往往是最後一步才發現,然後整條要重跑一次,前面 AI 那段的時間跟額度全部白花。

deck.json 做的事情很單純:把「AI 決定內容」跟「程式決定排版」這兩件事切開。AI 只管想出角色、受眾、每一頁要講什麼,最後輸出成固定格式的 JSON,大概長這樣:

{
  "audience": "國小中年級",
  "cards": [
    {
      "title": "What's your favorite animal?",
      "body": "...",
      "vocab": ["animal", "favorite"]
    }
  ]
}

程式那邊完全不管內容怎麼想出來的,只認這份 JSON 合不合規格,合規格就照模板把每個欄位塞進版位。

這樣切開之後,中間多了一個可以停下來檢查的點。deck.json 產出來,我可以先驗證格式對不對、字數有沒有超、詞彙分級有沒有照規則來,不合格打回去重寫,不用等圖卡都排完才發現問題。這份 JSON 也是純資料,換模板、調版型的時候完全不用碰到 AI 那段,兩邊可以各自迭代,不會互相拖累。

這跟 line-notion-bot 裡「先回 200 再說」那個骨架設計,邏輯上有點像:都是把一個容易出錯、耗時的步驟,跟後面穩定確定的步驟切開,中間留一個能驗證、能重來的緩衝點。一個是為了不讓 LINE 一直重送 webhook,一個是為了不讓 AI 亂寫的東西直接搞壞排版。

七個階段跟 deck.json 先講到這,細節留到 Day 21 之後慢慢拆。明天換個話題,聊聊這整個系列選的技術棧——Cloudflare Workers、OpenRouter、Notion、Jina——這幾個服務的免費額度到底夠不夠用,還有為了全免費付出了哪些取捨。


上一篇
Day 2|先回 200 再說:line-notion-bot 的骨架設計
下一篇
Day 4|全免費選型:Cloudflare Workers、OpenRouter、Mistral、Notion、Jina 的額度與取捨
系列文
用 LINE Bot 和 Agent Skill 自動化整理筆記與 IG 發文9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言