先确认模型是否允许关闭 thinking
GLM-5.3 在 Z.AI 的 OpenAI-compatible API 中始终启用 thinking。公开兼容性 issue 记录,发送 thinking.type: disabled 会返回错误 1210;reasoning_effort 则应使用 low、high 或 max。
因此,看到“请求成功”并不代表 effort 配置生效。SDK 可能在模型 profile 不认识 GLM-5.3 时静默丢掉这个字段,或者错误地发送关闭 thinking 的参数。
从出站 JSON 判断字段有没有丢
在测试账号和短请求中打开 SDK 的请求日志,只记录模型、effort 和状态码,不记录 Key。你要看到的请求结构类似:
{
"model": "glm-5.3",
"reasoning_effort": "low",
"messages": [{"role": "user", "content": "返回 OK"}]
}如果应用配置了 low,但出站 JSON 没有 reasoning_effort,问题在 SDK profile 或适配器;如果出现 thinking.type: disabled,问题在 thinking 能力映射。
不要用“换模型”掩盖兼容问题
GLM-5.2 和 GLM-5.3 的 thinking 约束不同。先固定同一个 endpoint,分别测试 5.2 和 5.3,再比较出站 JSON、错误码和输出长度。不要同时更换 provider、SDK 和模型,否则无法判断是哪一层丢字段。
Pydantic AI 的相关 issue 已有修复方向,但不同版本是否包含该修复需要在本地确认。升级前先锁定当前版本和最小请求结果。
成功标准
成功标准是 reasoning_effort 在出站请求中保留;low/high/max 都得到可解释响应;关闭 thinking 的请求被客户端明确拒绝或转换,而不是交给 API 后返回模糊 400/500。
如果只有 Pydantic AI 失败、curl 或官方 SDK 正常,优先更新模型 profile 或适配器,不要修改 GLM API 地址。