Coolkid mascot CoolkidLab Build in Public. Level up together.
首頁新手教學SEO 歷程開源工具庫陪跑服務關於

Workflow · 內容生產機器人

AI / 股市新聞 IG 自動發文機器人:事件驅動 + 兩階 LLM + 自動生圖

閱讀

內容生產機器人

IG 比 Threads 麻煩,必須有圖才能發。但真正難的不是生圖,是「什麼新聞值得發」。如果寫死每天 18:00 發一則,沒大事的日子就會硬擠一則不重要的出來,久了讀者只覺得吵。所以這個機器人不是定時硬發,是每 30 分鐘掃一次,只有夠重要的新聞才會變成貼文。

開源工具 · 可直接安裝

github.com/Coolkidlab-Yin/ig-news-bot

/plugin marketplace add Coolkidlab-Yin/Coolkidlab
/plugin install ig-news-bot@coolkidlab

在 Claude Code 輸入上面兩行即可安裝。裝完直接說你想做什麼,AI 會照 skill 的 SOP 帶你建;原始碼與 README 都在 GitHub。

摘要

監測 AI / 台股 / 美股 RSS,用 Claude Haiku 評重要性、Opus 用我口吻寫稿、Pillow 生圖、自動發 IG。Windows 工作排程每 30 分鐘事件驅動。核心是「兩階 LLM」 — 便宜小模型過濾沒新意的、貴模型才寫稿,成本降到全程用 Opus 的 1/10。已穩定跑 3 個月。

卡點:IG 要圖 + 「定時硬發」會發出一堆垃圾

IG 演算法明確偏好圖文,純文字觸及超差。手動做圖加配文,一篇要 45 分鐘。

但更難的是「該發什麼」。

定時排程最大的問題是:沒新聞的日子它還是會發。為了填那個時段,就會挑一則其實沒人在乎的新聞硬寫成貼文。

發久了帳號就變雜訊。我要的是有大事才發,沒大事就安靜。

解法:六段 pipeline + 兩階 LLM 分工

整條流程是:抓新聞 → 評重要性 → 去重 → 寫稿 → 生圖 → 發文。

關鍵在中間用兩個不同等級的 Claude 分工。

先用便宜的 Haiku 幫每一則新聞評重要性分數,量大,一次掃 30 則。

只有過門檻的才交給貴的 Opus,用我的 voice 寫成貼文。

便宜模型做篩選、貴模型做精工,錢花在刀口上,而不是每則都用最貴的硬幹。

# pipeline 主流程(精簡自 main.py):
# collect → 評分(便宜模型) → 去重 → 寫稿(貴模型) → 生圖 → 發
items = collect_all()                          # RSS:AI / 台股 / 美股
fresh = dedup.filter_new(items, posted_keys)   # 去掉發過的

# 第一階:用便宜的 Haiku 幫每則評重要性(限 30 則 避免燒 token)
scored = [(it, importance_scorer.score(it)) for it in fresh[:30]]
chosen = pick_by_category(scored)   # 分桶+配額:AI 最多 2 則 股市各取最高分(防洗版)

for item, sc in chosen:
    caption = writer.write_caption(item, sc)   # 第二階:Opus 用我的 voice 寫稿
    img = image_gen.render(item, sc)           # Pillow 生 1080x1080 圖
    if dry_run:                                # dry-run:存 logs/preview 先看 不發
        continue
    url = imgbb.upload(img)                     # IG 只收公開 URL → 先上 imgbb 圖床
    ig.post(url, caption)                       # 再發 IG

怎麼決定發哪幾則(配額 + 防洗版)

評完分數後分桶:AI 類達門檻的全發,但同一次最多 2 則,避免洗版。

台股、美股各取分數最高的幾則,當天保底,但同類已經發過就跳過。

這套規則是用程式寫死的,不靠我每天臨場判斷。

結果可控:不會某天突然暴發 10 則,也不會真正的大新聞被漏掉。

自動化的重點不是全交給 AI,是把我的判斷標準寫成規則,讓它替我穩定執行。

IG 發圖的真實坑:它只收「公開 URL」不收本機檔

這段卡最久。IG 發圖不吃你本機的圖檔,它要一個公開可以連到的圖片網址。

