﻿# SmolLM3 /think vs /no_think for small text tasks

Evaluate SmolLM3 /think and /no_think on concise text and checked reasoning, preserving the documented system-prompt controls and language scope.

Author: Retrivium team
Updated: 2026-11-03
Canonical URL: https://retrivium.ai/journal/smollm3-thinking-vs-no-think-tasks/
Language: en

SmolLM3 supports reasoning and non-reasoning behavior in one small model. The documented /think and /no_think controls belong to its prompt workflow and should be evaluated against the final task requirement.

## Read the small model's documented scope

The [model card](https://huggingface.co/HuggingFaceTB/SmolLM3-3B/raw/main/README.md) describes a 3B model with dual-mode reasoning. It identifies six natively supported languages: English, French, Spanish, German, Italian and Portuguese.

Metadata tags can include additional languages, but those tags should not be substituted for the card's specific native-language statement. The [author-written release article](https://huggingface.co/blog/smollm3) explains the model's training and chat-template design, while the [implementation documentation](https://huggingface.co/docs/transformers/en/model_doc/smollm3) identifies its Transformers interface.

## Place the control where the model expects it

The card demonstrates /think and /no_think through the system prompt, with extended thinking enabled by default. This is a model-specific convention, not proof that a random API field with a similar name will reach the same control path.

Preserve the actual system message and rendered prompt. A user-facing switch can look correct while a wrapper omits the corresponding instruction. Conversely, seeing the control text in the prompt does not itself establish that the final answer is correct.

## Compare two bounded text tasks

| Task | Acceptance requirement |
| --- | --- |
| Concise rewrite | Preserve fixed facts and requested brevity |
| Checked arithmetic | Return the correct completed value |
| Constraint problem | Satisfy every supplied condition |
| Follow-up instruction | Retain the intended conversation facts |
| Unsupported information request | Avoid inventing missing evidence |

Use fictional inputs and independently checked references. Keep a separate result for each task instead of treating one successful explanation as broad reasoning competence.

## Read the final answer separately

A /think response can contain intermediate work before its final answer. An incomplete trace should remain incomplete in the record; do not select a tentative intermediate value and count it as delivered completion.

A /no_think response can be short and still wrong. Its value comes from meeting the task without unnecessary output, not from brevity alone. If a rewriting response adds a benefit that the input never stated, record an unsupported claim even when the sentence is fluent.

## Keep mode and language conclusions narrow

Store checkpoint and template revisions, control placement, generation settings and acceptance checks. Compare modes on the same prompt meaning and retain failed attempts.

The result may justify different choices for simple writing and verifiable reasoning. It does not guarantee equal behavior in every language, automatic Russian qualification from metadata or identical controls across all local engines. A small model can be useful for a bounded task while still requiring explicit evidence for a new language, domain or response contract.

## Related reading

- [Output limits and reasoning tokens: the length-termination contract](/journal/provider-output-limit-reasoning-contract/)
- [Why generation_config.json changes vLLM generation defaults](/journal/vllm-generation-config-precedence/)
