How to Choose the Right Reasoning Effort for AI Models
Some AI models let you choose how much effort they put into reasoning before giving an answer. The available choices differ by model. They can range from none, which disables optional reasoning, through minimal, low, medium, high, extra high (xhigh), and max.
The instinct is to choose the highest setting every time. But reasoning effort is not a simple quality slider. More effort can help with difficult problems while adding little to a straightforward task. It can also make a response slower and use more tokens—the units models use to measure text—which may increase the cost depending on how that model bills reasoning.
The useful question is not “Which setting is best?” It is “How much reasoning does this task need?”
What reasoning effort changes
Reasoning effort controls how much work a compatible model may do before settling on its final answer. A higher setting gives it more room to examine alternatives, check intermediate steps, and work through a longer chain of decisions.
This extra room helps with:
- Multi-step math and logic
- Difficult coding and debugging
- Planning with several constraints
- Comparing competing explanations
- Reviewing work for subtle mistakes
- Questions where an early assumption can change the whole answer
It usually matters less for:
- Rewriting a short paragraph
- Extracting a name or date
- Changing the tone of an email
- Basic classification
- Simple formatting or translation
- Questions with a short, direct answer
Reasoning effort does not increase a model's knowledge, enlarge its context window—the amount of text it can consider at once—or guarantee a correct answer. It only changes how much reasoning the model applies to the information and instructions it already has.
A practical way to choose
Minimal or low
Use a lower setting for simple, repetitive, or time-sensitive work. It is a sensible choice when you expect the answer to be obvious once the model understands the instruction.
Examples include rewriting text, tagging support messages, extracting structured details, or producing many short variations.
Medium
Medium is a good starting point when a task needs some judgment but is not unusually difficult. It gives the model room to think without automatically choosing the slowest or most expensive option.
Examples include summarizing a long document, comparing a few choices, explaining unfamiliar material, or writing code with clear requirements.
High, extra high, or max
Reserve the highest available settings—often labeled high, xhigh, or max—for problems where careful reasoning is worth additional time and possible cost.
Examples include tracking down a difficult software bug, checking a complex argument, planning around conflicting requirements, solving a multi-stage technical problem, or reviewing an important answer for hidden assumptions.
The labels are not universal. One model may offer low, medium, and high, while another offers only high and max. The highest setting on two different models does not necessarily represent the same amount or style of reasoning.
More reasoning is not always better
A high setting cannot rescue a vague prompt, missing evidence, or the wrong model choice.
Before increasing reasoning effort, check whether the model has:
- A clear goal
- The information it needs
- Relevant constraints
- A useful output format
If those are missing, improve the prompt first. “Compare these three proposals against this budget and deadline, then explain your recommendation” gives the model more to work with than “Which proposal is best?”—regardless of the effort setting.
It is also worth testing. If low and high produce equally useful answers for your workload, the lower setting is usually the more practical choice. If mistakes appear only on the lower setting, move up for that type of task rather than changing every request.
Use a second pass for important work
For consequential tasks, one strong approach is to separate creation from review:
- Produce the first answer at a moderate effort level.
- Ask the model—or a different model—to check assumptions, calculations, omissions, and counterarguments at a higher level.
- Verify the important claims yourself.
This is often more useful than spending maximum effort on every first draft. It focuses the extra work on finding weaknesses rather than making an already acceptable answer longer.
NanoGPT now shows model-specific choices
Reasoning controls are not identical across models. NanoGPT now uses each model's declared effort levels when it has verified metadata for them.
In the chat interface, models with a configurable reasoning scale show only their declared effort levels. If you switch to a model with a different scale, an old selection is adjusted to a supported option rather than leaving an incompatible setting in place.
For models with declared effort metadata, Chat Completions and Responses API requests are checked against the supported levels. If an explicitly unsupported value is sent, the API returns an error listing the accepted choices instead of passing the setting through silently.
Models without a configurable, verified effort scale may not show an effort selector at all.
Using reasoning effort through the API
For an OpenAI-compatible chat-completions request, add reasoning_effort:
{
"model": "your-model-id",
"reasoning_effort": "high",
"messages": [
{
"role": "user",
"content": "Review this implementation plan. Identify hidden assumptions, likely failure points, and the smallest changes that would reduce risk."
}
]
}
The Responses API uses the nested form reasoning.effort instead.
To discover the exact choices for models that publish them, request detailed model information from GET /api/v1/models?detailed=true and read the reasoning_efforts field. Do not assume that every reasoning model accepts every label.
A simple default policy
If you do not want to tune every request, use this rule of thumb:
- Low for routine transformations and extraction
- Medium for everyday analysis and writing
- High for complex reasoning and careful review
- Extra high or max, when available, only when the problem justifies the extra work
Start lower, measure the result, and raise the effort only where it makes a noticeable difference. Each task needs enough thought to produce a useful answer—rarely the maximum.
Try reasoning-capable models in NanoGPT, or create an API key from the API page to control reasoning effort in your own application.