內容行銷自動化OllamaThreads一人公司BuildInPublicLocal LLM

Content Cascade Engine:寫一篇部落格,自動變出 5 篇社群貼文

· 21 分鐘閱讀

寫部落格最痛苦的不是寫,是寫完之後

我相信大部分有在經營內容的人都遇過同樣的問題:

你花了兩小時寫了一篇技術文章。寫完的那一刻,你覺得很有成就感。

然後你想到:「啊,我還要把這篇的重點整理成 Threads 貼文。」

於是你打開 Threads,盯著空白的發文框,開始想:這篇文章的核心論點是什麼?要用什麼 hook 開頭?要切幾則?每則的角度要不同但又要連貫...

又花了一個小時。

最後你產出了 6 則內容(1 篇部落格 + 5 則社群),但花了 3 小時。其中 1/3 的時間花在「把已經寫過的東西用不同方式再講一遍」。

這不是創作,這是搬運。而搬運應該交給機器。


Content Cascade Engine:自動內容瀑布

三月底我建了一套系統叫 Content Cascade Engine

概念很簡單:你寫部落格,系統自動把它拆成社群貼文。

┌─────────────────────────────────────────────────┐
│                  Content Cascade                 │
│                                                  │
│   ┌──────────┐    ┌──────────┐    ┌──────────┐  │
│   │  Blog MD │───▶│  Ollama  │───▶│ MindThread│  │
│   │ (new post)│    │ultralab:7b│   │   API    │  │
│   └──────────┘    └──────────┘    └──────────┘  │
│        │               │               │         │
│   每天 07:00      拆成 3-5 篇      自動發布到     │
│   掃描新文章      不同角度的       @ultralab.tw    │
│                   社群短文         Threads 帳號    │
│                                                  │
│   成本:$0        模型:本地        人工:0 分鐘   │
└─────────────────────────────────────────────────┘

跑在 WSL2 裡,用 systemd timer 每天早上 7 點觸發。整個流程大概 45 秒跑完。


完整流程拆解

Step 1: 偵測新文章

# content-cascade.sh 核心邏輯(簡化版)

BLOG_DIR="/mnt/c/Users/User/UltraLab/content/blog"
POSTED_LOG="$HOME/.openclaw/data/cascade-posted.json"

# 找出 24 小時內新增或修改的 .md 文件
NEW_POSTS=$(find "$BLOG_DIR" -name "*.md" -newer "$POSTED_LOG" -type f)

if [ -z "$NEW_POSTS" ]; then
  echo "[cascade] No new posts found. Exiting."
  exit 0
fi

系統會比對一個 JSON log 檔案,確保每篇文章只會被 cascade 一次。修改過的舊文章不會重複發。

Step 2: 提取文章內容

讀取 Markdown 檔案,去掉 frontmatter,把純文字內容送進 Ollama。

# 提取文章正文(去掉 frontmatter)
CONTENT=$(sed '1{/^---$/!q;};1,/^---$/d' "$POST_FILE")
TITLE=$(grep '^title:' "$POST_FILE" | sed 's/title: *"\(.*\)"/\1/')
TAGS=$(grep '^tags:' "$POST_FILE" | head -1)

Step 3: Ollama 拆分(關鍵步驟)

這是整個系統最核心的部分 — Prompt 的設計決定了產出品質。

PROMPT=$(cat <<'PROMPT_END'
你是 Ultra Lab 的社群內容策略師。

## 任務
將以下部落格文章拆分成 3-5 則 Threads 貼文。

## 規則
1. 每則貼文必須獨立成立 — 沒讀過原文的人也能看懂
2. 每則 200-280 字(繁體中文),不超過 300 字
3. 每則用不同的 hook 類型開頭:
   - 反直覺觀點(「大家都說 X,但其實...」)
   - 個人經驗(「上週我花了 3 小時在...」)
   - 數據驅動(「我們測了 30 天,結果...」)
   - 問題引導(「你有沒有想過為什麼...」)
   - 實用技巧(「這個方法幫我每天省 1 小時:」)
4. 語調:技術人的口語,不要行銷腔。可以用「我」、「你」
5. 每則結尾加一個 CTA 或思考問題
6. 不要用 emoji 轟炸,最多每則 1-2 個
7. 包含 1-2 個相關 hashtag

## 輸出格式
用 --- 分隔每則貼文。只輸出貼文內容,不要加編號或說明。

## 文章標題
{TITLE}

## 文章內容
{CONTENT}
PROMPT_END
)

注意幾個設計重點:

Hook 類型多樣化 — 強制要求每則用不同的 hook 開頭,避免 5 則貼文讀起來像同一個模子刻出來的。

字數限制精確 — 200-280 字是 Threads 的甜蜜點。太短沒深度,太長沒人看。我測了 300+ 則貼文的數據,200-280 字的完讀率比 300+ 字高 34%。

獨立成立 — 這是最重要的規則。社群貼文不能假設讀者看過你的部落格。每則必須自帶上下文。

語調控制 — 「技術人的口語」這六個字比寫一大段 prompt 有用。Ollama 理解這個指令的效果出奇地好。

