Community研究與資料分析github.com

tidewatch-fish/ai-eval-toolkit

一個可擴展的工具包,用於自動化評估LLM與AI代理,包含評分標準評審器、數據集、評分腳本與回歸測試。

ai-eval-toolkit 是什麼?

這個技能提供了一個完整的自動化評估工具包,讓開發者能夠使用固定金融規則對LLM和AI代理的回答進行結構化評測。它支援多維度獨立判斷,包括準確性、完整性、幫助性等,並確保每個維度的評估過程彼此隔離,避免重複扣分。使用者可以透過 CLI 腳本批次準備測試任務、生成結構化評審結果,並進行彙總統計,包含通過率、人機一致率與誤召率。該工具主要支援在本地開發環境中使用 Python 執行,適合需要對金融領域AI回答進行高精度品質控管的團隊。其核心優勢在於嚴謹的領域邊界規則與可追溯的版本迭代機制,能有效降低模型輸出中的合規風險。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add tidewatch-fish/ai-eval-toolkit

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

金融 Rubric 評測器

使用固定金融品質規則評測回答。不要為每道題臨時生成 criterion,也不要在評測過程中提供新的金融建議。

執行評測

1. 讀取規則與數據契約

先讀取:

  • references/finance-rubric.json:維度觸發條件、通過條件、不通過條件與邊界規則。
  • references/data-schema.md:輸入輸出欄位與資料約束。

2. 準備任務

將使用者提供的內容整理為 assets/eval-case-template.json 的結構。只評測一個維度時,指定 dimension_id:

python scripts/prepare_eval.py --input assets/sample-case.json

完整評測同一個回答時,生成三個相互隔離的任務:

python scripts/prepare_eval.py --input assets/sample-case.json --all-dimensions

批次輸入可使用 JSON 陣列或 JSONL。每條記錄仍然只對應一個維度;使用 --all-dimensions 時,腳本會為每條記錄展開三個獨立任務。

3. 獨立判斷每個任務

嚴格按以下順序執行:

  1. 檢查當前維度的全部 trigger_conditions;任一不滿足,返回「不適用」。
  2. 只讀取當前維度的 judgment_rule、pass_conditions、fail_conditions 與 boundary_rules。
  3. 僅使用輸入中的參考材料、標準答案、對話上下文與任務要求判斷。
  4. 引用待評回答中的直接證據,輸出一個結構化判斷。

始終隔離維度:

  • 已表達內容的正誤屬於準確性;
  • 資訊遺漏屬於完整性;
  • 已提供內容是否清晰、可理解、可執行屬於幫助性;
  • 同一問題不要在多個維度用相同理由重複判錯。

輸出:

{
  "case_id": "fin-001",
  "dimension_id": "accuracy",
  "result": "錯",
  "evidence": ["回答中的原文或精確定位"],
  "reason": "錯:核心結論與參考材料相反。"
}

結果語義:

  • 對:滿足當前維度;
  • 錯:違反當前維度;
  • 不適用:當前維度不適用或證據不足。「不適用」不是「對」,統計通過率時必須排除。

4. 校驗並彙總

校驗單條判斷:

python scripts/score_result.py --input assets/sample-judgment.json

批次輸入可使用 JSON 陣列或 JSONL。腳本會輸出總體與分維度的「對」「錯」「不適用」數量、適用率及通過率。若每條判斷附帶 human_judgment.result,還會計算人機一致率、錯誤樣本召回率與誤召率。

python scripts/score_result.py --input experiment/judgments.example.jsonl --summary-only

腳本不再把判斷映射成分數。「不適用」始終保留為獨立狀態,彙總統計時單獨排除。

金融領域邊界

  • 只依據給定參考材料、標準答案與上下文判斷。
  • 準確性缺少可靠核驗材料時返回「不適用」,不要用外部常識補判。
  • 不要假設所有金融回答都需要免責聲明;只有參考材料或任務要求明確需要時,才按對應維度判斷。
  • 準確性維度中,無依據的收益、審批、賠付、時效或無風險保證直接判不通過。
  • 不要因為「金融風險高」而擴大使用者問題的必要資訊範圍。

校準規則

  1. 使用 experiment/regression-set.example.jsonl 建立最小回歸集。
  2. 用開發集定位誤判並修改 references/finance-rubric.json。
  3. 遞增 rubric_version,再用未參與修改的留出集驗收。
  4. 按 references/report-checklist.md 記錄版本、召回率與誤召率。

不要把某個產品的利率、費用、期限或資格寫進通用 Rubric;把這些事實放在樣本的 reference_context 中。

配套資源

  • assets/sample-case.json:可直接運行的定期存款樣本;
  • assets/sample-judgment.json:對應判斷範例;
  • experiment/regression-set.example.jsonl:金融邊界最小回歸集;
  • experiment/judgments.example.jsonl:可直接運行的批量判斷與人工標籤範例;
  • references/report-checklist.md:報告口徑與版本追溯清單。

相關技能