The big providers don't ship one model anymore. They ship whole families, and on top of that every model in the family comes with its own reasoning effort setting.
Picking a model was already hard enough. Now it's even trickier. GPT-5.6 Terra alone runs in low, medium, high, xhigh, and max.
So what does reasoning effort actually mean? Does more of it always mean better answers? What do you pay for it, and how do you pick the right level?
It's time to rethink how you choose reasoning effort.
#Reasoning effort
Reasoning models generate an internal reasoning trace before they give you the final answer. Inside that trace, the model can work through a problem, correct earlier guesses, or have one of those "aha moments" where it finds a new way into the problem.
The effort setting controls how many tokens go into that trace. It's not a hard cap. At lower effort, the model is simply less curious and spends less energy thinking. At higher effort, it can keep digging.
In practice, a model at higher effort can spend more time on the extra requirements you mentioned, look harder for the places in the code that actually need to change, or catch edge cases you didn't think of.
#The bigger, the better?
The obvious move is to crank it up. You pay for that in two places: speed and cost.
Speed first. The more room you give the model to reason, the more it usually uses. You don't want it spending 10 minutes resolving a simple git conflict. Yes, that happened to me recently.
The gaps get big. In the Time per Intelligence Index Task benchmark, low finished six times faster than max.
Latency: Time To First Answer Token shows it even better. The jump from low to medium, and from high to xhigh, barely changed anything.
Beyond how fast tasks get done, the other thing we care about is cost — and how much extra effectiveness those extra dollars actually buy on a given task.
DeepSWE measures how models handle long-running tasks, and on GPT-5.6 Sol the curve flattens out. Running a task on max costs 2.5 times more than on high, for four percentage points of score.
Anthropic's models follow a very similar pattern. Past high, there isn't much left to gain, and the cost goes up several times over.
Weaker models from the 5.6 family behave completely differently. For Terra and Luna, raising the effort gives you a big return on the investment. Luna shows it best. On max, it reaches almost the same score as Terra on the same effort, at six times lower cost.
For OpenAI models, the FrontierCode benchmark confirms it too. It measures mergeability and answers the question: "Would the maintainer actually merge this PR?" The weaker the model, the more it gains from more reasoning. Better models gain less as the effort goes up.
This is one slice of data. Different benchmarks use different methodologies, and some will show more reasoning winning. But the pattern shows the best models gain very little past a certain point, while cost and task time climb hard.
More reasoning is not a better answer. It's a larger bet that the task needs more thinking.
#Overthinking risk
Too much reasoning can also make the answer worse, and that's harder to notice than a slow response or a big bill.
A model with room to think keeps questioning itself. Usually that's the point. Sometimes it lands on the right answer in the first few hundred tokens, then spends the next few thousand talking itself out of it.
It also fills gaps you never meant to leave. Give a model on high effort a small, well-specified task and it often comes back with more than you asked for: the fix, plus a refactor of the code next to it, plus handling for a case that can't happen.
The annoying part is that this hits hardest on easy tasks. Renaming a variable, writing a commit message, fixing a test with an obvious cause. There's nothing to think about, so the extra effort goes into inventing something.
#How I choose
Picking the effort level is as hard as picking the model. Every provider, sometimes even every model, plays by different rules. Usually it's a tradeoff between intelligence, cost, and speed.
Based on the benchmarks and my own experience, past a certain point what you get from raising the effort doesn't match what you pay for it or how long you wait for the answer.
- Start lowStart with the lowest effort you can and raise it gradually until you get the results you want.
- Match the taskUse more reasoning for complicated analysis or something you're still figuring out. If you already know exactly what needs to happen, or the task is trivial, more effort will most likely hurt you.
- Stop before the topI don't use the top levels myself. Depending on the model, I usually land on
mediumorhigh.
One catch: switching effort mid-conversation wipes your prompt cache.
Remember that a lot depends on how you work with models. Match both the model and the effort to the task. If you already know exactly what needs to happen, raising the effort will most likely hurt you — and cost you a lot of time and money.