我用錯的量法,差點讓我把工作量翻倍
這篇不是技術文,是一個很短的方法論事故。但它是我最近做過最划算的一次除錯。
事情經過
我在寫一批技術文章,自己訂了一個規格:每篇 800–1500 字。
寫完 12 篇之後跑了一次品管,量字數,結果是:
12 篇全部超標,最長的是上限的 1.76 倍。
我把這個結果報上去,並且給了兩個建議:把上限改成 2000–2500,或者認真砍。
對方的反應是第三個選項:
「那要不要把每篇拆成兩篇?」
12 篇拆成 24 篇。以那個系列的總篇數限制,這會吃掉整個檔期, 後面真正想寫的東西一篇都放不進去。
我正要開始評估怎麼拆的時候,停了一下,回去看我的量法。
量法錯了
我是拿整個 Markdown 檔直接數字元的。而那些檔案裡有兩種東西, 讀者永遠看不到:
- 檔頭的
<!-- 重跑紀錄 -->註解——我自己訂的規矩是發文前刪掉 - 程式碼區塊——貼上去是程式碼,不是文字
重新量一次,扣掉這兩項:
| 原始 | 純正文 | |
|---|---|---|
| 平均 | 2,709 | 1,553 |
| 最長 | 3,620 | 1,990 |
| 超過 2,000 的篇數 | 12 / 12 | 0 / 12 |
註解加程式碼合計約佔每篇 40%。
真正的分佈是貼著 1,500 上下,只有兩篇明顯偏長——而那兩篇都是有實驗的重篇,長是合理的。
沒有一篇需要拆。
我差點做出的決定
如果我沒有回頭檢查量法,接下來會發生的事:
- 花幾天把 12 篇拆成 24 篇
- 檔期被吃光,原本規劃的重點內容進不去
- 拆完之後每篇變得又短又碎,敘事斷掉
- 而且問題根本不存在
代價是幾天的工,加上一個系列的結構。而修正成本是十分鐘寫一個腳本。
兩個可以帶走的東西
一、指標和它的量法是兩件事,而錯誤通常在後者。
「12 篇全部超標」這句話本身沒有錯——用我當時的量法,它是真的。 錯的是那個量法量進了不該算的東西。
而且注意這個錯誤有多好偽裝:它給出的不是一個離譜的數字, 是一個看起來很合理的壞消息。如果它回報「每篇 50 萬字」,我立刻就會懷疑。 但「超標 1.76 倍」剛好落在「有點糟但可信」的區間。
最危險的錯誤數字,是那些看起來剛好合理的。
二、當指標要求你做一個很貴的決定時,先驗指標。
「拆成 24 篇」是一個高成本、難回頭的動作。 在付出那個成本之前,回頭花十分鐘驗證輸入, 是我做過投資報酬率最高的一次除錯。
反過來說:如果指標建議的動作很便宜(改個標題、調個參數), 那不驗也還好。驗證的力氣應該跟決定的代價成正比。
後來
我寫了一個小腳本,扣掉註解、程式碼區塊和表格之後再數,
並且把量法寫進規格檔——「上限 1900 字,量法是 _wordcount.py」,
而不是只寫「上限 1900 字」。
因為一個沒有定義量法的門檻,等於沒有門檻。
你有沒有遇過「指標說有問題,但問題在指標本身」的情況?後來是怎麼發現的?
🧪 這篇的實驗環境與 lab 檔案(最後更新 2026-08-30)
叢集
- CRC 2.63.0 · OpenShift 4.22.7 · Kubernetes v1.35.6
- 單節點:13 vCPU / 40 GiB RAM / 120 GB disk
- 宿主:Framework Laptop 16(Ryzen AI 7 350 · 8C/16T · 64 GB RAM · 1 TB NVMe · RTX 5070 顯卡模組)
- ⚠️ 叢集內看不到 GPU(CRC 是 VM,RTX 5070 未 passthrough)
Operator
opendatahub-operator.v3.5.0← 即 RHOAI 3.x 的上游開源版cert-manager-operator.v1.20.0(3.x 的必要相依;2.x 不需要)openshift-pipelines-operator-rh.v1.23.2、openshift-gitops-operator.v1.21.3
DataScienceCluster 開啟的元件
kserve、aipipelines、dashboard、workbenches、modelregistry、kueue(Unmanaged)- 其餘(
ray/trustyai/feast/aigateway…)為Removed
叢集外的依賴(跑在宿主的 podman 上,crc start 不會帶起來)
- Harbor v2.15.2(私有 registry)· MinIO(S3)
模型端
- Python 3.12.13 · PyTorch 2.11.0+cu128 · FastAPI + uvicorn · prometheus-client
lab 檔案
- YAML/Containerfile/腳本:github.com/ryanGTR/openshift-ai-30days
(含 Day 對照表;主機名是佔位符,跑
set-lab-host.sh換成你自己的) - 服務的那個模型:llm-from-scratch(從零手刻的小 GPT)
⚠️ ODH ≠ RHOAI:元件同源,但 namespace 與部分名稱不同
(我這裡是 opendatahub,商用版是 redhat-ods-* 那一套)。
指令的邏輯可以照用,字串要自己對一次。
留言與指正
我特別想知道:你有沒有遇過「指標說有問題,但問題在指標本身」的情況?後來是怎麼發現的?