
1. 为什么 AIME 刷到 90 分之后评测反而没意义了如果你最近在跑数学推理评测大概率会遇到一个尴尬局面AIME24/25 上头部模型的正确率已经摸到 90% 以上几个模型分数挤在一起谁强谁弱根本分不出来。更麻烦的是AIME、HMMT 这些题库早就公开了模型有没有在训练阶段见过这些题你没法证伪。评测分数看着漂亮但作为技术选型依据参考价值在快速缩水。LongCat 团队发布的 AMO-Bench 就是冲着这个饱和困境来的。它包含 50 道竞赛专家原创题难度对标甚至超过 IMO官方给出的 SOTA 成绩只有 52.4%绝大多数模型正确率低于 40%。换句话说这套基准重新把区分度拉开了。对开发者来说问题从要不要测变成了怎么在本地把评测流程跑通。这篇就聚焦一件事用 TaoToken 的统一 Key 和 API 通道在本地把 AMO-Bench 的评测配置搭起来包括 settings.json / config.toml 骨架、CC Switch 和 Cline 的接入片段最后用一道 AIME 样例验证请求链路是否真的通了。适合已经在做 LLM 评测、想换一套更高难度基准的开发者也适合刚接触数学推理评测、想先跑通一条最小链路的人。2. TaoToken 在评测链路里扮演什么角色做数学评测最烦的不是写评测脚本而是模型接入层。AMO-Bench 官方实验覆盖了 26 个模型闭源开源都有如果你每个模型都单独申请 Key、单独维护一套 SDK 调用光配置就能耗掉半天。TaoToken 在这里的价值是提供一个统一的 API 通道一个 Key 走多家模型接口格式兼容主流协议评测脚本不用为每个模型改一遍调用逻辑。具体到 AMO-Bench 场景你需要的能力有三块一是能稳定发起长输出请求AMO-Bench 高难度题的平均输出 token 超过 35K短超时配置会直接截断二是能切换不同模型做横向对比三是能拿到结构化的返回方便后续用 Math-Verify 做答案等价性校验。TaoToken 的 API 端点https://taotoken.net/api兼容 OpenAI 风格调用评测脚本里改 base_url 和 model 字段就能切换这是最省事的地方。先拿到 Key。访问 API Keys 管理页创建https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite创建后复制保存后面所有配置都围绕这个 Key 展开。如果你还没决定用哪个模型跑评测可以先去模型对话页面试几道题感受一下不同模型在长推理上的表现差异https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite3. 可复制的评测配置骨架这一节给三份配置一份通用 settings.json一份 config.toml再加 CC Switch 和 Cline 的接入片段。你可以按自己用的工具挑。3.1 settings.json 骨架这份配置适合直接喂给基于 OpenAI SDK 的评测脚本。关键点是max_tokens要给足AMO-Bench 的题需要长逻辑链给 8K 会大量截断。{ provider: taotoken, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: gpt-5-thinking, max_tokens: 65536, temperature: 0.0, timeout: 600, retry: { max_attempts: 3, backoff_seconds: 5 }, eval: { benchmark: AMO-Bench, answer_format: boxed, verify_tool: math-verify, samples_per_question: 32 } }temperature设 0 是为了评测可复现samples_per_question对应官方 AVG32 的采样策略。timeout给到 600 秒因为高难度题单次推理可能跑几分钟。3.2 config.toml 骨架如果你用的是 Rust 或 Python 的 toml 配置体系这份可以直接用[provider.taotoken] base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 default_model deepseek-v3.1-thinking [request] max_tokens 65536 temperature 0.0 timeout_seconds 600 [request.retry] max_attempts 3 backoff_seconds 5 [benchmark.amo_bench] dataset_path ./data/amo-bench answer_format boxed verify_tool math-verify num_samples 32 concurrency 4concurrency别开太高长输出请求并发多了容易触发限流4 到 8 之间比较稳。3.3 CC Switch 配置片段CC Switch 用来在多个模型配置间快速切换做横向评测时很顺手。在它的配置里加一段{ name: TaoToken-AMO, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, models: [ gpt-5-thinking, deepseek-v3.1-thinking, qwen3-235b-a22b-thinking ], default_model: gpt-5-thinking }切换模型时只改default_model评测脚本不用动。3.4 Cline 接入片段Cline 里配置自定义 API 提供商填这几个字段{ apiProvider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, modelId: deepseek-v3.1-thinking, maxTokens: 65536 }Cline 适合边跑评测边看推理过程调试 prompt 格式时比纯脚本直观。4. 跑通一道 AIME 样例并校验结果配置搭好后先用一道题验证链路。下面这段 Python 脚本发一道 AIME 风格的题要求模型按\boxed{}格式输出答案然后用 math-verify 校验。import os from openai import OpenAI from math_verify import parse, verify client OpenAI( base_urlhttps://taotoken.net/api, api_keyos.environ[TAOTOKEN_API_KEY], ) prompt Solve the following problem. Put your final answer in \\boxed{}. Find the number of positive integers n such that n^2 3n 2 is divisible by 7. Show your reasoning step by step. resp client.chat.completions.create( modeldeepseek-v3.1-thinking, messages[{role: user, content: prompt}], max_tokens65536, temperature0.0, ) output resp.choices[0].message.content print(模型输出长度:, len(output)) gold \\boxed{5} parsed_model parse(output) parsed_gold parse(gold) print(校验结果:, verify(parsed_gold, parsed_model))跑之前先导出 Keyexport TAOTOKEN_API_KEYsk-你的TaoToken密钥预期结果脚本打印出模型输出长度高难度题通常在几千到几万字符最后一行校验结果: True表示答案等价性校验通过。如果输出被截断检查max_tokens是否给够如果校验报错先看模型有没有按\boxed{}格式输出格式不对 math-verify 解析会失败。这一步跑通说明从 Key 到 API 通道到评测校验的整条链路是通的接下来把题目换成 AMO-Bench 数据集批量跑就行。5. 本篇常见错排查报错 401 UnauthorizedKey 没读到或复制时带了空格。检查环境变量TAOTOKEN_API_KEY是否导出成功echo $TAOTOKEN_API_KEY看一眼。Key 管理页在 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite输出被截断答案不完整max_tokens给小了。AMO-Bench 高难度题平均输出超 35K token建议直接给 65536。同时确认timeout不低于 300 秒。math-verify 校验一直 False先打印模型原始输出看有没有\boxed{}。有些模型会输出\boxed{5}之外的格式比如答案5这种情况要么在 prompt 里强调格式要么在解析前做一次正则提取。并发跑批量评测时大量超时concurrency调低到 2 到 4长输出请求对并发很敏感。另外确认 retry 配置生效偶发超时能自动重试。切换模型后结果异常检查 CC Switch 或 Cline 里的modelId是否和 TaoToken 支持的模型名一致拼写错误会直接报模型不存在。模型列表可以在模型对话页确认。评测脚本报连接错误确认 base_url 是https://taotoken.net/api不要多加路径后缀。接入文档里有完整的端点说明https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite6. 长期跑评测和 Agent 编码的配置建议如果你不只是跑一次 AMO-Bench而是要把数学评测做成持续跟踪的流程或者顺手用同一套 Key 做 Agent 编码任务可以考虑 Coding Plan。它适合长期、高频的调用场景省去每次单独配 Key 的麻烦https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite实际跑下来AMO-Bench 的评测成本主要在输出 token 上一道题动辄几万 token批量跑 50 题乘以 32 次采样量不小。建议先用samples_per_question1跑一轮冒烟测试确认链路和格式都对再放开到 32 次采样。另外把模型原始输出落盘保存math-verify 校验失败时能回溯比重新跑一遍省事得多。