當自動雙語系統默默死了一整個夏天:一次深夜的部落格 CI/CD 與 LLM 健檢全紀錄

沒錯,我整個夏天都沒有更新。 從六月中開始,Google 實習、三篇頂會論文、產學合作、再加上準備碩士畢業找工作,幾座大山全部疊在一起,我直接進入了長達四個月的自媒體冬眠期(或者該說夏眠)。 直到前幾天國慶連假,我下定決心要重啟部落格,開啟了全新的個人作品集紀錄(Day 1 與 Day 2 的 Spark on K8s 系列)。當我寫完繁體中文文章、滿心歡喜地 git push 上去,期待著五月底那篇全站自動雙語化實踐的大功臣自動幫我把中文翻成英文時,我點開英文介面一看—— 文章根本沒有出現,整個英文版像被時間凍結在七月一樣。 更詭異的是,GitHub Actions 上的工作流程顯示著一排無辜而刺眼的綠色打勾(✓)。我以為 1010 的文章只是「正在排隊翻譯」,但事實證明,我的自動化系統早已在背後「無聲全滅」。 趁著深夜,我對整個網站做了一次徹底的大健檢,結果抓出了一連串教科書等級的 CI/CD、LLM 生命週期與權限陷阱。這篇文就是這場踩坑之旅的完整復盤。 陷阱一:被 try-except 吞掉的 402(CI 的假綠燈) 五月時,我寫了一支 auto_translate.py 腳本,透過 GitHub Actions 在每次 push 時自動呼叫 Gemini API 翻譯沒有 .md 對應檔的 .zh-tw.md。 這次當我發現文章沒有被翻譯時,我第一時間去翻 GitHub Actions 的 Run Log,赫然看見這段報錯: Translating: content/posts/261010_2318.zh-tw.md -> Error translating: 402 RESOURCE_EXHAUSTED. Your prepayment credits are depleted. Please go to AI Studio... Translating: content/posts/260612_1625.zh-tw.md -> Error translating: 402 RESOURCE_EXHAUSTED... Done. Translated 0 files. 原來我绑定的 Gemini API 預付額度早在夏天就見底了! ...

October 10, 2026 · 3 分鐘 · datafox & 柯宥圻 (Yuchi Ko)