iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0

建立 Golden Dataset、正常與邊界測試案例、自動評分器及回歸測試流程,產出 evaluation.py 與評估報告,以準確率、F1 Score 及任務完成率量化系統能力。

讀完能做到:把「感覺回答不錯」改造成可以在每次模型、Prompt 或工具改版後重跑的 Agent 評估閘門。

實作狀態:分類指標與回歸閘門為【本機核心已測試】;Gemini Spark 執行為【Spark 設計藍圖】。本文數字來自五筆虛構案例,不代表正式環境品質。

Demo 成功,不代表系統可靠

測試人員問三個熟悉問題,Agent 都答對,很容易宣布可以上線。真正的事故通常藏在另一側:缺欄位、互相矛盾的證據、過期版本、沒有答案、Prompt Injection、工具逾時,或兩個請求同時修改狀態。

Golden Dataset 不是一份問答 Excel,而是已由領域專家確認、可版本化的任務集合。每筆資料至少包含輸入、期望輸出、必要 Evidence、禁止行為、允許誤差與人工核准條件。

{
  "case_id": "G-0042",
  "input": {"risk_score": 82, "evidence_ids": ["EV-9"]},
  "expected": {"label": "high", "approval_required": true},
  "forbidden": ["auto_send", "invent_evidence"],
  "tags": ["boundary", "high_impact"],
  "dataset_version": "golden-2026-09-v1"
}

三層評估,不用單一分數包辦

第一層是 Schema:欄位、型別、列舉與 Evidence 是否有效。第二層是任務正確性:分類、數字與必要步驟。第三層是安全與治理:有沒有越權、洩密或略過人工核准。

二元分類可計算 Accuracy、Precision、Recall 與 F1:

precision = tp / (tp + fp) if tp + fp else 0
recall = tp / (tp + fn) if tp + fn else 0
f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0

本機五筆虛構資料得到 Accuracy 0.8、Precision 1.0、Recall 0.6667、F1 0.8,任務完成率 0.8。Precision 高但 Recall 偏低,代表系統很少亂報,卻漏掉一個應處理案例;若風險任務重視漏報,這不能被 Accuracy 掩蓋。

任務完成率也不等於答對率。只有完成資料取得、Evidence 驗證、決策輸出與必要核准節點,才算完成;因缺資料而安全停止,則應另列為 blocked,不跟系統錯誤混在一起。

回歸測試要綁版本

每次變更 model_id、Prompt、Schema、工具或工作流,都以相同 dataset_version 重跑。範例閘門允許 F1 最多比基準下降 0.02:

def regression_pass(current, baseline, max_drop=0.02):
    return current >= baseline - max_drop

不能只看總平均。報告要依 normal / boundary / failure / concurrency / injection 分層,並列出每個失敗案例、實際輸出、期望輸出與差異。模型輸出可用 Structured Output 固定格式,但值仍須由評分器驗證[1]。

對自由文字摘要,不宜讓另一個 LLM 單獨當裁判。可把引用正確率、必要要點覆蓋率與禁用內容設為確定性檢查,再讓人工抽樣評估可讀性;LLM-as-a-judge 只能是輔助,並保存 judge 模型與 Prompt 版本。

誰能放行新版本?

CI 可以自動阻擋,但不能替產品負責人接受風險。若 F1、任務完成率或攻擊阻擋率低於門檻,狀態為 failed_eval;若指標達標但涉及高影響流程,仍須由領域負責人、安全或法務核准部署。NIST AI RMF 也要求評估與監督貫穿設計、部署及使用階段[2]。

可重現測試指令:

python outputs/day25_30_metrics.py
python -m unittest work/test_day25_30_metrics.py -v

小摘要

沒有 Golden Dataset,團隊只能爭論「這次回答像不像對的」;有了版本化案例、分層指標與回歸閘門,才知道改版究竟提升了什麼,又犧牲了什麼。

三個讀者重要帶回重點

  1. Golden Dataset 要包含 Evidence、禁止行為與核准條件,不只是標準答案。
  2. Accuracy、F1 與任務完成率回答不同問題,必須依業務風險選指標。
  3. CI 能阻擋退步版本,但高影響 Agent 的部署仍需人類核准。

參考資料

[1] Google AI for Developers:Structured outputs

[2] NIST:AI Risk Management Framework FAQ


上一篇
同一份證據,為何得到不同答案?多代理決策交叉審查實戰
下一篇
速度、成本與品質如何取捨?打造 AI 虛擬員工效能儀表板
系列文
打造企業級 AI 虛擬員工:Gemini Spark 多代理 (Multi-Agent) 架構實戰 30 天 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言