先确认模型是否允许关闭 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。你要看到的请求结构类似:

JSON
{
  "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 地址。

参考来源

Support GLM-5.3 in ZaiModelPydantic AI IssueGLM-5.3 model supportZ.AI documentation

相关文章

GLM-5.2 接长任务 Agent:1M 上下文仍要做压缩、恢复和回退智能编程 / 约 11 分钟Claude Code 接 Qwen3.8 报 HTTP 500:reasoning_effort=high 怎么修智能编程 / 约 8 分钟Claude、GPT、Gemini 怎么选:AI Coding 任务分配和验证清单智能编程 / 约 12 分钟7 个关键洞察:AI Coding 工具真正改变的不是写代码,而是验证代码智能编程 / 约 18 分钟

作者信息