# 角色包評估(W9) 固定情境加重跑腳本:每次改角色包(SKILL.md、規則段落、對白索引、分類提示)後重跑,輸出各版本並排的表,供人工打分。 ## 重跑 ```bash 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 一致 | ## 輸出 1. Haiku 分類對照表:每個情境預期與實際的功能標籤,列出誤判。 2. 每個情境一張表:各版本的回覆並排,附「分數(1~5)」「備註」兩欄留白。 ## 流程 1. 改動前先跑一次存成 `before.md`,改動後再跑。 2. 人工打分,把結果與結論貼到對應議題的留言。 3. Haiku 分類誤判多時,在議題記錄誤判的情境,並提出改進(調整分類提示、標籤定義或補範例)。 規則段落、分類提示與檢索邏輯是 `plugins/anime-companion/hooks` 的移植;改動 `rules.ts`、`classify.ts`、`retrieval.ts` 時要同步 `run_eval.py`。 ## 測試 ```bash cd tools/eval && python3 -I -m unittest discover ```