所以流程是先在本機用 Pillow 生圖,上傳到圖床拿到網址,再把網址丟給 IG 發。

第一次不知道,直接傳本機路徑,怎麼試都失敗,查半天才發現是這個設計。

另外金鑰跟所有 Meta 的服務一樣會過期,要排定期更換,不然某天就靜默不發。

dry-run + 誠實揭露

自動發文最怕發出去才發現寫爛或圖醜。

所以有 `--dry-run`:照跑抓新聞、評分、寫稿、生圖,但不發。圖存在 logs/preview/、稿存成草稿檔,我先看過再開真發。

還有每篇貼文自動帶一句「此貼文由 AI 自動產出,作為我自己的資訊蒐集與觀點記錄」。

不假裝是純人工,跟我在自我介紹頁、SEO 連載講的誠實是同一條。

整段複製給 AI agent,你就有這個 workflow

把下面整段複製貼給你的 AI agent(Claude Code 或同類),它就能照著幫你把這個「AI / 股市新聞自動發 IG 的事件驅動機器人」一步步建起來,你不用自己從零摸。

我要你幫我做一個「AI / 股市新聞自動發 IG」的機器人,設計成事件驅動(每 30 分鐘掃一次,只有夠重要的新聞才發,沒大事就安靜),而不是定時硬發。請用 Python,做成六段 pipeline:collectors(抓 RSS,來源分 AI、台股、美股三類)、importance_scorer(評每則新聞的重要性分數)、dedup(去掉發過的)、writer(寫貼文文案)、image_gen(用 Pillow 生 1080x1080 的圖,放標題、分數、logo)、publisher(發到 IG)。

評分跟寫稿請用兩階 LLM 分工省 token:第一階用便宜的 Claude Haiku 一次掃最多 30 則、幫每則評重要性分數;只有超過閾值的,才交給較貴的 Claude Opus 用我的口吻寫成貼文。便宜模型做篩選、貴模型做精工,不要每則都用最貴的模型硬幹。

選發哪幾則請用程式寫死規則,不要每次臨場判斷:AI 類達閾值的同一次最多發 2 則防洗版,台股、美股各取分數最高的幾則,同類當天已發過就跳過。

請特別避開這幾個我知道的雷:第一,IG Graph API 不吃本機圖檔,它只收一個可公開存取的圖片網址,所以流程一定是 Pillow 本機生圖、先上傳到 imgbb 之類的圖床拿到公開網址、再把那個網址丟給 IG 發,千萬別直接傳本機路徑;第二,Meta 的 token 會過期而且過期後會靜默不發,請幫我排好 token refresh 並在失敗時記錄,不要無聲無息;第三,去重要可靠(例如把發過的 key 記在 jsonl),避免重複發同一則。

請務必做一個 dry-run 模式:照跑抓新聞、評分、寫稿、生圖,但不真的發,圖存到 logs/preview、文案存成草稿檔讓我先看過再開真發。另外每篇貼文結尾自動帶一句說明這是由 AI 自動產出、作為我自己的資訊蒐集與觀點記錄的揭露語,不要假裝是純人工。發文部分只做工具本身,不要在文案裡寫任何買賣結論或操作建議。

排程我預計用 Windows 工作排程每 30 分鐘跑一次。請先確認我目前的環境(作業系統、Python 版本、有沒有 IG 商業帳號跟 Graph API 權限、有沒有 Claude API key、要不要 imgbb key),再一步步建,每完成一步先停下來跟我確認再繼續。

把上面整段複製貼給 agent 就好,它會問你環境跟金鑰細節再動手實作,你只要回答、卡住時補上你的設定資訊就行。

完整 SOP 清單

上面已經把事件驅動架構、兩階 LLM 省 token 設計、IG 發圖要圖床的坑都寫出來了。下面是完整元件對照 確認沒漏掉哪塊:

看完這篇之前先確認:

適合你
  • 想做 IG 自動內容但不想全程用昂貴 model 燒錢
  • 想學「小模型過濾 + 大模型寫稿」的省錢設計
  • 願意自己 review 圖再發 (有 dry-run 機制)
