~/blog/wordpress-content-production-line-ai-skills.md
WordPress 開發與技巧 ·

內容批次作業怎麼交給 AI:五百篇補 meta、十九張封面圖的實際做法

Eric,浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
內容批次作業怎麼交給 AI:五百篇補 meta、十九張封面圖的實際做法
目錄 table-of-contents.md
font-size:

網站經營到一定規模之後,會遇到一種很尷尬的工作:不難,但量大到人工做不完。全站五百多篇文章要補 meta description,一篇三分鐘也要跑掉二十幾個小時;十九篇待發文章缺封面圖,一張一張生成再轉檔上傳,一個下午就沒了。這些事沒有技術含量,但不做又確實會影響成效。

這正是批次型 Skill 的守備範圍。它跟前面談過的維運檢查不太一樣,維運是「定期跑同一份清單」,內容生產是「對一大批對象做同一件事」,兩者踩的坑也不同。這篇談後者,包含我們自己批次跑壞過一次的完整經過。

先弄清楚哪些能批次,哪些只是看起來能

批次作業最大的風險是規模。錯一次的成本乘上數量,就從小失誤變成事故。我們的分法是看「錯了要花多少力氣救回來」:

工作批次難度出錯的救援成本
補 meta description低,改回去就好,且有備份
產封面圖低,重生成即可,只是花錢
補 excerpt低,但要注意別讓它變成正文截斷
加內部連結中,插錯位置會破壞 HTML 結構
改寫既有正文高,內容被動過很難察覺,也很難逐篇校對

最後一列是紅線。讓語言模型批次改寫既有內容,它會順手「優化」你沒要求它動的地方,包含標籤結構與事實敘述,而且改得很自然,逐篇比對之前不會發現。要做這件事的話,讓它只回傳決策不回傳內容,寫入前用程式硬性驗證標籤序列與去標點的骨架有沒有變。

批次 Skill 的核心是先產一個給人看

這是我們今年學到最貴的一課,而且是這個月剛發生的。

要幫十九篇待發文章補封面圖,流程都寫好了:組 prompt、呼叫生成、轉 WebP、部署、寫回資料庫。跑之前我只確認了尺寸規格,沒有實際打開站上既有的封面圖看一眼。批次跑完才發現,站上的調性是明亮的真人商業攝影,暖色調、有人在工作場景裡;而我生出來的十九張全部是深色無人的物件特寫。規格完全正確,風格完全不對,整批重做。

後來的流程多了一個步驟,而且是不能跳的:批次之前先產一個樣本,人看過再放行。這一步只花幾十秒,省下的是整批重跑的時間與費用。第二次重做的時候先產了一張,確認風格對了才跑剩下十八張,一次過關。

寫進 Skill 裡大概是這樣:

## 執行順序
1. 先讀取現有的 3 個樣本(既有封面圖、既有 meta、既有 excerpt),歸納目前的風格
2. 產出第 1 筆,停下來,把結果呈現給使用者確認
3. 使用者確認後才處理剩餘項目
4. 每處理 10 筆回報一次進度

## 不要做的事
不要在未確認樣本的情況下跑完整批。
不要為了效率跳過第 2 步。

批次改動一定要有退路

第二個原則是備份,而且要備份到批次作業之外的地方。我們的習慣是在動任何欄位之前,先把原值撈出來寫成一份 JSON 存到專案以外的目錄,檔名帶日期。這件事寫進 Skill 的成本很低,但少了它就等於在沒有安全網的情況下改五百筆資料。

## 動任何欄位之前
1. 撈出所有將被修改的欄位原值
2. 存成 /root/<欄位名>-backup-<日期>.json
3. 確認備份檔存在且筆數正確,才開始寫入

實際跑起來大概像這樣:先備份、再改、最後抽驗幾筆確認。改完之後如果發現方向錯了,把 JSON 讀回去覆寫就結束了,不用去翻資料庫的備份。

資料層的兩個坑

批次處理 WordPress 或任何 CMS 的內容,有兩個技術細節常常卡住人。

存成 JSON 的中文欄位搜不到。很多欄位(標籤、FAQ、自訂欄位)是以 JSON 形式存進資料庫的,而 JSON 編碼預設會把中文轉成 \u 開頭的跳脫序列。這代表你用 SQL 的 LIKE 去搜中文關鍵字,永遠搜不到,而且不會報錯,只會回傳零筆,看起來像是「真的沒有」。正確做法是把欄位讀出來解碼之後再比對,或改用資料庫的 JSON 函式。

算位置的時候位元組與字元混用。要判斷某段內容在全文的哪個位置,常見寫法是拿字串搜尋函式的回傳值去除以總長度。問題是前者算的是位元組,後者常常算的是字元數,而中文在 UTF-8 佔三個位元組,結果就是算出超過百分之百的位置。這個錯誤不會讓程式崩潰,只會讓你的判斷邏輯默默失準。

成本要先算過

