This is one of the least obvious yet most cost-intensive findings when working with modern models. “Reasoning” sounds better than “instruct”—but when chosen without purpose, it can be slower, more expensive, and… emptier.
What is a model’s “reasoning”
#A reasoning model generates an internal chain of thought before responding—breaking down the problem and evaluating options. This chain is hidden (never shown to the user) and consumes tokens and time. In return, you get a more accurate answer to difficult questions.
An instruct model responds directly: no hidden reasoning, faster, and cheaper. For conversation, translations, code, and summaries, this is the right choice.
The trap: empty response
#The key warning from our measurements: a reasoning model forced into a regular chat can burn the entire token budget on reasoning and return empty content. That’s why we enable reasoning mode (the think parameter) only for tasks that truly need it—and keep it off for everything else.
When to use which
#| Criterion | Reasoning (thinking) | Instruct (non-reasoning) |
|---|---|---|
| Response speed | slow | fast |
| Cost | high | low |
| Accuracy for tough decisions | high | medium |
| Risk of empty response in chat | high | none |
| Best for | analysis, planning, agents | conversation, code, translations, summaries |
| When to enable | only when task requires reasoning | default |
In practice, you don’t set this manually. The OpenClaw router enables reasoning automatically only for tasks labeled as “reasoning” (e.g., complex analysis, planning steps for an agent), while keeping it off for conversation, code, and summaries—faster, cheaper, and with content guaranteed.
Which model for reasoning
#Our default reasoning engine is DeepSeek-V4—reliable, with a context window up to 1M tokens. For regular conversation, we use Mistral Large 3 (instruct), and for summaries, Gemma 3.
Try it live
#Run a model in reasoning mode via our secure sandbox (playground: PII masked, zero retention)—ask a question requiring analysis.
FAQ
#Is a reasoning model better than instruct?
#Not “better overall”—better for different tasks. Reasoning wins for tough decisions and analysis. Instruct wins for conversation, code, and summaries: faster, cheaper, and no risk of empty responses. Match the model to the task, don’t pick one “forever.”
Why does a model sometimes return an empty response?
#Because it’s a reasoning model running in thinking mode for a task that doesn’t need it—all token budget went to hidden reasoning, leaving nothing for the actual content. Solution: disable reasoning mode for simple tasks (the router does this for you).
How does the router know when to enable reasoning?
#By task type. For tasks labeled as “reasoning” (complex analysis, planning), it enables thinking mode; for conversation, translations, code, and summaries, it keeps it off. You can also override this explicitly.