不適合
  • 還沒做過 thread 機器人的人 (先去那篇從簡單版開始)
  • 完全不在意 IG 流量純粹好玩
  • 想完全不 review 直接全自動發 (圖會翻車)
最常踩
  • 全程用 Opus 一個月燒上千美 — 一定要拆兩階 LLM
  • 沒人工 review 直接發 IG 翻車案例:AI 寫錯名字、生圖糊掉、敏感字眼
  • 圖片生成尺寸沒對 IG 1:1 square,發出去被裁掉重點

▸ 常見問題

兩階 LLM 拆分為什麼省錢?

Claude Haiku 一次 input 約 $0.0008、Opus 約 $0.015 (差 20 倍)。一天 100 則新聞先丟 Haiku 評分過濾掉 90 則,只剩 10 則丟 Opus 寫稿,總成本是「100×Haiku + 10×Opus」遠低於「100×Opus」。月省約 $50-80。

一定要用 Pillow 生圖嗎?用 Canva 不行?

Pillow 是程式自動 render,跑 cron 沒人介入。Canva 要人手動拖,沒法接 workflow。如果你只發少量、可以接受手動,Canva 也行;但這個 workflow 重點是「自動」就用 Pillow。

dry-run 機制是什麼?

把整套流程跑完但最後一步「發 IG」改成「寫進 log 加上預覽圖」。我每天 1 次 dry-run 看 AI 寫了什麼、生了什麼圖,確認沒翻車再讓它跑正式版。新手前 2 週建議全 dry-run。

發 IG 要 IG 商業帳號嗎?

要。IG Graph API 只能用商業帳號或創作者帳號 (個人帳號不支援)。免費轉換,但需要綁 Facebook page。如果你 IG 是個人帳號要先去設定切換成商業帳號,5 分鐘搞定。

名詞解釋

大型語言模型(LLM, Large Language Model)
ChatGPT、Claude 這類 AI 背後的技術:讀過海量文字後,學會理解與生成人類語言的模型。
排程(cron)
讓程式「每天 8 點」「每小時」自動執行的定時器。自動發文、定期抓資料都靠它。
API(應用程式介面)
程式跟程式之間溝通的窗口。例如你的程式透過 LINE 的 API 自動發訊息、透過 Google 的 API 讀試算表。
API 金鑰(API key)
服務發給你的一串密碼,程式用它證明「我有權限使用這個服務」。絕對不能公開、不能寫死在程式碼裡。
機器人(bot)
自動執行特定任務的程式,例如 LINE 機器人自動回訊息、發文機器人每天定時發貼文。
Opus / Sonnet / Haiku(Claude 的三種等級)
同一家 AI 的三種型號:Opus 最聰明也最貴、Haiku 最快最便宜、Sonnet 在中間。量大又簡單的工作丟 Haiku,需要品質的才用 Opus,成本差很多。
Pillow
Python 的圖片處理套件:程式用它畫圖、加字、裁切、存檔。自動生圖卡常用它。
圖床
專門放圖片並提供公開網址的服務。有些平台的發文介面只收「網路上的圖片網址」不收本機檔案,就得先把圖丟上圖床。
RSS(網站更新訂閱)
網站提供的一份機器讀的更新清單,程式訂閱之後就能自動知道有新文章,不用一直去開網頁看。
DRY_RUN(模擬模式)
程式照真實邏輯執行、但不送出真實交易單的測試模式。本站所有交易相關數字一律標 DRY_RUN,不是實盤績效。
token(字元計費單位)
AI 讀寫文字的計量單位,一個中文字約 1-2 個 token。訂閱方案的用量限制、API 的計費都是按 token 算,所以「講重點、少貼無關內容」直接等於省錢。

不想錯過 Lab 的新文章?
訂閱後有新文章上線,就寄信通知你,
點有興趣的進來看就好。

填 email 就完成訂閱(信由 Substack 代寄)、隨時取消、不轉賣 email。

如果內容對你有用就太好了
隨喜斗內

Buy Me a Coffee at ko-fi.com

相關 workflow

← 回開源工具庫

⚠ 本站所有內容僅供教育與研究用途,不構成投資建議,不保證任何獲利。投資有風險,使用者須自行判斷並承擔結果。