规则库 3.8.1 + 排盘修复 + 评测体系
- 规则库 3.6→3.8.1(542→548 条):剪枝上锁、R-杂-38 从格临界双轨、 R-事-10~13 冲刑方向判别、R-禁-23 自造必要条件之禁 - 排盘修复随 3.6.2 已发:港澳时区夏令时双向误拨、晚子时双重换日 - 新增 评测/ 目录(BaziQA 题答分离、判分工具、记分卡、with/without-skill 对照) 与 scripts/query_rules.py 条款检索;ZIPEC_EVAL 评测额度豁免 - manifest 重建并重新签名;VERSION 保持 3.6.2,不发版不打 tag
This commit is contained in:
+101
@@ -0,0 +1,101 @@
|
||||
# 测试规则
|
||||
|
||||
本文件是评测纪律的定稿。任何一次得分收录进 `ai模型纬度得分/` 之前,
|
||||
必须满足下列全部规则。
|
||||
|
||||
## 1. 求解方式
|
||||
|
||||
- 求解统一使用**无任何上下文的新开子代理**,每命主独立排盘 + 独立推理,
|
||||
禁止跨命主共享推理上下文、禁止把其他命主的题目或答案带入会话。
|
||||
- 排盘使用**技能副本**(复制一份技能目录再跑,不改母版),并先对副本执行
|
||||
`评测/工具/extend_cities.py` 完成评测用地点扩展(境外/模糊地名 → 代理城市)。
|
||||
- 求解提示词按求解契约(任务书)执行:逐题复述考点 → 推理链 → 选项字母。
|
||||
|
||||
## 1.1 额度豁免(评测不烧授权次数)
|
||||
|
||||
评测/复测一律在命令前加环境变量 `ZIPEC_EVAL=1`:授权门(`scripts/_license_gate.py`)
|
||||
直接放行——**不签发、不扣次、不创建任何授权文件**,用户跑复测不消耗自己的授权次数。
|
||||
|
||||
```bash
|
||||
ZIPEC_EVAL=1 python scripts/cast_chart.py --name 张三 --gender 男 \
|
||||
--birth "1990-05-14 08:30" --place "四川省成都市"
|
||||
```
|
||||
|
||||
`评测/工具/` 下的脚本若内部调用排盘(批处理场景),环境变量随子进程继承,同样适用;
|
||||
`memory_save.py` 等其余经过授权门的入口也同一口径。
|
||||
|
||||
## 2. 盲测纪律(红线)
|
||||
|
||||
- 求解端**只接触** `试题/<赛事>/questions/`(盲版题面)。
|
||||
- **禁触** `试题/<赛事>/answers/`(答案键)、`ai模型纬度得分/`、
|
||||
他人 `ai答案/`、以及任何含官方答案/跑分的文件;不得联网搜索题目或赛事答案。
|
||||
- 若在允许阅读的材料中发现疑似答案泄露(如题目 JSON 残留 answer 字段),
|
||||
立即停止该命主作答,在答案文件开头写明泄露位置并报告,不利用泄露内容。
|
||||
|
||||
## 3. 排盘口径
|
||||
|
||||
- 每命主**先排真太阳时主盘**;满足任一条件再排 120°E 不经度修正的**对照盘**:
|
||||
- 主盘真太阳时距时辰边界(奇数整点)小于 15 分钟;或
|
||||
- 出生地为境外/模糊地名(美国、中国、中国大陆、日本、马来西亚、新加坡、台湾、香港等)。
|
||||
- **双盘口径纪律**:两盘答案不同时,答案行以真太阳时主盘为准,并在行尾标注
|
||||
`Q2: B # 口径分歧: 对照盘=C`。
|
||||
- 排盘失败(退出码非 0)不得自行猜测降级:记录 stderr、答案文件标注「排盘失败」,
|
||||
5 行答案仍须给出(按最倾向项,标 `# 低置信`)。
|
||||
|
||||
## 4. 输出契约(判分脚本只认这个格式)
|
||||
|
||||
- 每命主写 `<submissions>/<contest>_<person_id>.md`,末尾恰好 5 行:
|
||||
`Q1: A` … `Q5: X`,X ∈ {A,B,C,D};行尾允许 `#` 注释。
|
||||
- 题号必须按**每命主 Q1 起连续编号**(Q1…Qn 对应该命主题面第 1–n 题),
|
||||
严禁全局题号或跨命主续号——2026-10 规则库 3.7 轮曾因答案文件使用全局题号
|
||||
导致判分漏计,修正为 Q1 起连续编号后重跑收录。
|
||||
- 断不出:给最倾向项并标 `# 低置信`;完全无法给倾向时标 `Q3: N`
|
||||
(判分按未答处理,属最后手段)。
|
||||
- 5 行之外不得出现其他 `Q\d:` 开头的行(判分按每题首次出现取值)。
|
||||
|
||||
## 5. 判分
|
||||
|
||||
- 判分一律用 `评测/工具/run_eval.py` **脚本判分**,不用模型裁判。
|
||||
- 判分输入:`--questions` 盲版 + `--answers-key` 答案键 + `--submissions` 待判答案目录;
|
||||
输出 eval_result.json(逐题明细)与 eval_report.md(统计报告)。
|
||||
- 报告与官方基线(34.5%,口径见 `试题/BaziQA-全球算命师大赛/SOURCE.md`)对照。
|
||||
|
||||
## 6. 对照组规范
|
||||
|
||||
- `without-skill` 组:同一模型**裸答**——不给排盘、不给规则库,
|
||||
只给出生信息 + 题目,输出契约与判分方式与 with-skill 完全相同。
|
||||
- 对照组与实验组必须使用同一模型、同一题目集、同一判分脚本。
|
||||
|
||||
## 7. 收录规范
|
||||
|
||||
- 目录命名:`ai模型纬度得分/<模型名>/<with-skill|without-skill>/` 与
|
||||
`ai答案/<模型名>/<with-skill|without-skill>/`;模型名一律小写(如 `kimi-k3`)。
|
||||
- 历史留档存档:被新一轮替换的旧答案目录改名 `<模式>-v<规则库大版本>/`
|
||||
(如 `with-skill-v3.6/`)并列存放;当前成绩固定收录于 `<模式>/`。
|
||||
- 每个得分目录收录三件:`得分.json` + `得分.md` + `得分.html`
|
||||
(`得分.html` 由 `评测/工具/render_scorecard.py` 渲染)。
|
||||
- `得分.json` 字段 schema:
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "kimi-k3",
|
||||
"skill_mode": "with-skill",
|
||||
"skill_version": "3.6.2-未发版(规则库 3.7)",
|
||||
"eval_date": "2026-10-13",
|
||||
"benchmark": "BaziQA-全球算命师大赛",
|
||||
"overall": {"total": 200, "correct": 79, "accuracy": 39.5, "no_answer": 0},
|
||||
"baseline": {"name": "官方基线(Gemini)",
|
||||
"overall": {"total": 200, "correct": 69, "accuracy": 34.5},
|
||||
"per_contest": {"contest8_2021": 27.5},
|
||||
"per_dimension": {"流年运势": 40.5}},
|
||||
"per_contest": {"contest8_2021": {"total": 40, "correct": 19,
|
||||
"accuracy": 47.5, "no_answer": 0}},
|
||||
"per_dimension": {"流年运势": {"total": 37, "correct": 13,
|
||||
"accuracy": 35.1, "no_answer": 0}}
|
||||
}
|
||||
```
|
||||
|
||||
- `per_contest` / `per_dimension` 的数值必须来自 `run_eval.py` 输出,
|
||||
不得手工填写;`得分.md` 错题清单的错因分类可人工/脚本合并补录。
|
||||
- 新赛事:`试题/<赛事名>/` 一个目录(questions/ + answers/ + SOURCE.md),
|
||||
由 `make_blind.py --src <原始包> --out 试题/<赛事名>` 生成。
|
||||
Reference in New Issue
Block a user