为什么AI也要算命考试?MingLi-Bench八字命理评测基准深度解析
【免费下载链接】MingLi-BenchA benchmark for evaluating LLMs on Chinese traditional fortune telling — Bazi (八字) and Ziwei Doushu (紫微斗数).项目地址: https://gitcode.com/gh_mirrors/mi/MingLi-Bench
MingLi-Bench 是一个面向大语言模型的中国传统命理评测基准,用 160 道来自真实赛事的八字与紫微斗数选择题,来考试 AI 的推理能力和传统文化理解力。当数学和代码榜单卷不动时,一批开发者把目光投向了更"硬核"的领域——让 AI 算命。听起来很玄学,但背后的评测设计其实非常工程化。
MingLi-Bench 正是这样一个开源评测框架:它给各家大模型(GPT、Claude、Gemini、DeepSeek、豆包等)出了一份"命理考卷",看看谁才是那个真正"懂命"的 AI。
一、为什么用"算命"来考 AI?
大多数 AI 评测考的是代码、数学、常识,而命理推理是另一类难题,它同时考验模型的三件事:
- 🧮长链条推理:从出生时间排盘,到五行生克、星曜宫位,再到流年推断,一步错则步步错;
- 📖传统文化知识:八字、紫微斗数属于高度专业化的中文知识体系,模型训练语料中占比有限;
- ⚖️不确定性下的判断:题目常给出多个看似都"说得通"的选项,很像现实中的开放性推理。
所以"AI 算命考试"不是猎奇,而是给大模型出了一套中文文化 + 复杂推理的复合考题。
二、题库揭秘:160 道真题,覆盖 12 种人生维度
MingLi-Bench 的题目并非凭空编造,而是整理自全球算命师大赛 2022–2025 年度赛题,每年 40 题、共 160 题,均为四选一选择题,并配有标准答案(精确匹配评分,规则简单透明)。
题目覆盖 12 大人生类别,和人们最关心的现实问题一一对应:
| 类别 | 示例问题 |
|---|---|
| 事业 / 财运 | 某年合作生意赚了还是赔了? |
| 婚姻 / 子女 | 此命何年结婚? |
| 健康 / 灾劫 | 某年发生何事?(疾病、意外等) |
| 官非 / 家庭 / 性格 / 学业 / 外貌 / 运势 | …… |
题库的核心文件都放在 data/ 目录下:
- data/data.json:160 道规范化选择题,含生辰信息、问题、选项与标准答案;
- data/fortune_api_results.json:预先排好的八字 + 紫微斗数命盘,按
case_id与题目关联; - data/raw/:2022–2025 四年赛事原始题卷,如 data/raw/2025.txt,方便溯源核对。
三、评测流程:如何判断 AI "算得准不准"?
整个评测由 mingli_bench/benchmark.py 中的FortuneTellingBenchmark类驱动,流程非常直观:
- 读题:mingli_bench/data/loader.py 按年份、类别加载题目;
- 组卷:把生辰信息与题目拼成提示词,例如"命主信息:男命,1974年4月28日……此命 1996 年发生何事?A/B/C/D";
- 答题:通过 mingli_bench/models/factory.py 创建的模型客户端并发调用大模型(默认 5 路并发);
- 判分:从回答中提取"答案:X",与标准答案精确匹配,统计总正确率和分类别正确率;
- 落盘:把每题的预测、原始回答、耗时都写进结果文件,方便复盘。
其中有两个"开关"值得新手特别注意:
--cot(思维链):要求模型先展示推理过程再给答案,通常能显著提升得分——这本身就是一次有价值的消融实验;--astro(注入命盘):直接把预先排好的八字 / 紫微斗数命盘塞进提示词,让模型只做推理、不做排盘。这样分数反映的是"推理能力",而不是"农历换算能力",评测更公平。
四、快速上手:三步让 AI 参加命理考试
第一步:获取项目
git clone https://gitcode.com/gh_mirrors/mi/MingLi-Bench cd MingLi-Bench pip install -r requirements.txt依赖非常轻量,见 requirements.txt。
第二步:配置 API Key
复制.env.example为.env,只需填写你实际要测的服务商密钥(OpenAI、Anthropic、Google、DeepSeek、豆包,或通过 OpenRouter 一个密钥调多家)。模型路由由 mingli_bench/models/ 下的客户端实现:
- mingli_bench/models/openai_client.py
- mingli_bench/models/anthropic_client.py
- mingli_bench/models/deepseek_client.py
- mingli_bench/models/doubao_client.py
可以先做个连通性自检:
python -m mingli_bench.cli --list-models # 查看支持的模型 python -m mingli_bench.cli --stats # 查看数据集统计第三步:开考
python -m mingli_bench.cli --model openai/gpt-4o --year 2025 --cot --astro常用参数速查(完整说明见 mingli_bench/cli.py):
| 参数 | 作用 |
|---|---|
--model | 模型名,含/时自动走 OpenRouter |
--year | 只考某一年,可选 2022–2025 |
--cot/--astro | 开启思维链 / 注入预排命盘(推荐同时开启) |
--categories | 只考指定类别,如--categories 事业 婚姻 |
--shuffle-options | 打乱选项顺序,防"位置偏差" |
--sample N | 只跑前 N 题,快速冒烟测试 |
五、结果怎么读?
每轮评测在logs/下生成三类产物:
| 产物 | 内容 |
|---|---|
<model>_results.json | 每题的预测答案、是否正确、分类别统计 |
<model>_summary.txt | 总正确率、分类别正确率、平均响应时间 |
<model>_responses/ | 每题的完整提示词与模型原始回答,便于人工复核 |
重点看两个指标:Overall Accuracy(总正确率)和分类别正确率——你会发现同一模型在"婚姻"上可能很灵,在"灾劫"上却一败涂地,这种细粒度画像正是基准的价值所在。
六、常见问题(FAQ)
Q1:这个基准是在评测"算命准不准"吗?
不是。它评测的是 AI 在给定专业文化知识后做多步推理的能力。命盘是确定的、答案有标准,考的是"从命盘到事件"的推理链,而非现实预测能力。
Q2:为什么推荐同时开--cot和--astro?
--astro隔离了"排盘"这一纯计算环节,--cot给模型留出推演空间,两者结合后分数最能反映纯粹的推理水平;关掉它们则可以做消融对比。
Q3:能接入其他模型吗?
可以。mingli_bench/models/factory.py 中的ModelFactory.register_provider支持注册新服务商,只需提供一个ModelClient子类。
写在最后
MingLi-Bench 用最"接地气"的题材,做了一件很"学术"的事:把模糊的传统文化知识,转化为可复现、可对比、可复盘的量化评测。如果你关心大模型的中文文化理解与复杂推理,这份"AI 算命考卷"值得一试。
核心资料索引:
- 题库数据:data/data.json | 预排命盘:data/fortune_api_results.json
- 评测引擎:mingli_bench/benchmark.py | 命令行入口:mingli_bench/cli.py
- 中文文档:README_zh.md
【免费下载链接】MingLi-BenchA benchmark for evaluating LLMs on Chinese traditional fortune telling — Bazi (八字) and Ziwei Doushu (紫微斗数).项目地址: https://gitcode.com/gh_mirrors/mi/MingLi-Bench
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考