GLM-5.3 对比 GLM-5.2:提高难度后的真实 API 实测
六道高难度同题 API 实测:GLM-5.3 首次交付 4/6,GLM-5.2 为 2/6,但 GLM-5.2 赢得可执行代码隐藏测试。

GLM-5.3 对比 GLM-5.2:提高难度后的真实 API 实测#
上一轮基础题里,GLM-5.3 更容易在有限输出预算内交付可见答案。为了确认这个差异在高难任务中是否仍然存在,我们把题目升级为六个可客观验收的维度:极难数学、因果校准、约束推理、嵌套 JSON、多阶段物理和可执行优化代码。
这不是主观打分。数学和物理核对精确参考值,JSON 必须直接解析,代码必须运行原始文件并通过统一隐藏测试。
快速结论#
- 首次交付:
glm-5.34/6,glm-5.22/6。 - GLM-5.3 完成 Simpson 因果分析、最小不可满足核心、嵌套 JSON 和多阶段物理。
- GLM-5.2 在依赖背包代码题获胜,原始代码通过隐藏测试。
- 极难 coupon collector 数学题两边都耗尽 9,000 token,正文为空。
- 高预算复测没有改变首轮计分:5.3 的 24k 代码恢复了输出,但算法仍未通过隐藏测试。

测试环境#
| 项目 | 设置 |
|---|---|
| Base URL | https://cn.crazyrouter.com |
| Endpoint | POST /v1/chat/completions |
| 模型 | glm-5.3、glm-5.2 |
| Temperature | 0.2 |
| 工具与联网 | 均关闭 |
| 评分 | 首次交付为主;高预算重试只诊断,不回填 |
测试前通过 GET https://cn.crazyrouter.com/v1/models 确认两个精确模型 ID 均存在。全部 12 次首轮请求返回的 returned_model 与请求模型一致。
六道高难题结果#
| 任务 | 预算 | GLM-5.3 | GLM-5.2 |
|---|---|---|---|
| 不等概率 coupon collector | 9,000 | length,空正文 | length,空正文 |
| Simpson 因果分析 | 6,000 | 通过 | length,空正文 |
| 最小不可满足核心 | 5,000 | 通过,严格 JSON | length,空正文 |
| 多区域嵌套 JSON | 4,000 | 通过 | 通过 |
| 滑轮—绳松弛—弹簧 | 14,000 | 通过 | length,空正文 |
| 依赖背包优化代码 | 16,000 | length,空正文 | 隐藏测试通过 |
最难的数学题:双方都没有交付答案#
四类 coupon 的概率为 1/2, 1/4, 1/8, 1/8,要求同时计算:
E[T] = 1339/105 ≈ 12.752380952
P(T<=8) = 46179/131072 ≈ 0.352317810
两边都在 9,000 token 首轮耗尽 reasoning token,正文为空。复测时,GLM-5.3 提高到 20,000 token 仍然没有正文;GLM-5.2 的 20k 请求超过 420 秒读超时。
这个结果说明,单纯提高 max_tokens 不是通用修复。生产系统应把 finish_reason=length、可见正文长度和请求超时一起纳入失败判定。
GLM-5.3 的优势:因果、约束与多阶段物理#
Simpson 题中,GLM-5.3 正确区分了分层结果和总体反转:
小结石:A 81/87 > B 234/270
大结石:A 192/263 > B 55/80
总体:A 273/350 < B 289/350
50/50 标准化:A=0.8305,B=0.7771
它还指出标准化只能修正已观测到的病例构成差异,因果结论仍需要随机化、无未测混杂、正性和不确定性估计。
最小不可满足核心题要求只输出 JSON。GLM-5.3 返回核心 [1,2,3],并证明约束迫使 C 与 D 占据同一位置;输出可以直接被 JSON parser 接受。
物理题包含滑轮转动惯量、B 落地后绳松弛、A 单独上滑和弹簧压缩四个阶段。GLM-5.3 命中全部参考值:
a ≈ 0.847 m/s²
v1 ≈ 1.59 m/s
v2 ≈ 1.18 m/s
x ≈ 0.0835 m
GLM-5.2 的反击:可执行代码隐藏测试#
代码题要求实现 optimize_release_plan(items, capacity_by_day, dependencies),必须处理传递依赖、逐日容量、最大 value、最小 risk、字典序 tie-break、未知依赖和循环依赖。
GLM-5.2 在 16k 预算下输出完整 Python,原始文件直接通过隐藏测试。GLM-5.3 首轮没有正文;提高到 24k 后虽然生成了函数,但隐藏测试选出 value=24 的方案,正确最优值应为 29。
因此本轮不能写成“5.3 在所有维度全面替代 5.2”。对于需要完整算法文件的工作负载,必须真正运行测试,而不是只看代码风格或模型版本号。
一个可复现的请求#
import os
import requests
response = requests.post(
"https://cn.crazyrouter.com/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['CRAZYROUTER_API_KEY']}"},
json={
"model": "glm-5.3",
"messages": [{"role": "user", "content": "你的真实验收题"}],
"temperature": 0.2,
"max_tokens": 6000,
},
timeout=600,
)
data = response.json()
choice = data["choices"][0]
assert choice["finish_reason"] == "stop"
assert choice["message"]["content"].strip()
更多接口说明可以查看 Crazyrouter 文档,模型使用前也应结合 当前价格与配额 做自己的成本测试。
生产路由建议#
- 因果分析、约束推理和复杂分阶段推导,本轮优先 GLM-5.3。
- 生成算法文件时保留 GLM-5.2 候选线路,并执行导入、单元测试和隐藏测试。
HTTP 200 + 空正文必须视为业务失败。reasoning_tokens达到预算上限时,重试应更换策略或模型,而不是无限增加 token。- JSON 任务必须 parse 并校验 key 顺序、类型和 schema。
- 首次交付和重试成功率应分开统计,避免重试掩盖模型的默认可靠性。
FAQ#
GLM-5.3 是否全面强于 GLM-5.2?#
不是。本轮首次覆盖率更高,但 GLM-5.2 赢得了唯一的可执行算法题。
为什么 HTTP 200 仍然算失败?#
因为多个请求返回 HTTP 200,却把全部预算消耗在 reasoning,最终正文为空。
增加 max_tokens 能解决问题吗?#
不一定。5.2 物理从 14k 提到 20k 仍为空;5.3 数学在 20k 也为空。
代码题如何评分?#
直接保存模型原始 Python 文件并执行统一隐藏测试,不手工修改后回填成绩。
延迟是否参与胜负?#
不参与正确率评分。延迟只作为线路和交付成本的诊断字段。
应该如何选择模型?#
使用自己的真实题库,按任务类型分别统计首次成功率、完整性、格式合规和可执行测试结果。
最终结论#
GLM-5.3 在这组六维高难任务中以 4/6 对 2/6 获得更高的首次交付覆盖率,但 GLM-5.2 在可执行代码上给出了本轮唯一通过隐藏测试的实现。更合理的生产策略不是只保留一个版本,而是按任务类型路由并强制验收。
在 Crazyrouter 上用同一 OpenAI-compatible endpoint 测试 GLM-5.3 与 GLM-5.2。