批次作業的費用是線性成長的,跑之前值得先算。以圖片生成為例,中等品質一張大約零點零三美元,十九張約零點五五美元,這個量級不用猶豫。但如果對象是五百篇文章而且每篇都要呼叫模型,數字就完全不同了,先跑十筆量測實際用量再乘上去比較保險。

省成本的方向通常不是換便宜的模型,是減少不必要的呼叫:能用程式判斷的不要問模型、能一次處理十筆的不要跑十次、把固定不變的部分寫成腳本讓它輸出結果而不是讓模型現場產生。

什麼時候不該批次

有兩種情況我們會選擇一筆一筆做。

第一種是每筆的判斷差異很大的工作。例如替不同主題的文章挑內部連結,看起來是同一件事,實際上每篇的合適對象都不同,批次跑出來的結果多半是硬湊的。這種工作比較適合的做法是讓 Skill 產出候選清單,人來挑。

第二種是對外可見且不可逆的動作,例如發布、寄信、推播。這類工作即使流程完全一樣,也建議保留人工確認的那一步,因為錯誤沒有退路。內容排程的相關做法我們在WordPress Cron Job 改造指南裡有談到排程與確認的分界。

從哪一項開始

建議從「純新增、不動既有內容」的工作開始,補 meta 與產封面圖都是很好的起點,因為它們不會破壞現有的東西,錯了也只是重做。等流程跑順了,再往需要判斷的工作推進。

做完之後記得回頭看一件事:這批東西的品質,跟你自己一篇一篇做的差多少。如果差很多,通常不是模型不行,是 Skill 裡的標準寫得不夠具體。批次作業的品質上限,等於你把判斷標準寫清楚的程度。

這些做法我們實際用在客戶的站上,成品可以看作品案例,像立朋工業、集羽珠寶、辰羿起重這幾個都是 WordPress 做的,維運也一起接手。

如果你的網站內容量已經到了人工維護跟不上的程度,想把這類批次工作標準化又擔心改壞既有內容,這正是我們AI 自動化開發在幫客戶處理的事。跟我們聊聊你手上積著的是哪一批

延伸閱讀

// 推薦服務
首月免費 · 月費 NT$249 起
想用 n8n、Dify、WordPress,卻不想自己養伺服器?

RoamerHost 幫你把開源 AI 與自動化工具一鍵代管:獨立 Docker、自動 SSL、24/7 監控,60 秒上線。省下租機器、裝環境、顧維運的力氣,訂閱就能開始用。

立即免費註冊
// FAQ

常見問題

可以讓 AI 批次改寫既有的文章內容嗎?
這是我們畫的紅線。語言模型批次改寫時會順手優化你沒要求它動的地方,包含標籤結構與事實敘述,改得很自然,不逐篇比對根本發現不了。真的要做的話,讓它只回傳決策不回傳內容,寫入前用程式硬性驗證標籤序列與去掉標點後的骨架有沒有變。純新增的工作(補 meta、產圖)風險低很多,建議從那邊開始。
批次跑之前最該做的一件事是什麼?
先產一筆給人看過再放行。浪花科技這個月就是跳過這步吃了虧:要補十九張封面圖,規格都對了,但沒先打開站上既有的圖看風格,跑完才發現整批調性不對,只好全部重做。第二次先產一張確認,才跑剩下十八張,一次過關。這一步只花幾十秒,省下的是整批重跑的時間與費用。
批次改動要怎麼留退路?
動任何欄位之前先把原值撈出來,存成帶日期的 JSON 檔,放在專案目錄以外的地方,確認筆數正確再開始寫入。這件事寫進 Skill 的成本很低,但少了它就等於在沒有安全網的狀況下改幾百筆資料。方向錯了的時候,把 JSON 讀回去覆寫就結束,不必去翻資料庫備份。
為什麼用 SQL 搜中文關鍵字都搜不到?
如果那個欄位是以 JSON 形式存的(標籤、FAQ、自訂欄位常見),JSON 編碼預設會把中文轉成 \u 開頭的跳脫序列,所以 LIKE 比對中文永遠是零筆,而且不會報錯,看起來就像真的沒有資料。要把欄位讀出來解碼後再比對,或改用資料庫的 JSON 函式。這個坑很安靜,很容易讓人得出錯誤結論。
批次作業的成本怎麼估?
先跑十筆量測實際用量再乘上去,不要直接照總數估。以圖片生成為例,中等品質一張約零點零三美元,十幾張的量級不用猶豫;但如果是五百篇文章每篇都要呼叫模型,數字就完全不同了。省成本的方向通常不是換便宜模型,是減少不必要的呼叫:能用程式判斷的不要問模型,固定不變的部分寫成腳本輸出結果。
#WordPress #Agent Skills #內容經營 #批次處理 #自動化 #SEO
// 本主題完整指南 · WordPress 開發與技巧
企業官網該用 WordPress 嗎?2026 企業級 WordPress 開發完整指南:市占、安全、架構與選型

這個主題的完整脈絡、選型比較與導入建議,都整理在指南裡。

~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?