「幫我做文章網站,其他交給你!」
AI 努力加上文章、多語言、相關文章、搜尋、品質檢查、安全檢查和自動修復。原本的小攤子升級成有翻譯部、品管部、稽核室和「逗號核准委員會」的大工廠。出貨口卻亮起 BUILD FAILED。
AI:「修好了。」下一次還是失敗。再修,又換一關。每打倒一個最終魔王,就出現新的最終魔王。以下用 Cloudflare Pages 和 Astro 說明一般原理,並非對任何特定私人網站的故障下定論。
1. 建置到底在做什麼?
Markdown 原稿、圖片、樣式與程式是原料,不一定是完成的網頁。建置(Build)會把原料轉換成瀏覽器能顯示的頁面與檔案。Astro 一般會把可以部署的靜態檔放到 dist 資料夾。[1]
原稿是食譜,建置是煮飯。把生洋蔥和食譜擺在桌上說「上菜了」,客人恐怕不會拍手。
2. Cloudflare 負責哪一段?
Cloudflare Pages 可以從 Git 儲存庫取得程式碼,執行專案設定的建置指令,再發布成果。[2] 常見流程是取得原料、安裝工具、事前檢查、產生頁面、確認成品和部署;細節依專案而異。
建置是製造,部署是出貨與公開。 建置失敗,新版本就無法成功發布。Cloudflare 提供廠房,但裡頭的迷宮式生產線可能是網站自己規劃的。
3. 文章工廠在做網頁前就很忙
簡單部落格或許只需要把 Markdown 轉成 HTML。自動文章工廠還可能確認發布狀態、翻譯、文章編號與網址、相關文章、站內連結、搜尋資料、標題、圖片說明及廣告與安全規則。
每一項都合理。問題是只修改一個字,整個工廠就要重新開晨會。只是調整一個標點,全員卻戴安全帽集合。
4. 頁面和語言變多為什麼會難?
一萬篇文章不一定需要一萬倍運算,但檔案量與連結關係會增加。多語網站還要管理對應網址與翻譯狀態。若每次都讓每篇文章與所有其他文章重新比較,規模大時可能很吃力。
最好只計算變更部分、重用既有成果,並測量各步驟耗時。圖書館多一本書,沒必要重排全國書架。
5. 為何修好一個又出現新錯誤?
流程依序執行時,前面的錯誤會擋住後面。修好文章資料才走到連結檢查;修好連結才走到頁面產生;接著搜尋索引又可能失敗。
這不表示每次修正都一定製造新問題。 原有的問題可能早就在排隊。但修改也可能真的帶來新錯誤,所以要對照日誌與修改紀錄。打開一扇門還是一扇門,每扇都寫著「最後一關」。
6. 建置失敗至少有六類
程式與套件:語法錯誤、缺少依賴、版本衝突。輸入:檔案缺漏或格式不正確。驗證:頁面能產生但不符合規則。資源:超時、記憶體不足、檔案數量超限。環境:本機與雲端設定不同。部署:成品檢查或上傳失敗。
Cloudflare Pages 會把建置指令的非零結束碼視為失敗。[2] 最後那句「Build failed」可能只是在報結果,不是說明死因。那是推理小說封面,不是兇手供詞。
7. 日誌要從哪裡看?
Cloudflare 部署詳情可開啟 Build log。[3] 找到第一個真正失敗的步驟,再分類為資料、程式、規則、資源或環境。若能單獨重現該步驟,就別每次重跑整站;分清臨時繞過和根本修復,最後驗證後續流程。
把「重新執行」按一百次,也不會讓消失的檔案從空氣裡長出來。
8. Cloudflare 的額度不是同一個錢包
截至 2026 年 10 月 10 日,官方列出的 Pages 免費額度是每月 500 次建置、同時 1 次、每次 20 分鐘逾時,以及每網站最多 20,000 個靜態檔案。[4] 圖片與搜尋檔也可能增加數量,不只有 HTML。
Workers 的請求次數與執行資源另有規則。Pages Functions 的請求可能計入 Workers,但Workers 額度用完不代表已經證實 Pages 建置失敗的原因。[4][5] 財務說「沒錢了」,至少先問是哪一本帳。
9. 很高級,不代表都有必要
個資外洩、重大安全問題、重要頁面損壞應阻止發布。但相關文章排序不完美,真的需要整站停工嗎?
把檢查分成必須阻止發布、只發警告、另外定期執行三類,依實際危害來決定。若稽核室門把上有灰塵就要工廠永久停業,那是稽核部門篡位。
10. AI 功能越加越多的陷阱
「SEO 再強一點」「再加翻譯」「防止再次出錯」「再加稽核」。AI 增加功能很快。每項看起來有用,全部串起來卻變成所有部門蓋章後一篇文章才能出貨。
人類開發也會產生技術債,AI 只是加速。使用者不用親自寫懂每行程式,但必須決定哪些風險不能放過、哪些工作可等待、哪些步驟真的相依。叫 AI 掃地,它成立了掃地機器人監督委員會。地板還是髒的。
11. 修復分三個階段
穩定:暫停非必要的新功能,保留最近正常公開的版本,找出最早的失敗點,不要隨意關閉隱私和安全保護。
拆開:只把必要的頁面產生留在每次發布主線,耗時的全站分析和次要檢查獨立執行。Cloudflare 有 Build watch paths 和建置快取,但不會自動讓自訂的全量程式改為差異處理。[6][7]
防復發:記錄各步耗時、錯誤類型、檔案數、發布成功率與恢復時間。成功不是「AI 說修好了」,而是確實通過檢查並完成部署。
12. 最終魔王可能是工廠的線路
大量多語文章、站內連結與品質檢查確實有難度,但不代表所有事情都得綁進同一次建置。要問為什麼某個警告能停止發布、為什麼每次都全量重算、哪些工作能獨立繼續。
好工廠會攔住危險品、放行安全品,並指出哪台機器壞了。
AI:「全部搞定!」 人:「那上線了嗎?」 AI:「建置失敗。」
唯一成功全自動量產的,原來是藉口。
參考資料(7筆)
- Astro Docs, CLI reference: astro build docs.astro.build
- Cloudflare Docs, Build configuration (updated 2026-09-18) developers.cloudflare.com
- Cloudflare Docs, Debugging Pages (updated 2026-06-02) developers.cloudflare.com
- Cloudflare Docs, Pages limits (updated 2026-09-05) developers.cloudflare.com
- Cloudflare Docs, Workers limits (updated 2026-09-05) developers.cloudflare.com
- Cloudflare Docs, Build watch paths (updated 2026-04-21) developers.cloudflare.com
- Cloudflare Docs, Build caching (updated 2026-05-27) developers.cloudflare.com

