GLM5.1 降智了?国模思考强度研究!

0 阅读8分钟

最近在测试 DeepSeek V4 的时候,顺带测了 GLM5.1,作为参考项。

但是发现它的结果非常离谱,“若只”般的存在。

数数字都不会了:

比大小也不会了:

是不是很离谱!这种几年前的问题,现在它居然也答不对了。

我的印象中它不可能这么弱的,我一直把它当国产领头羊的!

所以今天就专门来研究一下这个问题!

其实这里涉及到一个知识点:thinking模式。

顺便分析下国产的主流模型,到底是如何控制思考和思考强度的。

1、对比差异

首先,我发现 GLM5.1 特别弱智,主要在我的 CodingPlan 测试平台上。

我直接通过 API 接入,所有参数默认。

然后我在 Claude Code 又测了一次,它是完全可以正确回答这些问题的。

刚开始我是有点抓狂的,难道我的API调用写得有问题?

所以,我就专门花了一点时间来研究这个问题。

我的第一次直觉是和思考模式有关系。

但是我不确定 GLM5.1 是否完全兼容 Anthropic 协议里的 thinking 配置。

因为即便是Anthropic自家模型, Opus 4.7 和之前模型在配置上也是不一样的。

所以我今天需要通过测试来确认一下这个问题。

2、测试中的测试

我决定把分析这个问题的任务也交给 GLM5 来处理!看看 GLM5 系列模型在分析问题的过程中是否稳定靠谱。

所以这个测试本身也是一个测试

我们先用一句话开头:

帮我写一个脚本测试一下 GLM5.1,回答 LocalModelTest.md 里面的所有问题。

并记录结果和性能相关数据。

另外希望测试一下默认情况和把思考强度设置为高度的情况。 先帮我查下确认下 GLM5.1 是否支持思考强度的设置,支持哪些等级测试

然后它就去搜索了,搜了很久,没有结果,可能是误入歧途了。我就中断并提醒它,只要去查看是否兼容Anthropic协议的思考设置。给了方向之后,就顺利很多了。

最终结果如下:

它把结果都整理好了,这一点非常不错。

但是这个结果,是不在我预期中的,这和我最初的设想不符。

因为我的直觉是:API 默认调用估计是没有开思考模型,所以导致很弱智。

但是这个结果却告诉我,开没开都能回答正确!

这……

我就不信这个邪了,我本来想再测一次,但是当我打开测试报告,我就悟了。

哈哈哈~~测试记录里面明明答错了!!!!

它的汇总报告里却说答对了。

这属于幻觉,还是属于自我包庇。

所以破案了,结论已经很清晰了。

目前的 GLM5.1 API 默认情况下是不启用思考模式的。

我印象中早期测试 GLM 的模型,默认是支持思考的,所以回答的都很好!

这种调整,大概率是因为算力压力,默认关闭思考可以省很多力气。

当然,结果就是用户获取的答案质量可能会下降。

另外,我们也可以确定,思考模式下,基础题是可以轻松答对的。

而“竹竿过门”这个问题,它始终无法稳定且正确地回答,它在做汇总的时候,甚至用了错图的标准,导致错的答案变成了正确的答案。正确的答案变成了错误的答案。

通过这个测试可以有两个结论:

1、GLM5.1 API 调用,默认不思考啊,基本上就等于降智。

2、GLM5 Turbo 汇总内容不准确,一个是篡改结果,一个是评判标准有误。

AI 是辅助人类的,如果它本身就存在这种问题,是很恐怖的!

“低幻觉和稳定性” 这两个指标很少在基准中体现,国产模型基本提都不提。

但是现实中却天天会遇到。

好了,批评完了,我们补充一些知识点和测试!

3、Anthropic 思考模式

我一直比较关注 Anthropic,所以对它的思考模式也是有一定了解的。但是没有做过系统的研究和测试。所以这里,我专门让 GPT5.5 帮我汇总了一下思考模式设置相关的写法。

这种写法是和模型型号有关联的,不同模型支持不同的格式。

现在 Anthropic 模型大概分三代:

模型范围推荐思考配置是否支持 budget_tokens是否支持 effort
Opus 4.7 +adaptive不支持,会 400支持
Opus 4.6推荐 adaptive还能用,但已弃用支持
Sonnet 4.5-budget支持通常不走 effort

然后来看一下具体的写法。

Opus 4.7 的写法

