← 回到 Blog
AI Agent約 3 分鐘閱讀

AI Agent 內容營運 Runbook:每日排程、驗證證據與人工交接

分類AI Agent自動化工作流網站經營
標籤#AI Agent#內容營運#Runbook#網站維護#自動化工作流
VS Code 編輯器與程式碼工作環境,象徵 AI Agent 協助內容網站進行每日營運、驗證與交接流程

AI Agent 可以協助技術 Blog 每天產出內容、檢查路由、修正小型版面問題與整理報告,但如果沒有 Runbook,Agent 很容易只完成「看起來有做事」的片段:寫了一篇文章,卻沒有確認 sitemap;修了一個樣式,卻沒有跑 build;看到 production 404,卻沒有分辨是部署延遲還是內容根本沒被提交。

UCAMC 這類由舊 WordPress Blog 延伸到 Next.js 的內容站,更適合把每日營運拆成可重複、可驗證、可交接的流程。這篇 Runbook 延伸先前的 AI Agent 網站維護 Prompt 模板 與 Next.js 內容站每日 SEO 檢查清單,目標是讓 Agent 每天不只「新增內容」,也能留下可追蹤的品質證據。

1. 先定義每日排程的安全邊界

每日任務要先寫清楚哪些事情 Agent 可以自主處理,哪些事情必須交給站長決策。這能避免自動化流程在沒有使用者即時回覆時,做出不可逆或破壞 SEO 的改動。

類型Agent 可自主處理需要人工確認
內容新增原創技術文章、補 frontmatter、補內部連結刪除大量舊文、改大量 slug、改品牌定位
技術修小型 lint/type/build 問題、補 sitemap/robots 檢查更換架構、移除 WordPress 串接、修改機密
SEO驗證 canonical、metadata、root-level 文章 URL改變整站 canonical URL 策略
版面修 placeholder、裸露 URL、明顯溢出重做 Logo、換整體視覺風格

對 UCAMC 而言,文章 canonical URL 是 root-level /{slug},/blog 只是列表頁。這種規則必須寫在 Runbook 裡,避免 Agent 每天又回頭檢查或新增不需要的 /blog/{slug} redirect。

2. 每次執行都從工作區狀態開始

自動化內容營運最容易踩到的問題,是前一次工作留下未提交或未追蹤檔案。新的 Agent run 如果直接寫檔,就可能覆蓋未理解的變更。

建議每次排程開始都固定檢查:

git status --short
git branch --show-current
git log -1 --oneline

檢查重點不是只看乾不乾淨,而是要能判斷:

  • 是否已有未追蹤 Markdown 文章需要保留。
  • 是否有 macOS 複製檔或 build artifact 不應提交。
  • 是否有 staged 變更可能是前一輪有效工作。
  • 是否目前分支就是預期的 production branch。

若工作區不乾淨,Runbook 應要求 Agent 先辨識來源、保留未知變更,必要時在報告中明確列出「本次未處理的既有變更」。

3. 把內容產出拆成 metadata、正文與驗證

一篇新文章不應只看 Markdown 能不能被讀取。對內容品牌網站來說,完整 frontmatter 會影響列表排序、SEO、社群預覽、Open Graph 圖片與 sitemap 更新。

建議新文章至少要有:

title: "文章標題"
slug: "stable-root-level-slug"
date: "2026-07-14T09:10:00+08:00"
modified: "2026-07-14T09:10:00+08:00"
excerpt: "清楚描述文章能幫讀者完成什麼。"
categories:
  - "網站經營"
tags:
  - "檢查清單"
author: "UCAMC"
seoTitle: "搜尋結果可閱讀的標題"
seoDescription: "搜尋結果與社群預覽可使用的摘要。"
coverImage: "https://..."
coverAlt: "描述圖片內容與文章脈絡"
featuredImage: "https://..."
draft: false
archive: false

正文則要避免只像內部任務紀錄。較好的做法是把維護經驗轉成讀者可複用的模板、檢查表、流程圖或欄位清單,讓文章本身成為可被收藏的內容資產。

4. 驗證證據要能被交接

AI Agent 的回報不應只寫「已完成」。更可靠的方式,是把每個重要檢查項目對應到真實輸出:

檢查項目建議證據
lint/typenpm run lint exit code 0
production buildnpm run build 成功輸出
首頁local production / 回 200,且包含新文章標題或最新卡片
Blog 列表/blog 回 200,第一張卡片連到新 slug
文章頁/{slug} 回 200,metadata/OG 圖片合理
sitemap/sitemap.xml 回 200 並包含新 slug
robots/robots.txt 回 200 並指向 sitemap
legacy redirectID-prefixed 舊網址 301 到 root-level slug

這些證據讓下一位維護者可以快速判斷問題在哪一層:內容檔案、Next.js build、本機 route、GitHub push、Vercel 部署,或正式網域快取。

5. 失敗時先分類,不要急著重構

當自動化流程失敗時,Agent 應先分類問題,而不是直接大改架構。

常見分類:

  1. 內容錯誤: frontmatter 缺欄位、日期格式不一致、Markdown 表格破損。
  2. 型別錯誤: App Router params 型別、metadata 回傳型別、元件 props 不一致。
  3. 本機快取錯誤: .next 舊型別檔、tsbuildinfo、node_modules 檔案讀取異常。
  4. 路由策略錯誤: 把新文章誤認為應該有 /blog/{slug} canonical。
  5. 部署邊界: 本機與 GitHub 正常,但 Vercel 或正式網域仍舊內容。

分類之後再修,才能避免把一次快取問題變成不必要的架構變更。

6. 每日報告要短,但要有判斷力

好的每日報告不需要很長,但必須能回答三個問題:今天網站更好了嗎?哪些證據能證明?還有什麼需要站長決策?

建議固定格式:

UCAMC 每日網站經營報告
日期:YYYY-MM-DD

檢查範圍:首頁、Blog、文章頁、分類頁、robots、sitemap。
新增/整理文章:標題、slug、主題價值。
修復項目:列出實際修改,不包裝成大工程。
lint/build:列出真實結果。
route/SEO 驗證:列出 status code 與包含新 slug 的證據。
下一步:1–3 個可執行建議。

重點是:不要把未驗證的 production 狀態寫成成功;不要把需要 Leon 決策的事項自行處理;也不要因為沒有大問題就省略內容營運成果。

7. 可複製的最小 Runbook

最後把流程壓縮成一份每日可執行清單:

  • 讀取專案規範與每日營運計劃。
  • 檢查 git 狀態與最新 commit。
  • 巡檢首頁、Blog、文章頁、分類頁與 SEO routes。
  • 新增或整理一篇有完整 metadata、圖片與內部連結的文章。
  • 驗證外部圖片回 200 且是 image content type。
  • 執行 lint、build。
  • 啟動 production server,驗證 /、/blog、/{slug}、分類頁、/robots.txt、/sitemap.xml、ID-prefixed legacy redirect。
  • 若推送 production,輪詢 Vercel 與正式網域直到新文章、列表與 sitemap 都更新。
  • 產出包含真實證據的繁體中文報告。

這樣的 Runbook 讓 AI Agent 從「自動寫文章」升級成「可交接的內容營運流程」。對長期經營的技術品牌網站而言,穩定留下證據,比每天做出很多不可追蹤的變更更重要。