iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0

昨天把兩個 skill 擺在一起對照,講完了「同一套骨架換內容」。今天是最後一篇,我不再拆新的檔案,想回頭看這 30 天:當初的兩個問題解掉了沒,做完之後我自己歸納出什麼,還有哪些地方是我老實覺得沒做好的。

當初的兩個問題

Day 1 我丟出兩個問題。一個是連結存了就忘,另一個是專案做完沒人知道。

第一個問題,答案是 line-notion-bot。我在 LINE 丟一個網址,它抓內文、請 AI 分類加標籤加摘要,寫進 Notion。重點不在「存起來」,LINE 本來就能收藏連結,重點是存的時候留下了摘要,未來的我才有線索判斷為什麼要存、值不值得回頭讀。

第二個問題,答案是 IG。不過做著做著,我把題目換了。一開始想的是宣傳自己的專案,這就是 ig-carousel-publisher;後來又做了 kid-english-ig-carousel,給國小生看的英文辨析。像 Day 18 那篇「How are you 不是只能回 I'm fine」,是我追美劇追到一半冒出來的疑問,整理成 10 張圖卡發出去。這種事以前我知道「應該整理一下」,但從來沒有走到發布那一步,現在流程是通的。

兩個專案,同一個想法

line-notion-bot 是一支 Cloudflare Worker,kid-english-ig-carousel 是一個 Skill,看起來八竿子打不著。但我回頭整理,發現兩邊卡住我的問題其實是同一類:AI 負責的那一段,前後都要有規則包住。

Bot 這邊,Day 17 講過。整支程式只有 classify 裡面呼叫一次模型,前面是我先決定它看到多少內容、看到哪些既有標籤,後面是 CATEGORIES.includes(...) 這類檢查,分類不在七個之內就改成「生活其他」。模型說什麼,我都不直接信。

Skill 這邊,是同一件事換了形式。AI 負責寫 deck.json 的內容,程式負責排版、上傳、發布。內容是資料不是指令,進模板前每個欄位都過 html.escape()。發布是不可逆的,所以前面放了兩道閘門,一道是我在對話裡說「發」,一道是在腳本裡打 PUBLISH。

所以如果有人問我,做了 30 天,最大的收穫是什麼,我會說:用 AI 做東西,花最多力氣的不是叫 AI 做事,而是決定哪些事不給它做,還有它做完之後怎麼收口。模型呼叫本身,在兩邊都是最短的一段。

免費這件事

Day 4 我選了全免費的組合。30 天走下來,我沒有後悔,但也不想講得太漂亮:免費是真的,代價也是真的。

免費模型會無預警下架,所以有 Day 12 的三層 fallback。免費模型會不照格式輸出,所以有 Day 10 的三層 JSON 解析,失敗時還把 AI 原始回應的前 300 字塞進錯誤訊息。Jina Reader 沒有 Key 的時候,額度是跟全世界共用出口 IP。這些都是撞到了才補的。

我覺得全免費對一個只服務自己的小工具是划算的,但前提是你接受自己要多寫一層保護。這筆帳不是省下來,是從錢換成了時間。

做得不好的地方

這個系列我一直想誠實講,最後一篇我把散在各天的缺口集中列一次。

  • 重複網址的查重,在 AI 分類之後才做。同一個網址傳第二次,還是會先花一次模型呼叫,Day 17 提過。把查重搬到 classify 前面就能省掉,我還沒動。
  • parseCommand 沒有轉小寫,「Todo」不會被認成指令,但搜尋那邊有轉,兩邊不一致。
  • Bot 整份程式沒有自動化測試,改完只能自己手動傳訊息確認。
  • LINE 圖文選單是在後台手動設的,不在版控裡,改指令關鍵字時選單不會跟著變。
  • upload_images.py --cleanup 的前綴吃的是執行當天的日期,隔天才清會刪到 0 個。
  • publish_ig.py 如果發布成功但取 permalink 失敗,貼文在、紀錄沒寫回 deck.json。
  • 兩個 skill 是整個資料夾複製,修一個毛病要修兩次。我打算做到第三個的時候把那六支腳本抽成共用,現在還沒做。

有幾條是寫文章、翻程式碼對照的時候才注意到的。我覺得全部列出來,比假裝沒問題有用,下次回來改,至少知道從哪裡下手。

如果你也想做一個

不必照我的技術選型走,我自己覺得值得帶走的只有三件事。

第一,先分清楚哪些事有標準答案,哪些沒有。有的用規則寫死,沒有的才交給 AI,而且 AI 的輸出要先過你的檢查才能往下。

第二,中間放一份固定格式的接口。Bot 的接口是那組 title、category、tags、summary,Skill 的接口是 deck.json。接口之後的東西,不用知道上游換成了什麼。

第三,做了就收不回來的事,前面多放一道關。這個多半只花你多打幾個字,但它擋的是發錯文那一次。

收尾

30 天寫完了。每天把程式碼翻出來對照著寫,有幾個地方是寫到才注意到缺口,所以這個系列對我來說,一半是分享,一半是替自己把兩個專案做了一次盤點。

謝謝一路讀到這裡的你。如果你也有想自動化的小麻煩,不管是存連結還是發貼文,歡迎從最小的一個流程開始做。


上一篇
Day 29|同一骨架換內容:對照 ig-carousel-publisher,看規範如何複用
系列文
用 LINE Bot 和 Agent Skill 自動化整理筆記與 IG 發文 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言