🧑 You
Do some research on which models benefit from Preserve Reasoning traces in their agentic use. I believe Kimi K2.7 code and GLM were in this category but no idea if deepseek flash/pro needed it or the locally hosted Qwen 2.6 27b/35b models.
▶ Tool: read_file [path='~/Personal/skills/skill_index.md']
▶ Tool: web_search [query='"preserve reasoning traces" agentic AI models Kimi K]…
▶ Tool: web_search [query='model "preserve reasoning" agentic workflow which mo]…
▶ Tool: web_search [query='"preserve reasoning traces" agentic platform feature]…
▶ Tool: web_search [query='DeepSeek flash pro "preserve reasoning" agentic perf]…
▶ Tool: web_search [query='Qwen 2.5 27b 32b locally hosted reasoning trace agen]…
▶ Tool: fetch_url [url='https://docs.arcee.ai/capabilities/reasoning-traces']
▶ Tool: web_search [query='"preserve reasoning traces" site:github.com OR site:]…
▶ Tool: web_search [query='Kimi K2 reasoning trace multi-turn agentic tool call]…
▶ Tool: web_search [query='GLM reasoning model preserve thinking trace agentic ]…
▶ Tool: web_search [query='DeepSeek V4 Flash Pro reasoning_content preserve mul]…
▶ Tool: web_search [query='Qwen 2.5 32B reasoning_content preserve thinking mul]…
▶ Tool: web_search [query='"preserve reasoning" OR "reasoning_content" models l]…
▶ Tool: fetch_url [url='https://discuss.vllm.ai/t/preserve-reasoning-state-acr]…
▶ Tool: web_search [query='Qwen2.5 32B QwQ thinking mode reasoning_content mult]…
▶ Tool: fetch_url [url='https://github.com/anomalyco/opencode/issues/24130']
▶ Tool: web_search [query='GLM "preserved thinking" mode multi-step agentic rea]…
▶ Tool: web_search [query='Qwen 2.5 32B instruct non-thinking mode agentic tool]…
▶ Tool: web_search [query='Kimi K2.5 K2.7 code reasoning_content preserve multi]…
▶ Tool: web_search [query='Qwen 3.5 27B 35B locally hosted reasoning trace pres]…
▶ Tool: fetch_url [url='https://platform.kimi.ai/docs/guide/kimi-k2-7-code-qui]…
▶ Tool: fetch_url [url='https://allanchan339.github.io/bug-fixes/2026/05/02/Qw]…
🤖 Assistant
Here's what I found after digging through API docs, GitHub issues, and community reports. The short answer: your instincts about Kimi K2.7 Code and GLM are correct, DeepSeek V4 Flash/Pro also absolutely needs it, and the Qwen 3.5/3.6 27B/35B models benefit from it too (I believe you may be thinking of Qwen 3.5/3.6 rather than "2.6" — there's no Qwen 2.6, but the 3.5/3.6 family has 27B and 35B-A3B sizes).
The official Kimi API docs are explicit:
"During multi-step tool calling, you must keep the reasoning_content from the assistant message in the current turn's tool call within the context, otherwise an error will be thrown."
K2.7 Code doesn't even support non-thinking mode — it always reasons. It preserves the reasoning chain from prior turns rather than re-deriving context from scratch. Without preserving reasoning_content, multi-step agentic tool calling literally fails with an error.
GLM models have three special thinking modes for agentic tasks, including "Preserved Thinking" which is specifically:
"The model reasons step-by-step internally, and the reasoning chain is preserved across multiple dialogue turns."
GLM-5 is described as having "reasoning chain across multiple dialogue turns (Preserved Thinking)" and being "for agentic multi-step tasks — the strongest open model available." Without it, GLM produces "not very accurate, not very consistent" responses in multi-step agentic workflows.
Multiple GitHub issues confirm this is mandatory. From an OpenCode bug report:
"The reasoning_content in the thinking mode must be passed back to the API."
Both V4 Flash and V4 Pro require configuring "interleaved": {"field": "reasoning_content"} for proper multi-turn tool calling. Without it, the models fail after the first tool call because they lose their reasoning context.
These models have a preserve_thinking flag that's critical for agentic use:
"This capability is particularly beneficial for agent scenarios, where maintaining full reasoning context can enhance decision consistency."
There's a caveat though — Qwen 3.6's interleaved thinking can cause chain-of-thought leakage into tool turns if the chat template isn't right. The community developed qwen3.6-enhanced.jinja with self-healing logic to fix this. With the right template, preserve_thinking=true works cleanly. Without it, you get CoT bleed, ignored tool calls, and polluted tool responses.
The standard Qwen 2.5-32B-Instruct runs in non-thinking mode and doesn't produce reasoning_content. No preservation needed — it's a standard instruct model.
The older QwQ series strips reasoning from prior turns by design — only the current turn's reasoning is preserved.
|
Model |
Needs Preserve Reasoning? |
Severity |
|
Kimi K2.7 Code |
✅ Yes, mandatory |
API throws error without it |
|
GLM-4.5 / GLM-5 |
✅ Yes, by design |
"Preserved Thinking" is a core feature |
|
DeepSeek V4 Flash |
✅ Yes, mandatory |
Fails after first tool call |
|
DeepSeek V4 Pro |
✅ Yes, mandatory |
Fails after first tool call |
|
Qwen 3.5/3.6 27B |
✅ Yes, recommended |
Needs right chat template |
|
Qwen 3.5/3.6 35B-A3B |
✅ Yes, recommended |
Needs right chat template |
|
Qwen 2.5 32B Instruct |
❌ No |
Non-thinking model |
The pattern is clear: any model with explicit thinking/reasoning mode that does multi-step tool calling needs reasoning traces preserved. The models that don't have thinking mode (standard instruct models) don't need it.
🧑 You
Do any of those models support reasoning effort? Does it matter for different tasks?
▶ Tool: web_search [query='Kimi K2.7 Code "reasoning_effort" parameter thinking]…
▶ Tool: web_search [query='GLM-5 GLM-4.5 "reasoning_effort" thinking effort par]…
▶ Tool: web_search [query='DeepSeek V4 Pro Flash "reasoning_effort" parameter t]…
▶ Tool: web_search [query='Qwen 3.5 3.6 reasoning_effort parameter thinking eff]…
▶ Tool: web_search [query='"reasoning_effort" Qwen 3.5 27B "thinking" parameter]…
▶ Tool: fetch_url [url='https://api-docs.deepseek.com/guides/thinking_mode/']
▶ Tool: web_search [query='Qwen 3.5 3.6 "thinking" parameter "reasoning_effort"]…
▶ Tool: fetch_url [url='https://docs.vllm.ai/projects/recipes/en/stable/Qwen/Q]…
🤖 Assistant
Great question! Here's what I found on reasoning_effort support across these models:
Both models support reasoning_effort with two effective levels:
|
Parameter |
What it does |
|
"high" |
Default. Standard reasoning depth — good for most tasks |
|
"max" |
Deeper reasoning — for complex agentic/coding workflows |
Legacy values get mapped: low/medium → high, xhigh → max. Thinking mode is enabled by default on both models. From the official DeepSeek docs:
"In thinking mode, the default effort is high for regular requests; for some complex agent requests (such as Claude Code, OpenCode), effort is automatically set to max."
Practical impact: For simple Q&A or straightforward tasks, "high" is sufficient and faster. For complex multi-step coding or deep reasoning chains, "max" significantly improves accuracy at the cost of more thinking tokens and latency.
GLM-5 introduced the reasoning_effort parameter with three options:
|
Parameter |
What it does |
|
"high" |
Default thinking level |
|
"max" |
Maximum reasoning depth for complex tasks |
|
disabled |
Bypass thinking entirely for simple tasks |
From the Z.AI developer docs (GLM-5.2):
"New reasoning_effort parameter for controlling the model's reasoning effort level when chain-of-thought thinking is enabled."
Practical impact: The ability to disable thinking is unique here — useful for trivial lookups where you don't want to waste tokens on chain-of-thought.
K2.7 Code has mandatory thinking mode — it cannot be disabled and there's no gradation:
What you do get is a reported 30% reduction in "overthinking" (thinking tokens) compared to K2.6, but that's a model improvement, not a user-controllable knob. Practical impact: You can't tune it. It always thinks. The model itself was trained to be more efficient about when to think less, so you don't need to worry about it — but you also can't dial it up for harder tasks.
Qwen's thinking models don't support a reasoning_effort parameter. Instead they use:
There's no graduated "low/medium/high/max" control. Practical impact: With Qwen 3.5/3.6 locally hosted via vLLM, you get an on/off switch for thinking, but no fine-grained effort control. The "infinite thinking" problem has been a real issue — Qwen 3.5 models can get stuck in reasoning loops without budget enforcement.
Here's a practical decision matrix:
|
Task Type |
Recommended Effort |
Best Model for Control |
|
Simple Q&A, direct lookups |
Disabled/low effort |
GLM-5.2 (can disable) or DeepSeek V4 Flash with "high" |
|
Routine agentic (single tool call) |
"high" |
DeepSeek V4 Flash or GLM-5.2 — both let you tune |
|
Complex coding (multi-step) |
"max" |
DeepSeek V4 Pro at "max" shines here |
|
Deep research / multi-agent |
"max" |
GLM-5.2 or DeepSeek V4 Pro |
|
Kimi K2.7 Code |
N/A — always thinks |
No control, but model is efficient about it |
|
Qwen 3.5/3.6 locally |
On/Off only |
No gradation; use budget enforcement to prevent runaway thinking |
The key trade-off: Higher reasoning effort consumes significantly more tokens (cost + latency) but yields better results on complex multi-step tasks. For simple tasks, higher effort is wasted — it's the model equivalent of using a sledgehammer to crack a nut. If you're running Qwen 3.5/3.6 27B or 35B locally, the lack of reasoning_effort control is the main limitation. With DeepSeek V4 Pro (API) or GLM-5.2 (API or self-hosted), you get actual graduated control over how much the model thinks before answering — which is valuable for routing simple vs. complex tasks to appropriate effort levels.