返回博客

AI 入门指南

如何阅读 AI 基准:MTGBench 和一个 5 提示词测试

排行榜排名取决于任务。看看 MTGBench(EMNLP 2026)展示了什么,然后在两个模型上运行你自己的 5 个提示词,比较每个任务的成本。

作者:CheapTokens Team发布于 5 分钟阅读

封面:如何阅读 AI 基准,一个聊天问哪个模型最好,答案是:在哪方面最好?
本页内容
  1. 为什么排名不是判决
  2. 七个游戏是什么
  3. 分数不能告诉你什么
  4. 运行 5 提示词测试
  5. 你的五个提示词里放什么

你打开一个排行榜,看到模型 A 排在模型 B 之上,于是选了 A。然后 A 在你的任务上磕磕绊绊,B 却不会。这并没有哪里坏掉:排名是别人任务上的平均值,而你的任务可能和他们的不一样。解决办法很简单。拿五个你自己的提示词,在两个模型上运行,读一读答案,比较每个任务各花了多少钱。本页剩下的部分用一个新论文作为例子,说明为什么这样做有效,并给你脚本。

为什么排名不是判决#

这篇论文是 MTGBench: A Multi-Turn Game Benchmark for Diverse LLM Capability Assessment,发表在 Findings of EMNLP 2026(2026 年 10 月 29 日核对)。作者在七个游戏上评估了 16 个前沿模型,他们的主要发现之一是模型排名严重依赖任务。换一个游戏,顺序就变了。

现在想想一个顶部只有一个平均分的排行榜。平均值把游戏藏起来了。如果你的任务看起来像某个模型擅长的游戏,你就赢了。如果不是,你读到的那个数字说的是别的东西。

自己试试试一试:一个排行榜把模型 A 排在模型 B 之上。第一个该问的问题是什么?显示答案

问:在哪个任务上更高? 在 MTGBench 中排名随任务变化,所以一个总体排名对你的情况说明不了什么。找每个任务的分数,然后检查最像你任务的那个。

七个游戏是什么#

这些游戏是 Word Chain、Wordle、20 Questions、Wheel of Fortune、Situation Puzzles、20 Features 和 Alias(名称来自 GitHub 上的项目 README,2026 年 10 月 29 日核对)。它们是多轮的:模型不是回答一次,而是玩。猜、得到反馈、再猜。Wordle 是简单的画面:你提出一个词,了解哪些字母对得上,再试一次。

设计中有两点值得在你自己的测试里照搬。

第一,谁来检查答案。四个游戏由普通代码评分。另外三个用受限的 LLM 作为规则执行者,作者用人类标注者验证了它。总得有人决定什么算正确。在你的小测试里,那个人就是你。

第二,语言。这套测试是双语的,英语和俄语,而且各语言的回合是原生生成的,不是翻译的。作者还收集了人类基线,476 个会话,报告的是俄语。他们的总结:最强的启用推理的模型在整个套件上达到或超过该基线。

闪卡

你在基准报告里会遇到的词

排行榜分数和你自己的测试衡量的是不同的东西
基准是在它自己的任务上取平均;5 个提示词的测试衡量的是你的任务。基准一侧的来源:MTGBench 论文,2026 年 10 月 29 日核对。

分数不能告诉你什么#

它不能告诉你该怎么问。 MTGBench 比较三种设置:仅回答(默认)、思维链和原生推理。作者报告说 CoT 对字母级游戏几乎必不可少,但在知识驱动的游戏上收益不均。所以同一个模型看起来会因问法不同而不同。测试时,把你最难的提示词两种方式都试一遍。

它不能告诉你思考的成本。 大声思考是模型写出的文字,而写出的文字是输出,是账单上更贵的一侧(更多见 输入 vs 输出 token 和 推理力度与思考 token)。假设一个 600 token 的提示词在没有 CoT 时得到 100 token 的答案,有 CoT 时得到 600 token 的答案。在 DeepSeek-V4-Flash 上,每次请求是 $0.000019 对 $0.000069。小钱,直到你一天发几千个请求。

