要求每站能從零重建,藏起來的缺口一一現形:第二週回顧

涵蓋期間:2026-08-03(週一)至 2026-08-09(週日) · 補寫發布:2026-09-23

ALLinAI 編輯部 · AI 依當時的工作紀錄與版本紀錄整理

8月3日到9日這一週,我們把「上雲」的標準改得更嚴:網站要能在全新的機器上從程式碼重建出來,和線上逐條比對一頁不少,才算數。同一週,內容產線到8月8日累計55站、165篇。新標準加上這樣的速度,逼出了藏在各處、平常沒人檢查的東西:只存在AI對話紀錄裡的原始碼、只在這台Mac上才成立的建置條件、部署工具的預設行為,還有頁面上寫的和背後實際發生的落差。

「上雲」的及格線:從打得開改成重建得出來

標準訂得這麼嚴,是因為筆電撐不住。8月3日晚上,我們替前一天才開不了機的Mac做了一次清理,先列清單、輸入確認字才執行,可用空間從83 GiB回到123 GiB;但三天後,重建留下的暫存資料又把空間吃到不足1 GiB,8月7日凌晨一度只剩425MB。清理追不上建置,把建置和資料搬離筆電,成了這週的前提。

8月5日的盤點顯示,登記的65個網站入口有64個已由雲端平台服務,卻沒有一個能保證在乾淨的機器上重建出線上那一份。我們把標準寫成契約:每站在兩份全新下載的程式碼上各建一次,產物必須逐檔相同;再和線上現有網址逐條比對,一條都不能少;先發到不對外公開的預覽網址驗收,才切換正式網址,舊版留著隨時退回。任何一步不符就停下。第一輪跑完,14站通過上線,其餘51站因為資料缺口、建置程式(產生網頁的程式)跑不起來,或登記資料對不上而被擋下。

原本49站的待辦清單,8月5日收工時剩42,8月6日中午剩30,那時已有34個網站走完整套流程。8月7日這套流程第一次搬到雲端的建置機器上跑(只建置、不部署),34站中32站成功。它的價值在8月5日深夜就看得到:重建A 站時,新版網址清單和線上的8474條完全相同,但驗收發現另有56篇指南不在清單上、線上卻打得開,一換版就會全部消失。我們立刻退回舊版,補齊來源才重新上線,並把這56條網址寫成固定檢查,以後少一條就建置失敗。

缺的原始碼,最後在AI的對話紀錄裡找到

最常卡住重建的,是線上有、程式庫裡卻沒有的內容。其中一個站少了21條網址,其中9篇文章和三個互動工具,是從Codex 7月26日的工作紀錄裡,把它當時寫入檔案的內容原樣重播回來;A 站那56篇指南,54份來源在版本控制(保存每一次改動的系統)裡找回,另外2份從沒進過版本控制,只能從Claude的對話紀錄取出;另一個站的9篇文章散在3個不同的AI工作階段裡,逐篇核對後才收回。這些缺口有的來自上週提過的那次快照,有的是內容只在線上發布過、從沒寫回程式庫,例如B 站的3篇文章。

AI助手留下的完整對話紀錄,意外成了最後一道備份。連紀錄裡都找不到的,只能退一步:另一個站有21頁在整部版本歷史和對話紀錄裡都沒有蹤跡,最後是抓下線上已經產生的網頁,把內文原封不動接回建置程式。再找不回來的就不換版:8月7日一輪清查中,8個網站刷新上線,另外8個因各自的缺口或架構限制暫緩,維持線上不動,例如C 站重建後會少掉240個需要另外申請存取權限的捷運資料頁。

乾淨的機器,揭穿只在筆電上成立的條件

換到雲端的乾淨機器上建置後,一批在筆電上建置正常的網站開始失敗。其中一個站的建置程式要畫社群分享圖,用到一個只有這台Mac裝過的繪圖套件,還寫死了Mac專用的字型路徑,所以本機紀錄一直是成功;改成先把7張圖畫好收進程式庫,乾淨環境才建得起來。另一個站的建置程式每跑一次,就用當天日期改寫一個受版本控制的資料檔,被「建置不得改動自己的程式碼」這道檢查擋下。D 站的建置會重寫一個資料庫檔,在Mac上產出的位元組剛好和存檔一致,在Linux上就不同;8月9日補齊的5張本機建置紀錄,送上雲端的第一站就翻掉一張。

多個AI同時動手,出事多在交界處

內容產線同時在衝刺:每站加3篇回答讀者實際問題的文章,交給沒參與撰寫的AI對照官方原文驗收。驗收攔下不少讀來通順、卻和官方規定不符的內容,例如D 站一篇甄試文章,整篇建立在16年前就廢止的規定上。另一個問題是底稿:E 站原本以本機資料夾為底,送審才發現本機少了線上後來加上的整組法律頁面;8月8日逐站比對13個網站,本機和線上的檔案數沒有一站相同。之後一律直接向部署平台取回線上正在跑的那一版當底稿,只在上面加東西。

逐字比對也有看不見的地方。8月7日替另一個站插入文章卡片時,插入點落在一個既有連結標籤的裡面,形成連結包著連結;瀏覽器自動修正後,11張卡片在畫面上排版全亂。但拿掉新內容後,其餘位元組和線上完全相同,逐字比對判定沒問題,是驗收者改用瀏覽器實際渲染才看出來。從此每次插入後都要檢查標籤的巢狀層數,當晚另一個網站再犯同樣的錯,在寫入當下就被攔住。

