Files
moxiaonian 1a0eed1999 规则库 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
2026-10-13 12:34:36 +08:00

5.5 KiB
Raw Permalink Blame History

测试规则

本文件是评测纪律的定稿。任何一次得分收录进 ai模型纬度得分/ 之前, 必须满足下列全部规则。

1. 求解方式

  • 求解统一使用无任何上下文的新开子代理,每命主独立排盘 + 独立推理, 禁止跨命主共享推理上下文、禁止把其他命主的题目或答案带入会话。
  • 排盘使用技能副本(复制一份技能目录再跑,不改母版),并先对副本执行 评测/工具/extend_cities.py 完成评测用地点扩展(境外/模糊地名 → 代理城市)。
  • 求解提示词按求解契约(任务书)执行:逐题复述考点 → 推理链 → 选项字母。

1.1 额度豁免(评测不烧授权次数)

评测/复测一律在命令前加环境变量 ZIPEC_EVAL=1:授权门(scripts/_license_gate.py) 直接放行——不签发、不扣次、不创建任何授权文件,用户跑复测不消耗自己的授权次数。

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:
{
  "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 试题/<赛事名> 生成。