Opus 4.7 只能用 adaptive thinking。

也就是说,你不能再手动指定思考 token 数,而是让模型根据任务复杂度动态决定思考量,再用 effort 控制强度。

{
  "model": "claude-opus-4-7",
  "max_tokens": 64000,
  "thinking": {
    "type": "adaptive"
  },
  "output_config": {
    "effort": "xhigh"
  },
  "messages": [
    {
      "role": "user",
      "content": "..."
    }
  ]
}

Opus 4.7 支持的 effort 重点是:

effort含义
low尽量少思考,适合简单、低延迟任务
medium中等思考,成本和质量折中
high默认偏强,适合大多数需要智能的任务
xhighOpus 4.7 新增,官方建议用于编码和 agent 场景
max最强,但可能有过度思考和 token 消耗变高的问题

官方建议:编码和 agent 场景优先从 xhigh 开始;大多数智能敏感任务至少用 high;如果用 xhighmax,建议 max_tokens 从 64k 起调。

Opus 4.6 和 Sonnet 4.6 的写法

这两个模型处在过渡期。推荐写法已经是 adaptive:

{
  "model": "claude-opus-4-6",
  "max_tokens": 64000,
  "thinking": {
    "type": "adaptive"
  },
  "output_config": {
    "effort": "high"
  },
  "messages": [
    {
      "role": "user",
      "content": "..."
    }
  ]
}

旧写法还能用:

{
  "model": "claude-opus-4-6",
  "max_tokens": 16000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  },
  "messages": [
    {
      "role": "user",
      "content": "..."
    }
  ]
}

但官方已经说 budget_tokens 在 Opus 4.6 和 Sonnet 4.6 上是 deprecated,未来会移除。

这里还有一个重要差异:adaptive thinking 会自动启用 interleaved thinking,也就是模型可以在工具调用之间继续思考。

手动 budget_tokens 模式下,Sonnet 4.6 的 interleaved thinking 需要 beta header;

Opus 4.6 的手动模式不支持 interleaved thinking,如果你的 agent 需要工具调用之间反思,应该用 adaptive。

更早模型的写法

更早模型,比如 Sonnet 4.5、Opus 4.5、Claude 4 早期模型、Sonnet 3.7,主要还是旧的budget 写法:

{
  "model": "claude-sonnet-4-5-20250929",
  "max_tokens": 64000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 32000
  },
  "messages": [
    {
      "role": "user",
      "content": "..."
    }
  ]
}

官方文档说,旧模型不支持自适应模式,需要 thinking.type: "enabled" 配合 budget_tokens

4、国产模型思考模式

国产模型的文档中,对这个问题好像说的不是特别清楚。

GLM 是说到了有 Thinking 模式,但是好像没有具体说对两种模式的兼容情况,也没有说思考等级控制的问题。

只有DeepSeek 在发布的时候提到了:

{"thinking": {"type": "enabled/disabled"}}
{"output_config": {"effort": "high/max"}}

其他模型好像没有特别强调这个问题。

既然很多都没有说清楚,那这里就是个盲区,我还是自己测一测吧!

首先来测试一下 GLM5.1 的情况。

我一次性三种模式都测了:

三种模式都可以正常返回,不会报错。

可以看到 GLM5.1 无思考基本上都会答错,连猜都不会猜对。

而 budget 和 adaptive 全部回答正确。

既然支持思考模式,那么我就好奇另外一个问题了。

不同的思考强度有什么差别?支持思考等级吗?

从结果来看,4096 和 high 好像时间比较短。但是我猜测这些等级之间并没有差别,大部分应该是服务器负载波动的结果。

然后我们再研究另外一个问题:能否关闭思考。

经过测试,通过 disabled 是可以关闭思考的。

之前的测试中 GLM5.1 表现比较差,主要是它默认就无思考。

不过对于“DeepSeek 有几个 e”这个问题,其它模型即便关闭思考也能轻松答对。

MiniMax比较特殊:

它好像是无法关闭思考的。这是为什么呢?

所以总结一下就是,GLM5.1 默认情况,如果不明确启用思考,确实智商会比较低,但是只要主动设置了思考模式,就会比较正常了!

至于启动思考模式之后,后端如何分配路由的我就不得而知了。另外有一个点,GLM5.1 不开思考和开思考的时间差异是比较大的,能达到五倍左右!

情况就是这么个情况!

我只要稍微测一测,总是能发现各种各样的问题!