Step 4: Ollama 推理

RESPONSE=$(curl -s http://localhost:11434/api/generate \
  -d "{
    \"model\": \"ultralab:7b\",
    \"prompt\": \"$ESCAPED_PROMPT\",
    \"stream\": false,
    \"options\": {
      \"temperature\": 0.75,
      \"top_p\": 0.9,
      \"num_predict\": 2048
    }
  }" | jq -r '.response')

用的是我們自己 fine-tune 的 ultralab:7b 模型(基於 Qwen2.5:7b),跑在 RTX 3060 Ti 上,推理速度約 13.2 tok/s。生成 5 則貼文大概 30-40 秒。

Temperature 0.75 是反覆測試的結果。0.5 太保守,產出的 hook 太相似;1.0 太發散,偶爾會跑題。0.75 在多樣性和準確性之間取得好平衡。

Step 5: 透過 MindThread API 發布

# 拆分回應為個別貼文
IFS='---' read -ra POSTS <<< "$RESPONSE"

for post in "${POSTS[@]}"; do
  CLEAN_POST=$(echo "$post" | sed '/^$/d' | head -20)
  [ -z "$CLEAN_POST" ] && continue

  # 透過 MindThread API 發布到 Threads
  curl -s -X POST "http://localhost:18789/api/mindthread/post" \
    -H "Content-Type: application/json" \
    -d "{
      \"accountId\": \"vll91c1mmN8ZowrvfNuc\",
      \"content\": \"$ESCAPED_POST\",
      \"source\": \"cascade\"
    }"

  sleep 300  # 每則間隔 5 分鐘,避免被判為垃圾訊息
done

MindThread 是我們自己的 Threads 自動化系統,管理 27 個帳號。Content Cascade 的產出直接走 MindThread API 排程發布到 @ultralab.tw 帳號。


實際案例:一篇文章 → 五則貼文

拿上週的文章《一個人怎麼同時管 5 個產品》當範例。

原始文章

2400 字的技術文,講一人公司如何用 AI Agent 和 Claude Code 同時管理 5 個產品線。

Cascade 自動產出

貼文 1(反直覺 hook):

一個人同時跑 5 個產品,在正常世界裡是自殺行為。但如果你的「團隊」是 4 隻 AI Agent + Claude Code 呢?

我現在同時管 UltraLab、MindThread、Ultra Advisor、UltraTrader、OpenClaw。分佈在 3 台機器、4 種語言、2 個 Firebase 專案。

關鍵不是你有多少時間,是你有沒有把「決定做什麼」這件事也自動化。

每天早上我的系統自動掃描 5 個產品的狀態,排出優先級,我只需要執行。

一人公司最大的敵人不是能力,是決策癱瘓。 #一人公司 #AI自動化

貼文 2(數據 hook):

我算過,如果 5 個產品各需要一個 3 人團隊,我需要 15 個人。

實際上我有:我自己 + 4 隻 AI Agent + 34 個 systemd timer。

過去 30 天的數字:UltraLab 接了 3 個案、MindThread 330 萬次觀看、Ultra Advisor 63 篇 SEO 文章。全部同時在跑。

秘密不是「什麼都自己做」,是「建系統讓你不用自己做」。

你的一天有幾個小時花在重複的決策上? #BuildInPublic

貼文 3(實用技巧 hook):

這個方法幫我每天省 2 小時:把 context switch 的成本交給 AI。

我的 Coordinator 架構:每天早上 Agent 自動彙整 5 個產品的 git log、錯誤紀錄、用戶回饋,產出一份「今日行動清單」。

我不需要花 30 分鐘回想「昨天 UltraTrader 那個 bug 修到哪了」。系統直接告訴我。

人腦不該用來記事情,人腦應該用來做判斷。 #效率工具

貼文 4(問題 hook):

你有沒有想過,為什麼大公司可以同時做 10 個產品,你做 2 個就快累死?

不是因為他們有更多人。是因為他們有系統。

差別在:大公司的系統是 Jira + Slack + 週會。一人公司的系統可以是 AI Agent + 自動排程 + 零會議。

我把 5 個產品的監控、報告、排程全部自動化。週報是 Agent 自動寫的,日報是 systemd timer 自動跑的。

一人公司不是什麼都一個人做,是建一個系統讓一個人就夠。 #SaaS

貼文 5(個人經驗 hook):

上週三早上,我的 Ollama 記憶體飆到 2G 被 systemd 砍掉。

同一時間 MindThread 有 3 個帳號觸及率下降,Ultra Advisor 有客戶回報手機跑版。

三件事同時爆。如果是以前的我,大概會先焦慮 30 分鐘。

但系統已經自動排好優先級:Ollama(影響所有 Agent)> 客戶 bug > 觸及率(可以晚點處理)。

建系統不是為了順風時省時間,是為了逆風時不崩潰。 #開發日常


品質比較:手寫 vs Cascade

我做了一個月的 A/B 測試:

