Demystifying Hybrid Thinking: Can LLMs Truly Switch Between Think and No-Think?

Shouren Wang, Wang Yang, Xianxuan Long, Qifan Wang, Vipin Chaudhary +1 more
10/14/2025
cs.LGcs.AIcs.CL

No confident code implementation found for this paper.

Abstract

Hybrid thinking enables LLMs to switch between reasoning and direct answering, offering a balance between efficiency and reasoning capability. Yet our experiments reveal that current hybrid thinking LLMs only achieve partial mode separation: reasoning behaviors often leak into the no-think mode. To understand and mitigate this, we analyze the factors influencing controllability and identify four that matter most: (1) larger data scale, (2) using think and no-think answers from different questions rather than the same question, (3) a moderate increase in no-think data number, and (4) a two-phase strategy that first trains reasoning ability and then applies hybrid think training. Building on these findings, we propose a practical recipe that, compared to standard training, can maintain accuracy in both modes while significantly reducing no-think output length (from $1085$ to $585$ on MATH500) and occurrences of reasoning-supportive tokens such as ``\texttt{wait}'' (from $5917$ to $522$ on MATH500). Our findings highlight the limitations of current hybrid thinking and offer directions for strengthening its controllability.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{wang2025demystifying,
  title  = {Demystifying Hybrid Thinking: Can LLMs Truly Switch Between Think and No-Think?},
  author = {Shouren Wang and Wang Yang and Xianxuan Long and Qifan Wang and Vipin Chaudhary and Xiaotian Han},
  year   = {2025},
  eprint = {2510.12680},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.12680v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.12680.svg)](https://codeofpaper.com/paper/2510.12680)

Discussion