快速结论:该问题出现在 Ollama 0.30.4 中,对 MoE 架构的 qwen3:30b(architecture: qwen3moe)执行 --think=false 无效。优先排查模型是否为混合推理模型(base 版本)——qwen3:30b 不支持关闭思考,需要改用 qwen3:30b-instruct 模型。
适用环境:Ollama 0.30.4,Debian 13 (Trixie),NVIDIA RTX 3090 24GB,驱动 550.163.01。已对比验证 qwen3:8b(qwen3 架构)与 deepseek-r1:32b 均能正常遵守 --think=false,qwen3:30b(qwen3moe 架构)被忽略。
最快修复方案:Issue 中明确验证的方案:改用非思考版本模型 ollama run qwen3:30b-instruct(拉取并运行 qwen3:30b-instruct)。这是已确认能获得非思考行为的首选方法。
注意事项:qwen3:30b(base 版)被官方解释为”不是混合模型,不支持思考控制”,因此 --think=false 无效属预期行为。后续版本是否改善未在 Issue 中确认。/set think off 交互命令在 qwen3:30b 下会报 400 Bad Request: invalid think value: "off",被认为是独立问题,可能与 false 的内部处理方式相关,但未在本 Issue 中解决。
问题场景
用户使用 Ollama CLI 执行 ollama run --think=false qwen3:30b "Say hello",试图关闭 Qwen3 模型(30B MoE 版本)的思考链输出。同一环境下的 qwen3:8b 和 deepseek-r1:32b 均能正确关闭思考,唯独 qwen3:30b 仍然输出完整的可见思考痕迹。
报错原文
# 命令行执行后输出以思考痕迹开头,--think=false 被忽略
Okay, the user asked me to say hello...
...
</think>
Hello! 😊 How can I assist you today?
# 交互式命令 /set think off 被接受后,下一次提问报错
400 Bad Request:
invalid think value: "off"
(must be "high", "medium", "low", "max", true, or false)
原因分析
qwen3:30b 是 Qwen3 的 MoE(Mixture of Experts) 架构版本(architecture: qwen3moe),它不是混合推理模型(hybrid model),不支持思考控制(thinking control)。相比之下,qwen3:8b(architecture: qwen3)和 deepseek-r1:32b 是支持思考开关的模型。因此 --think=false 对 qwen3:30b 无效是预期行为,并非 Ollama 的 bug。Ollama 官方人员的回答明确指出:如果需要非思考版本的 qwen3:30b,应使用 instruct 版本(qwen3:30b-instruct)。
Issue 中另一个可能原因是:CLI 接受 --think=false 但底层 API 对 qwen3moe 架构不执行关闭操作。不过用户与维护者的交互确认了架构差异才是根本原因,而非标志处理缺陷。
环境排查
- 确认 Ollama 版本:0.30.4(Issue 已验证版本)
- 确认模型架构:
ollama show qwen3:30b应显示architecture: qwen3moe,而 qwen3:8b 显示architecture: qwen3;前者不支持思考控制 - 对比测试:同一环境运行
ollama run --think=false qwen3:8b "Say hello"应正常关闭思考,确认是 qwen3moe 架构的问题 - 确认模型版本为 base 版而非 instruct 版:instruct 版默认不输出思考,无需
--think=false - 如使用自定义 Modelfile 或 GGUF 导入,需检查模型是否带 thinking 能力声明(capabilities)
解决步骤
- 拉取并使用 instruct 版本模型替代 base 版本(已验证方案):
ollama pull qwen3:30b-instruct ollama run qwen3:30b-instruct "Say hello"输出将直接给出不含思考痕迹的回复。
- 如果必须使用 qwen3:30b base 版本且不希望看到思考痕迹,可以使用
--hidethinking参数(已验证可用):ollama run --hidethinking qwen3:30b "Say hello"这会将思考内容从终端隐藏,但模型依然会执行思考计算。
- 对于需要精细化控制思考强度的情况,qwen3:30b 支持
--think=low、--think=high、--think=max,但不支持--think=false或--think=off。 - 避免使用交互式命令
/set think off——虽然 CLI 接受该命令,但下一个请求会报400 Bad Request: invalid think value: "off"(已知独立问题)。
验证方法
运行 ollama run qwen3:30b-instruct "Say hello",确认输出直接以 Hello!... 开头,且没有任何 <think> 包裹的思考痕迹。如继续使用 qwen3:30b base 版,--hidethinking 应能隐藏思考过程,但若观察 API 原始响应仍会看到思考内容——这是预期行为,不是问题。
参考来源
ollama/ollama #17292:qwen3:30b (qwen3moe) ignores –think=false while qwen3:8b and deepseek-r1 honour it
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


