角色包評估(W9)
固定情境加重跑腳本:每次改角色包(SKILL.md、規則段落、對白索引、分類提示)後重跑,輸出各版本並排的表,供人工打分。
重跑
python3 -I tools/eval/run_eval.py # 預設:不注入對白
python3 -I tools/eval/run_eval.py --index-dir ~/.claude/anime-companion # 連同索引檢索的對白一起評
python3 -I tools/eval/run_eval.py --model opus --out eval-out/before.md
需要可用的 claude CLI。輸出預設在 eval-out/<時間>.md(不入版本控制)。回覆是不給工具、在空目錄產生的純文字。
檔案
| 檔案 | 說明 |
|---|---|
scenarios.json |
7 個固定情境:報錯、拒絕請求、完成任務、危險操作確認、承認錯誤、打招呼、說明計畫。含預期的功能標籤與人工打分的檢查重點 |
variants.json |
要並排比較的版本(角色 × 強度);加版本就在這裡加一行 |
run_eval.py |
重跑腳本 |
test_run_eval.py |
測試;也檢查移植的規則字串仍與 TypeScript 一致 |
輸出
- Haiku 分類對照表:每個情境預期與實際的功能標籤,列出誤判。
- 每個情境一張表:各版本的回覆並排,附「分數(1~5)」「備註」兩欄留白。
流程
- 改動前先跑一次存成
before.md,改動後再跑。 - 人工打分,把結果與結論貼到對應議題的留言。
- Haiku 分類誤判多時,在議題記錄誤判的情境,並提出改進(調整分類提示、標籤定義或補範例)。
規則段落、分類提示與檢索邏輯是 plugins/anime-companion/hooks 的移植;改動 rules.ts、classify.ts、retrieval.ts 時要同步 run_eval.py。
測試
cd tools/eval && python3 -I -m unittest discover