eval-design 是做什麼的?
你正在設計的是衡量方式,而不是產品本身。這個技能的產出是 一個能在會議室中被辯護的決策,而非一個數字。
大多數情況下,這個決策是下一步該修正什麼。只對系統進行排名的評估只是報告; 一個能指出哪兩件事讓你付出最多成本,並在重新執行時證明修正有效的評估, 則是一個開發循環。要為後者而建構——失敗分類和每個標準的細項分解比總分更重要, 因為這些才是人們可以採取行動的部分。
立場
四條規則。它們是意見,也是這個技能的重點。
1. 杜絕感覺。「感覺更好」不是結果。如果一個變更無法表現為在固定集合上 測量的某個定義標準的移動,那麼它就沒有被評估。你可以憑喜好上線—— 只是別聲稱它經過測試。
2. 每個標準都必須是可辯駁的。 兩個審慎的審查者不可能落在相反立場的標準,
其實什麼都沒在測量。「輸出是否有幫助?」不是一個標準。
「回覆是否說明了退款期限(天數)?」才是。評分量表中的每個標準都承載著
它被書寫出來所要解決的特定分歧——請見 references/rubric-design.md。
3. 預設不使用 LLM-as-judge。 評審是一個自帶錯誤率的系統,未經校驗的
評審會將其自身的錯誤混入你的總分中。先由人類標記,然後將評審對這些標籤
進行校準,最後將一致性結果與評審產出的每一個結果一同發布。
請見 references/judges.md。
4. 報告基線,否則評估就是行銷。 正則表達式、關鍵字規則、目前的生產系統, 或者什麼都不做。大約有三分之二已上線的 AI 功能,在至少一個標準上輸給了 成本為零的方案,而你希望是在招聘主管或副總發現之前就知道這一點。
由此衍生出兩條結構性規則:
- 門檻是底線,不是權重。 安全、法律或信任相關的標準不能與平均表現 進行權衡。低於底線的系統,不論價格如何都不是候選項。加權平均恰好 掩蓋了這一點。
- 要有信賴區間,否則不排名。 當樣本數為 n=150 時,3 分的差異只是雜訊。 在雜訊範圍內對系統進行排名,是評估工作誤導閱讀者的最常見方式。
工作流程
按此順序進行。不要跳到評分——每一次評估的失敗,都可以追溯到 某個被跳過的步驟。
- 找出決策。 結果會改變什麼?「我們要上線哪個模型」、「這個能否 無人監督」、「提示詞變更是否造成迴歸」。如果什麼都不會改變,就停下來 並據實以告——這是流程中最有價值的一刻,而誠實的回答有時是「你不需要 做評估」。
- 先撰寫失敗分類。 在標準之前。收集 30-50 個真實輸出,逐一閱讀,
並將錯誤分群。從觀察到的失敗中推導出的標準,永遠比從想像中得來的好。
→
references/failure-taxonomy.md - 將分類轉化為標準。 每個標準都有一個權重、一個分歧點,以及可選的
門檻。→
references/rubric-design.md - 建立黃金測試集。 分層的、對抗性的、版本化的,並且小到人類能夠
實際標記。→
references/golden-sets.md - 由人類標記,衡量一致性。 如果兩個標記員無法達成一致,那是評分量表
有問題,而不是標記員有問題。修正評分量表後重新標記。
→
references/statistics.md - 現在才考慮評審,而且只能使用已校準的。 →
references/judges.md - 執行所有系統,包含非 AI 基線,寫入
results.json,然後渲染。 →references/scorecard-spec.md - 親自撰寫結論。 評分卡顯示數字;由人類說明正在進行的取捨, 以及什麼情況會推翻這個決策。
渲染
python3 skills/eval-design/scripts/render_scorecard.py results.json --md
寫入一個自包含的 scorecard.html(無外部請求,支援淺色與深色主題)
以及一個供在儲存庫中閱讀的 SUMMARY.md。結構說明:
references/scorecard-spec.md。
python3 skills/eval-design/scripts/validate_rubric.py results.json
會因那些讓評分卡不誠實的錯誤而失敗:權重總和不等於 1、標準未說明分歧點、 門檻沒有正當理由、缺少基線,或在信賴區間內宣稱排名。
何時不使用此技能
- 一次性的提示詞調整,沒有相關決策。 直接看輸出就好。
- 你沒有使用者,也沒有範例。 先取得 30 個真實輸入。基於想像輸入的 評估,只是在衡量你的想像力。
- 任務有程式可以檢查的正確答案——例如算術、有效的 JSON、能編譯的 建置。就寫檢查邏輯,而不是評分量表。
- 有人想要一個數字來證明一個已經做出的決定。 大聲說出來,而不是 建立這個評估。
參考檔案
按需載入;不要一次全部讀完。
| 檔案 | 何時閱讀 |
|---|---|
references/rubric-design.md | 撰寫或修正標準時 |
references/failure-taxonomy.md | 從真實輸出開始時 |
references/golden-sets.md | 選擇案例並進行分層時 |
references/judges.md | 有人提議使用 LLM-as-judge 時 |
references/statistics.md | 樣本大小、信賴區間、一致性、漂移 |
references/scorecard-spec.md | 撰寫 results.json 時 |
references/antipatterns.md | 審查他人的評估時 |