目录

如何切换模型的思考模式

不同模式下的运行演示

存在的误区解释

误区

原因

结论


如何切换模型的思考模式

关闭深度思考

/set nothink

开启深度思考

/set think

操作演示,需要启动模型的时候再操作

通过这两个指令就能实现思考模式的切换

注:在新版的ollama指令已经抛弃掉了/set no_think指令,若使用/set nothink失败的话则为旧版ollama,可以手动升级ollama版本

不同模式下的运行演示

nothink模式下

think模式下

存在的误区解释

误区

可不可以理解深度思考其实就是把大模型的思考过程展示出来,其实结果已经有了,但是把思考展示出来,打印完成后再输出结果。

即「深度思考」是“结果已经有了,只是额外把草稿打印给你看”

原因

造成误区的原因,就是不同模式下的测试的时候都会有个think,而且话术语法都差不多,就导致出现「深度思考」是“结果已经有了,只是额外把草稿打印给你看”这种现象。

结论

「深度思考」并不是“结果已经有了,只是额外把草稿打印给你看”

而是

  1. 模型在 生成结果之前,先 自回归地 把一段内部推理文字(chain-of-thought, CoT)当成普通 token 全部生成出来;

  2. 这段 CoT 文字会 占用同样的计算量、显存、时间;

  3. 等 CoT 生成完毕后,模型 继续以它为条件 去生成最终答案;

  4. 所以 总延迟 ≈ CoT 长度 × 每 token 耗时 + 答案长度 × 每 token 耗时,显存也随序列长度线性增长。

它确实多算了一遍,而不是“算完藏着再给你”。

造成误区的原因,就是测试的时候都会有个think这里就要做解释了

在onthink模式下看到的这个“think>...”并不是模型在实时思考,而是 Ollama 控制台在调试模式下打印出来的“内部推理痕迹” —— 它其实是 日志残留,不是模型真的在“思考”。

看到的 think>... 是 Ollama 控制台为了调试方便,把模型内部的第一层推理(系统提示词触发)打印出来了,不是模型返回给用户的正式内容。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