好看的畫面、頁面回傳 HTTP 200,或一次成功的部署,都不足以證明產品解決了問題。這篇把產品工作拆成 6 個可查核階段;每一階段都要留下可重跑的輸入、輸出、驗收訊號,或清楚的限制。案例來自本站公開的 小賽影片壓縮器掛谷猜想 3D 實驗室小賽 AI 樂透預測

1. 問題定義:先寫出不能拿來冒充成功的結果

問題定義的輸入是使用者情境與失敗代價,而不是功能清單。影片壓縮器的情境是「不願把私人影片交給陌生伺服器」,所以目標是讓選取檔案、轉碼與下載留在瀏覽器工作階段;這不等於可以宣稱「100% 隱私」。作者 2026 年 7 月 24 日的工作紀錄提到 FFmpeg Worker 載入失敗與模擬模式,但沒有保留 HAR、Console/Worker 日誌、瀏覽器版本、測試檔雜湊或程式版本快照,因此不能用它判定目前的轉碼路徑或連線行為。

可檢查的產出是兩條不同的驗收規則:一條檢查壓縮期間是否沒有影片上傳請求;另一條檢查輸出檔是否存在、可播放且不是空白 Blob。前述舊工作紀錄沒有足以重現的原始證據,所以不能證明其中任一規則曾通過;兩者都必須由目前版本的測試重新驗證,不能把介面上的成功畫面或 HTTP 200 寫成產品完成。

2. 資料與風險:保留基準與負面結果

資料驅動產品應先列出資料來源、資料截止點、比較基準與不該推論的結論。小賽 AI 樂透預測 的輸入是歷史開獎資料與固定選號規則,並把均勻隨機模型保留為基準;產出包括逐期事前保存的預測、開獎後評分、卡方均勻性與獨立性檢查。

驗收訊號不是「曾猜中一組號碼」,而是候選方法必須在相同資料窗口與樣本外期間,持續優於隨機基準。目前公開結論是頻率、冷熱號、遺漏間隔、LSTM、Markov 與集成方法都沒有顯著勝過隨機選號。這是有效結果,因為它限制了產品可說與不可說的事。

3. 最小可驗證路徑:縮小到能重複的行為

最小可驗證路徑不必先追求完整商業功能,但必須能排除錯誤解釋。掛谷猜想 3D 實驗室 以同一套確定性方向取樣與 Three.js 實例化繪圖核心,支援互動科普、沉浸藝術與 6 步驟教學三個入口。相同參數與亂數種子產生相同結果,是可重複的輸入與輸出關係。

這個案例的限制同時也是驗收的一部分:畫面只呈現有限方向取樣與有粗細的細管,不能取代無限方向與極限過程的數學證明。WebGL 無法建立時,頁面必須保留文字、靜態圖形與修正建議,而不是把空白畫布誤認為「已完成的 3D 體驗」。

4. 驗證:測量使用者目標,而非只測頁面存在

驗證要連結到先前定義的輸出。作者 2026 年 7 月 24 日的工作紀錄曾寫下 window.crossOriginIsolatedtrue、FFmpeg Worker 因跨來源載入被拒絕,以及程式進入模擬模式並產生空白 Blob;但這些記錄沒有可追溯的原始證據,不能獨立證明歷史或目前行為。它只說明正確的驗收順序:目前版本必須先檢查真實輸出是否可播放、大小是否合理、網路請求是否沒有影片上傳,最後才看進度條與下載按鈕。

自動化測試也要等到頁面達到可操作狀態,再斷言可觀察的結果。Playwright 的 locator 動作會檢查元素是否可見、穩定、接收事件且可用,斷言也會自動重試;它能降低 UI 測試的偶發失敗,但不能替代輸出檔可播放或資料研究樣本外有效的驗收。每項測試都要能指出它驗證的是哪一條產品主張。

5. 發布:把部署視為交付紀錄,不是產品證明

發布的輸入是通過驗收的版本、可追溯的變更與已知限制。Cloudflare Pages 的 Git integration 可以在分支提交與 Pull Request 產生預覽、提供建置與部署狀態;GitHub Actions 的 environments、保護規則與部署狀態則可記錄部署目標與流程。這些都是審查訊號,不能單獨證明實際功能正確。

公開發布時,至少應同時交付內容邊界。小賽 AI 樂透預測 的公開頁面保留娛樂、教育與資料研究定位,說明沒有模型證明優於隨機,並提供隱私權政策與未滿 18 歲警語。這些文字不是免責裝飾,而是避免把研究輸出誤作投注或收益承諾的發布條件。

對這個網站的內容頁,Astro collection schema 是另一條發布前檢查:前置資料需符合固定欄位與型別,才能在建置時被驗證並穩定產生路由。它保證內容結構,不保證文章中的產品主張已被實驗證實。

6. 維護:把未完成事項轉成下一次可驗收的工作

維護不是只修飾文案,而是把已知缺口轉成具體的輸入、輸出與停止條件。影片壓縮器下一步應先移除假成功;若 Worker 或核心載入失敗,輸出必須是明確錯誤與禁用下載。之後才以同源託管的 Worker 與 FFmpeg 核心,重跑小型影片端對端測試,驗收可播放輸出、合理檔案大小與無影片上傳。

樂透研究的維護輸出應記錄每個模型版本、資料截止時間、樣本外期間、評分方式與升降級原因;未優於基準就維持研究結論,不升格為預測能力。掛谷實驗室則持續把有限取樣、減少動態偏好、WebGL fallback 與原始數學論文來源留在產品中,避免互動效果遮蔽數學邊界。

不適用情況

這套流程適合可觀察、可重跑的軟體、資料研究或內容交付。它不適合單靠靜態網站建置就能處理的即時交易、醫療、法律、安全關鍵控制或其他高風險決策。這些情況還需要領域專家審查、資料治理、權限與稽核設計、事故處理流程,以及符合所在地規範的驗證;一篇案例文章或前端測試不能取代它們。

若只是探索視覺方向、研究問題或尚未決定使用者與驗收標準,也不應急著套用「產品已發布」的敘事。先把範圍稱為原型或研究,並寫明尚未驗證的假設,會比提早承諾更有用。

何時應停止或縮小範圍

遇到下列訊號,應停止宣稱原目標已達成,或把範圍縮小到已能證實的部分:

  1. 真實輸出不存在、不可播放或只能靠模擬成功呈現時,停止把影片壓縮器稱為可用轉碼產品。
  2. 候選模型沒有穩定勝過隨機基準時,停止任何提高勝率、收益或預測能力的敘事,保留為娛樂與資料研究。
  3. 有限 3D 視覺化被理解成數學證明時,縮小主張為教學與直覺輔助,保留有限取樣與原始論文連結。
  4. 建置、預覽或 HTTP 200 通過,但沒有對應到原先的輸入與驗收訊號時,停止發布判定,回到驗證階段補足證據。

可靠的產品流程不是每一步都成功,而是能明確回答:目前證實了什麼、尚未證實什麼、下次要用什麼訊號決定繼續、縮小或停止。