Communitygithub.com

YoursSarcastically/eval-design

將「這個 AI 功能有用嗎?」轉化為可被辯論的評分卡。包含評分量表、失敗分類、門檻和信賴區間——渲染為自包含的 HTML。

eval-design 是什麼?

這個技能(eval-design)的核心目標是設計可靠的 AI 評估流程,而非產品本身。它提供了一套嚴謹的四條基本原則與結構化的工作流程,確保評估結果不僅是一個數字,而是一個可辯護、可行動的決策依據。技能強調必須從真實輸出中歸納失敗分類(failure taxonomy),並在此基礎上設計可辯駁的評分標準(criteria),避免使用未經校準的 LLM 作為評審(judge)。此外,它要求報告非 AI 基線(baseline),並強制使用門檻(gates)和信賴區間(confidence intervals)來防止誤導性的排名。此技能支援 Claude Code 等開發平台,透過 Python 腳本生成自包含的 HTML 評分卡(scorecard.html)與摘要(SUMMARY.md),並包含驗證腳本確保評分的誠實性。參考文件按需載入,涵蓋了從歸納失敗、設計量規、建立黃金測試集到統計分析與反模式檢查的完整生態系統。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add YoursSarcastically/eval-design

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

eval-design 是做什麼的?

你正在設計的是衡量方式,而不是產品本身。這個技能的產出是 一個能在會議室中被辯護的決策,而非一個數字。

大多數情況下,這個決策是下一步該修正什麼。只對系統進行排名的評估只是報告; 一個能指出哪兩件事讓你付出最多成本,並在重新執行時證明修正有效的評估, 則是一個開發循環。要為後者而建構——失敗分類和每個標準的細項分解比總分更重要, 因為這些才是人們可以採取行動的部分。

立場

四條規則。它們是意見,也是這個技能的重點。

1. 杜絕感覺。「感覺更好」不是結果。如果一個變更無法表現為在固定集合上 測量的某個定義標準的移動,那麼它就沒有被評估。你可以憑喜好上線—— 只是別聲稱它經過測試。

2. 每個標準都必須是可辯駁的。 兩個審慎的審查者不可能落在相反立場的標準, 其實什麼都沒在測量。「輸出是否有幫助?」不是一個標準。 「回覆是否說明了退款期限(天數)?」才是。評分量表中的每個標準都承載著 它被書寫出來所要解決的特定分歧——請見 references/rubric-design.md。

3. 預設不使用 LLM-as-judge。 評審是一個自帶錯誤率的系統,未經校驗的 評審會將其自身的錯誤混入你的總分中。先由人類標記,然後將評審對這些標籤 進行校準,最後將一致性結果與評審產出的每一個結果一同發布。 請見 references/judges.md。

4. 報告基線,否則評估就是行銷。 正則表達式、關鍵字規則、目前的生產系統, 或者什麼都不做。大約有三分之二已上線的 AI 功能,在至少一個標準上輸給了 成本為零的方案,而你希望是在招聘主管或副總發現之前就知道這一點。

由此衍生出兩條結構性規則:

  • 門檻是底線,不是權重。 安全、法律或信任相關的標準不能與平均表現 進行權衡。低於底線的系統,不論價格如何都不是候選項。加權平均恰好 掩蓋了這一點。
  • 要有信賴區間,否則不排名。 當樣本數為 n=150 時,3 分的差異只是雜訊。 在雜訊範圍內對系統進行排名,是評估工作誤導閱讀者的最常見方式。

工作流程

按此順序進行。不要跳到評分——每一次評估的失敗,都可以追溯到 某個被跳過的步驟。

  1. 找出決策。 結果會改變什麼?「我們要上線哪個模型」、「這個能否 無人監督」、「提示詞變更是否造成迴歸」。如果什麼都不會改變,就停下來 並據實以告——這是流程中最有價值的一刻,而誠實的回答有時是「你不需要 做評估」。
  2. 先撰寫失敗分類。 在標準之前。收集 30-50 個真實輸出,逐一閱讀, 並將錯誤分群。從觀察到的失敗中推導出的標準,永遠比從想像中得來的好。 → references/failure-taxonomy.md
  3. 將分類轉化為標準。 每個標準都有一個權重、一個分歧點,以及可選的 門檻。→ references/rubric-design.md
  4. 建立黃金測試集。 分層的、對抗性的、版本化的,並且小到人類能夠 實際標記。→ references/golden-sets.md
  5. 由人類標記,衡量一致性。 如果兩個標記員無法達成一致,那是評分量表 有問題,而不是標記員有問題。修正評分量表後重新標記。 → references/statistics.md
  6. 現在才考慮評審,而且只能使用已校準的。 → references/judges.md
  7. 執行所有系統,包含非 AI 基線,寫入 results.json,然後渲染。 → references/scorecard-spec.md
  8. 親自撰寫結論。 評分卡顯示數字;由人類說明正在進行的取捨, 以及什麼情況會推翻這個決策。

渲染

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審查他人的評估時

相關技能