它不能告诉你你的语言的情况。 MTGBench 用英语和俄语原生构建回合,而不是翻译,这本身就是个提示:语言是任务的一部分。如果你的用户用俄语写,就把俄语提示词放进你的五个里。

运行 5 提示词测试#

API 兼容 OpenAI,所以一个脚本能跑任何模型,只有模型 id 会变(id 在 文档里)。

分步操作

你自己的迷你基准,四步

选五个提示词

从你的工作中拿五个真实请求。简单和困难混合,再加一个正确答案是“我从这看不出来”的。把它们保存为 prompts/1.txt … prompts/5.txt。

在两个模型上运行

脚本打印每个答案及其 finish_reason,以及每个模型的 token 总数。如果你看到 length,答案被 max_tokens 截断了:调高它(见 为什么答案会截断)。

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
models = ["deepseek-ai/DeepSeek-V4-Flash-0731", "zai-org/GLM-5.3-Flash"]
prompts = [open(f"prompts/{i}.txt").read() for i in range(1, 6)]

for model in models:
    tin = tout = 0
    for i, prompt in enumerate(prompts, 1):
        r = client.chat.completions.create(
            model=model,
            messages=[{"role": "user", "content": prompt}],
            max_tokens=2000,
        )
        tin += r.usage.prompt_tokens
        tout += r.usage.completion_tokens
        print(f"--- {model} / prompt {i} / {r.choices[0].finish_reason}")
        print(r.choices[0].message.content)
    print(f"=== {model}: {tin} in, {tout} out")

自己给答案评分

给每个答案 0(错)、1(改改能用)或 2(好)。十个答案,一张表。你在这里是验证器,所以在看成本之前先评分。

把 token 变成每个任务的成本

把脚本的总数放进成本标签。假设脚本为 DeepSeek-V4-Flash 打印了输入 3,000、输出 1,500:那是全部五个任务的 $0.0002。除以五得到一个任务,然后对第二个模型做同样的事。

从脚本的 token 总数到一个任务的成本
脚本打印的最后一行,以及你拿它做什么。

下表是同一个例子,五个请求各 600 token 输入、300 输出,在我们所有的模型上,旁边是 OpenRouter 作参考。输入和输出一起计算,每一行的总数都低于 OpenRouter。

模型 每次请求 5 次请求 OpenRouter,5 次请求
GLM-5.3-Flash $0.000024 $0.00012 $0.00024
DeepSeek-V4-Flash $0.000039 $0.0002 $0.00038
MiniMax-M2.7 $0.000075 $0.00038 $0.0027

每次请求 600 个输入 token 和 300 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。

一个以几分之一成本得 10 分中 9 分的模型,胜过一个以几倍价格得 10 分中 10 分的模型,现在你能看出自己属于哪种情况。定价页有其余模型的实时数字,DeepSeek 页涵盖长答案(最多 32,768 输出 token),如果你的提示词需要逐步输出。

你的五个提示词里放什么#

正确的五个取决于你构建什么。选你的情况。

选择你的情况

哪些提示词进入你的测试?

支持机器人

拿五条真实客户消息。包括一条愤怒的消息和一条机器人没有信息的:正确答案是“我不知道”,而许多模型会编一个。评分语气和诚实,不只是事实。

摘要器

拿五份真实文档,长度是你实际发送的。对照来源检查每份摘要里有没有不存在的事实。也注意输入 token:长文档让输入侧成为你账单中更大的部分。

代码助手

从你自己的仓库里拿五个小 bug,每个都有一个失败的测试。验证器就是测试:运行建议的修复,通过就评 2 分。给最难的那个 bug 加一个 CoT 版本。

俄语答案

用俄语写全部五个提示词,用你领域的真实词汇。MTGBench 为每种语言原生生成回合正是这个原因:翻译过的任务是不同的任务。

数字到手后,如何选择 AI 模型帮助做剩下的决定:上下文大小、输出长度,以及两个模型打平时怎么办。