指標 手寫貼文 Cascade 貼文 差異
平均觸及 1,420 1,285 -9.5%
互動率 4.2% 3.8% -0.4%
完讀率 67% 71% +4%
產出時間 12 min/篇 0 min/篇 -100%
每週產出量 5-8 篇 15-25 篇 +200%

結論:Cascade 單篇品質略低 10%,但產量高 3 倍。

觸及量 = 品質 x 數量。就算每篇少 10% 觸及,多 3 倍的量讓總觸及翻倍。

而且有一個意外發現:Cascade 的完讀率比手寫還高。我推測原因是 Prompt 強制要求 200-280 字,自然維持在甜蜜點。手寫時我偶爾會寫到 400+ 字,完讀率就掉了。

系統比人更守紀律。


30 天數據

Content Cascade 上線 30 天的實際數據:

部落格文章產出:        12 篇
Cascade 自動社群貼文:  47 篇
平均每篇文章分裂數:    3.9 篇
自動發布成功率:        97.9%(1 篇因 API timeout 失敗,手動重發)
Ollama 推理失敗:       0 次
每日運算成本:          $0(本地 GPU)

總內容產出:            59 篇(12 + 47)
如果全部手寫:          約 42 小時
實際花費時間:          約 24 小時(只寫部落格)
節省時間:              18 小時/月

每個月省下 18 小時的內容搬運時間。這 18 小時我可以拿去寫更多部落格、做產品、或睡覺。


為什麼用 Ollama 而不是 Gemini / Claude API

這是最常被問的問題。我同時有 Gemini 和 Claude 的 API 存取權限,為什麼 Content Cascade 選擇用本地的 Ollama?

1. 成本

Cascade 每天跑一次,每次處理 1-3 篇文章,每篇約 2000 token input + 1500 token output。

方案 每月成本 每年成本
Ollama (本地) $0 $0
Gemini Flash ~$0.30 ~$3.60
Claude Haiku ~$1.80 ~$21.60
GPT-4o mini ~$1.20 ~$14.40

Gemini Flash 其實很便宜,但 $0 更便宜。而且我已經有 GPU 在跑其他 Agent 任務了,邊際成本是零。

2. 隱私

部落格內容理論上是公開的,所以隱私不是硬需求。但我有一個原則:能不送出去的數據就不送出去。 養成習慣。

3. 可靠性

API 會掛。Gemini 在三月初掛過一次 3 小時(正好是我的 cascade 時段)。Ollama 跑在自己的機器上,只要不停電,它就在。

4. 延遲

Ollama 在本地跑,沒有網路延遲。整個 cascade 流程 45 秒完成。走 API 大概要 2-3 分鐘(考慮網路 + rate limit)。

5. 品質夠用

社群貼文不需要 Claude Opus 等級的推理能力。Qwen2.5 7B 的中文能力在這個任務上完全夠用。我測過 Claude Sonnet 和 Ollama 的產出品質差異大概 5-8%,但社群貼文的讀者不會注意到這個差異。

用大模型做小任務是浪費。 就像你不會用 Ferrari 去超市買菜一樣。


進階:Cascade 的自我修正

系統不是完美的。最常見的問題是 Ollama 偶爾會產出格式不對的回應(沒有用 --- 分隔、某則超過 300 字)。

我加了一層後處理:

validate_post() {
  local post="$1"
  local char_count=$(echo -n "$post" | wc -m)

  # 字數檢查
  if [ "$char_count" -gt 320 ]; then
    echo "[cascade] Post too long ($char_count chars), truncating..."
    post=$(echo "$post" | head -c 850)  # UTF-8 中文約 3 bytes
    post="${post}..."
  fi

  # 空白檢查
  if [ "$char_count" -lt 50 ]; then
    echo "[cascade] Post too short, skipping."
    return 1
  fi

  echo "$post"
}

加了這層之後,發布成功率從 91% 提升到 97.9%。


你也可以做到

Content Cascade 的核心概念不難:

  1. 有一個內容源(部落格、YouTube、Podcast)
  2. 有一個 LLM(Ollama、Gemini、ChatGPT 都行)
  3. 有一個分發管道(Threads API、Twitter API、IG API)
  4. 寫一個腳本把它們串起來

如果你不想自己建,我們的 UltraGrowth 全託管方案 包含了 Content Cascade 功能:

  • 你寫文章(或我們幫你寫)
  • 系統自動分裂成社群貼文
  • 自動排程發布到多個平台
  • 每月報表追蹤成效

一篇文章的價值不該只停在部落格。讓它 cascade 下去。


技術細節速查

項目 規格
排程 systemd timer, 每天 07:00 CST
LLM Ollama ultralab:7b (Qwen2.5 7B base)
GPU NVIDIA RTX 3060 Ti 8GB
推理速度 ~13.2 tok/s
每篇處理時間 ~45 秒
發布目標 Threads @ultralab.tw via MindThread API
分裂數 3-5 篇/文章
成功率 97.9%
月成本 $0

寫一次,發五次。這就是 cascade 的意義。

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

需要技術協助?

免費諮詢,24 小時內回覆。