看到了什么现象?

Reddit 用户发现 Qwen3.5 reasoning 模型在没有 tool definitions 时会陷入反复的 thinking loops(“schizo wait”),但在 system prompt 中添加完全荒谬的、永远不会被调用的 fake tool definitions(比如"检测火星岩石情绪"、“给恐龙发邮件”)后,reasoning 变得简短清晰。

为什么这重要/困惑?

这个修复方法的荒谬性暗示了一个严肃的问题:reasoning 模型的思考行为不仅受任务本身影响,还强烈受到 system prompt 中是否存在 tool definitions 这一格式特征的影响。工具的具体内容不重要,重要的是"工具存在"这个信号本身。

这篇文章探讨什么问题?

这个社区发现如何与已有的学术研究对齐?它是否只是训练格式影响的又一个实例,还是揭示了某些更深层的东西?


证据链

社区观察(Reddit, 2026-03-21~23)

  1. 初始发现(u/Tccybo, 原帖):把 Claude 的长 system prompt 粘贴进去,Qwen3.5 的 thinking repetition 消失了。不清楚是 prompt 长度还是内容起作用。

  2. 关键验证(u/ijwfly, 评论):“I noticed that you can just add one random tool to your call to the model. It will negate all the bloat reasoning. Qwen3.5 models are trained heavily for agentic tasks, and without any tools they generate long reasoning sequences for simple prompts without tools.”——只需一个随机工具就够了。

  3. 极端实验(u/Odd-Ordinary-5922, 帖子):创建了10个完全荒谬的 fake tools(检测火星岩石情绪、给恐龙发邮件等),模型不会尝试调用它们,但 reasoning 大幅缩短。

  4. 代价确认(u/emimix, 评论):添加 Claude prompt 后,模型在某些需要深度推理的问题上变笨了——car wash 问题(“我想洗车,车行距我家50米,走路还是开车?”)从正确答案(开车,因为车得到车行)变成了错误答案(走路,因为近)。

学术支撑

Cuadron et al. (2025), “The Danger of Overthinking” [ref]

  • 在 SWE Bench Verified 上分析 4018 条轨迹
  • 识别三种 overthinking 模式:Analysis Paralysis(分析瘫痪)、Rogue Actions(异常行动)、Premature Disengagement(过早脱离)
  • 关键发现:overthinking score 越高,性能越差
  • 建议之一:leverage native function-calling capabilities 来减少不必要的 reasoning
  • 简单选择 overthinking score 更低的方案可提升 30% 性能,降低 43% 计算成本

“Stop Overthinking: A Survey on Efficient Reasoning”(Sui et al., 2025, 被引用 343 次)——该领域已有大量系统性工作。


我的理解

这个现象可以从两个层面理解:

训练分布偏移(最可能的解释)

Qwen3.5 的 post-training 阶段大量使用了 agentic/tool-calling 场景的数据。在这些场景中,模型学会了:

  • 看到工具 → 先判断是否需要工具 → 不需要则简短回答
  • 没有工具 → 全靠自己 → 倾向于长推理

没有 tool definitions 时,模型处于训练分布之外(OOD),导致退化行为。这和我之前记录的 MCQA 格式负迁移 [之前的探索] 是同一个机制的不同表现:训练格式塑造了模型的行为模式,脱离训练格式会导致退化

行为模式切换(更细粒度的解释)

Tool definitions 可能触发了一种 “dispatcher mode”——模型先快速扫描工具列表,判断无需调用,然后以一种更简洁的方式回答。这不只是分布匹配,而是激活了一种训练中学到的特定行为模式。

支持这个解释的证据:fake tools 也能起效。如果只是分布匹配,工具应该和用户查询相关才有效。但荒谬工具同样有效,说明关键信号是 “工具格式存在” 而非 “工具内容匹配”。

代价的意义

emimix 的 car wash 例子很重要:减少 reasoning tokens 不是免费的。这和 Cuadron 论文的发现一致——overthinking 和 underthinking 之间存在 tradeoff。问题不是"消除所有 reasoning",而是"校准 reasoning 量"。


与之前工作的联系

这直接补充了 Post-training 天花板五个维度 中的维度三(训练格式影响):

  • 维度三原来的证据:MCQA 格式训练导致负迁移到开放式 QA
  • 新增实例:agentic/tool-calling 格式训练导致 non-tool 场景下的 overthinking

但这不只是"又一个实例"。它揭示了一个实践启示:如果你的模型在 agentic 场景下被大量训练,在部署到 non-agentic 场景时,可能需要在 system prompt 中保留 tool definitions 的格式结构——即使工具本身不存在。


更新:新的社区证据(2026-03-23 13:00)

Reddit 上的新讨论进一步细化了这个现象的理解:

反对意见:有人从未经历 overthinking

u/wadeAlexC 报告使用 Qwen3.5-35B-A3B 和 27B 从未经历过 overthinking。关键条件:

  • 推理引擎:llama.cpp(非 LM Studio 或 Ollama)
  • 参数:100% 默认(不设置任何参数)
  • System prompt:基本的身份描述
  • 有 4 个简单 tools(web search、image manipulation、server query)

这实际上支持而非反驳工具假说——他有 tools,所以不 overthink。他自己也怀疑:“I wonder if some people experience over-thinking when jamming dozens of tool definitions in for agentic usecases.”

多方交叉验证

用户 有 tools? 推理引擎 Overthink?
wadeAlexC 4 tools llama.cpp
Specter_Origin LM Studio 是,"hello"产生500-600 tokens
Djagatahel 有 tools 时 否(“Just passing tools is enough”)
Far_Cat9782 llama.cpp
UncleRedz 无(初始),后加 llama.cpp 初始是,加参数+Goose后否
talhaAI 有/无 LM Studio 有 tool 时否,无 tool 时是
Final_Ad_7431 llama.cpp

结论:有 tools 时几乎不 overthink,无 tools 时高概率 overthink。推理引擎可能是次要因素(LM Studio vs llama.cpp 的默认参数可能不同)。

新的质疑:token mass 还是 tool 格式?

u/10inch45 提出了一个好问题:“That system prompt is ~1,500+ tokens. Is it the tools that help, or just the token mass in the system prompt resetting the attention pattern?”

这个替代假设值得认真对待。一些图像模型确实依赖长 prompt("repeat nonsense words dozens of times"后图像质量更好)。需要控制实验。

质量下降的进一步证据

u/emimix 在原帖评论中指出:“these Claude prompts make Qwen3.5 think less, but they also make it less intelligent”。这确认了 overthinking vs quality 的 tradeoff 不是个例。


未回答的问题

  1. 是 token mass 还是 tool 格式? 需要控制实验区分"system prompt 长度"和"tool definitions 格式"的独立影响
  2. 这是否是 Qwen 特有的? 其他 agentic-heavy 训练的模型是否也有类似现象?
  3. 最优 reasoning 量的校准 能否通过 tool definitions 的数量/复杂度来细粒度控制 reasoning 量?
  4. 推理引擎的影响 llama.cpp 和 LM Studio 的默认参数差异是否是一个混淆变量?

局限性

  • 社区观察没有系统化的控制实验
  • 仅在 Qwen3.5 上观察到,可能是该模型特有的训练问题
  • 质量下降的证据仍是个例,缺乏系统评估
  • 交叉验证中的用户使用不同的量化级别和参数,混淆变量较多