平行作業是另一個交界。8月8日替各站補AI揭露句(標明文章由AI協助製作的說明)時,重建出來的資料夾少了指定部署專案的設定檔,部署工具沒有報錯,而是用資料夾名稱自動開了一個新專案,結果30個網站的網域全被導到那裡;驗收條件全過,直到其中一站突然出現登入頁才察覺,之後逐站改回正確的專案重新部署。同一天另一批9站在部署前比對線上現況,發現其中8站稍早已被另一個工作階段重新部署過,照原計畫上線就會倒退回舊版,於是放棄這8站的部署。部署工具還有另一個預設行為要提防:8月9日至少三次明確指定發到測試環境,新專案的第一次部署仍被當成正式版,每次都是發現後先停手再處理。同一週也發現E 站被外部稽核工具打了 0 分:全站頁首導覽連到的「分類檢查」頁其實從未真正部署上線,4,051 頁裡有 4,035 頁因此被判定為錯誤;頁面本身早就寫好,修復只要重新部署,但那需要人工授權,當週只完成診斷。

8月8日翻出的舊傷,和頁面上對不上的承諾

8月8日的一連串追查,先翻出一批舊傷。F 站7月31日一次只為補一段摘要的重新部署,用了不完整的底稿,正式版從542個檔案縮成371個;G 站在同一天補追蹤碼的重新部署之後,292頁裡有108頁打不開;H 站的轉址設定也從8月1日那次部署起就不見了。這幾件都發生在我們把「重新打包要以平台上的原始檔為準」寫成規則之前。G 站和H 站當天就補回;F 站修好後,同天下午xmy換上只有7頁的新版,178個舊網址沒有轉址,要不要補當天未定。

更要緊的是網站對讀者說的話和實際狀態對不上。追查H 站時,我們發現本機和線上差了約4600個網址,其中有曾經上線、後來被蓋掉的內容,例如81頁長照廠商名錄和1543頁的外籍看護仲介評鑑資料,當天還原上線。我們也在資料庫裡找到7筆7月中到月底民眾送出的長照諮詢,因為審核後台從未部署,很可能沒有任何人看過;表單收得到資料,另一端卻沒有人接。這7筆已整理給xmy,待逐一回電,當晚也替這個網站補上隱私政策等五個說明頁。

另一個站有124篇用藥文章,頁面上都標明是尚未經醫療審閱的草稿,卻沒有不收錄標記(要求搜尋引擎不要把頁面放進搜尋結果),而且都在提交給搜尋引擎的網址清單上。xmy同意先補上標記、移出清單,不刪不改內容;處理時首頁也被一併標記,隔天複查發現後改回。真正的藥師或醫師審閱,當時還沒有發生。

AI揭露句也有同樣的落差。8月8日,一個工作階段替55個網站的文章補上揭露句,寫著經人員審閱後定稿;另一個工作階段對照內容政策後認為,這對早期批量整理的文章是站不住的宣稱。最後統一改成不宣稱人工審閱的中性句,55站替換了5,236處,另新補12站1,742頁。8月9日有6站先上線「AI使用政策」頁,照實交代查核程度,例如B 站寫明110篇文章沒有一篇經過逐篇覆核。同一天也發現,其中一個站有73篇文章在頁尾標示人工審閱日期,但日期只有兩種,其實是建置時間,其中70篇在同一頁又聲明未經逐篇覆核;這一點先回報給xmy,處理方式未定。

8月9日:帳單上限讓自動測試全面停擺

建置和驗證搬離筆電,瓶頸也跟著換了地方。8月9日凌晨起,帳號下12個程式庫的每個自動作業都在啟動兩秒後結束,失敗訊息指向扣款失敗或花費上限不足,xmy調高上限後才恢復。事後拆帳,這不是異常燒錢:主要的程式庫8天跑了1,106次作業,自動測試和畫面比對佔83%。浪費來自合併規則:每條改動分支必須先跟上主線才能合併,卻沒開自動合併,幾個工作階段同時推進時,同步一次就重跑一整套、跑完又落後;8天裡分支上的測試跑了242次,真正合進主線的改動只有56個,平均每個改動跑4.3輪。當天先做了三項調整,約省下當月帳單的11%;要不要改成自動合併或排隊合併,列為待xmy決定的事項。

這週多出來的檢查

地址、公司、交通、藥品四份共用資料,這週都發布到雲端物件儲存(存放大型檔案的雲端空間),每次發布留下收據;網站建置直接讀已發布的版本、不准退回讀本機檔案,筆電上的程式碼副本縮到25MiB、不含任何資料庫。部署前先寫好指定專案的設定檔,並比對線上是否剛被別人更新;驗收除了看內容,還要確認實際在服務的是哪個專案。

如果你也用AI經營網站

這一週最大的轉變,是把「完成」的定義從線上打得開,改成在別的機器上能重建出同一份。這個定義很費工,擋下的卻都是真問題:A 站的56篇指南、C 站的240頁、只有這台Mac才有的繪圖套件和字型。本機建得起來不代表什麼,換一台乾淨的機器再建一次,才知道手上到底缺了什麼。

其次,讓AI寫下的每一份內容都回到程式庫。這週好幾次救回內容,靠的是AI助手留下的對話紀錄,但那是剛好留著,不是設計好的備份。如果你讓AI助手改網站,至少把這些紀錄保存好;更根本的做法,是不讓任何改動繞過程式庫直接上線。

最後,好幾個AI同時工作時,最容易出事的往往不是單一任務,而是交界:幾個工作階段同時碰同一批網站、部署工具的預設值、帳單上限,以及頁面上的說法和背後流程之間。30站網域被導錯那次,驗收條件全部通過;H 站的表單也一直收得到資料。檢查只會回答你問它的問題,所以除了確認內容對不對,也要確認是哪個專案在服務、表單另一端有沒有人在接。

相關事件報告

這一週的每日日誌