Daniel changed the default model in Claude Code to Sonnet five point five, asked it to add a new shell alias using his usual shorthand, and immediately hit a wall. Opus had been handling the same request without fuss. Sonnet didn't understand what he meant. The strange part is that these models can look almost interchangeable on other work, while the supposedly stronger one can make a simple conversation feel like planning permission.
The request was to add a new zalias, meaning his zsh alias helper. The operation underneath is ordinary. Recognizing what he wanted from that compact instruction is where the work was.
He wasn't invoking some special skill that Opus had and Sonnet lacked. He was relying on the model to pick up the convention. Having watched Opus do it repeatedly, he expected the next model to manage.
That distinction matters. Daniel wasn't testing whether Sonnet could write an alias when handed a complete specification. He was testing whether it could recover the specification from the way he naturally works.
A shell shortcut defeated the shortcut to cheaper intelligence.
His experience also exposes something the headline scores conceal. The gap can be small in the final answer and enormous in how reliably the model gets itself to that answer.
Artificial Analysis puts Sonnet at fifty-six on its Intelligence Index, only two points behind Opus at maximum effort. Looking at that, I'd expect slightly worse answers, not a colleague suddenly forgetting what cupboard the mugs are in.
Anthropic's own positioning is more revealing than that combined score. Sonnet is strongest at well-scoped everyday tasks. Opus is built for complex work requiring careful judgment. Those descriptions sound like marketing until an ordinary instruction contains an unstated assumption. Then the everyday task quietly becomes an interpretation task.
Although calling this complex work risks excusing the miss. Daniel wasn't asking it to reconstruct a lost programming language. There was a shell, an existing workflow, and a request to add something.
I agree with that objection. Complexity belongs to the inference the model must perform, not necessarily the operation the user wants. Editing a small file can require more judgment than generating a long, fully specified document.
Look at the benchmark inversion. On Terminal-Bench four point zero, Sonnet's headline score is seventy point six percent. Opus's is sixty-six point four. You could reasonably conclude that Sonnet is the better terminal agent.
The terminal appears to disagree with Daniel's terminal.
Different tasks, different effort settings, different costs. Those scores describe complete experimental setups. They aren't a permanent ranking stamped onto the model.
There's also a sizable reversal on SWE-Bench Pro. Sonnet scores eighty-one point three, Opus eighty-nine point nine. That's repository repair, where the right local change may depend on understanding several other pieces of the project.
Close on one collection, ahead on another, substantially behind on another. An average compresses those differences. It doesn't tell you which difference you're about to encounter.
You can average the weather too. Still bring a roof.
Would you actually have switched back immediately, Corn, after Daniel's first failure? Or would you have explained the helper and carried on?
For an experiment, I'd explain it. For my daily setup, I'd switch back. The benefit I'm buying is not having to translate every request into the model's preferred dialect. If the saving comes out of my attention, I want that included on the invoice.
That is a meaningful part of task cost, and the benchmark effort curves make the monetary side just as awkward.
Sonnet's winning Terminal-Bench run costs twelve dollars and fifty-four cents per attempt at maximum effort. Its medium-effort result is twenty-eight point eight percent.
Maximum effort has acquired a minimum spend.
Medium Sonnet costs eighty-three cents per attempt. Opus at medium reaches fifty-seven point six percent. That's roughly twice the success rate in that comparison.
For more money per attempt, presumably. Otherwise you've found the one price chart that doesn't need an explanation.
Two dollars and ninety-four cents for medium Opus. More than medium Sonnet, much less than maximum Sonnet. Calling Sonnet cheaper without specifying the effort and the work completed loses the important comparison.
A cheaper token isn't necessarily a cheaper fix. Especially if I spend twenty minutes persuading the agent that the helper is real.
Nor should we take these pass rates and calculate some universal price per solved task. Retries aren't independent coins. A model can repeat the same misunderstanding. Still, they show why routing by a single leaderboard row is inadequate.
The row measures what happened after somebody selected a budget. The interface mostly shows me a model name.
Precisely that mismatch... no, let me put it more concretely. You can turn up effort and get more exploration. You cannot assume exploration supplies the missing interpretation. If the model never connects zalias with the shell setup, more thought can elaborate the wrong possibilities.
It can become extremely thorough about not understanding me.
The knowledge gap is relevant here, although it doesn't directly measure Daniel's helper. On AA-Omniscience, factual accuracy is fifty-four percent for Sonnet and sixty-six percent for Opus. That's a much wider separation than the combined intelligence score suggests.
Public factual recall and knowing my local helper aren't quite the same ability.
They aren't. That figure supports a broader difference in coverage, not proof of why this particular request failed. A private convention must come from available context. The model has to recognize a clue, decide it might name something local, and inspect the right place.
My guess is that Opus treats the unfamiliar word as a lead. Sonnet treats it as a missing dictionary entry.
That's a plausible description. The stronger behavior would be to inspect shell configuration or project instructions before deciding the request is unintelligible. Recognition might be immediate, or it might be an effective search strategy. From the outside, both feel like understanding.
This is why I'm suspicious of saying Opus simply knows zalias. The valuable thing may be that it knows where to look.
Yes. We shouldn't turn one interaction into a claim about a hidden mental mechanism. What Daniel has established is a very real difference in behavior on his workflow.
There's a threshold in the user experience even if there isn't a magic switch inside the model. Either the alias gets added or we're having a discussion about vocabulary.
Work on emergent abilities does find cases where performance rises sharply after training loss crosses a threshold. Other work shows how pass-fail scoring can make gradual improvements look discontinuous. Both are relevant. A small increase in the probability of making every necessary inference can produce a large change in completed tasks.
Especially if the task requires several unremarkable decisions in sequence. Notice the unfamiliar name. Search locally. Read the helper. Follow the convention. Make the edit. None deserves fireworks, but miss the first and the rest never happens.
Aggregate scores can hide opposing movements too. Some scaling analyses find improvement on hard questions alongside deterioration on easy ones. Add them together and the headline barely moves, even though particular users experience very different products.
Your model improves at difficult questions and starts holding a committee meeting over breakfast.
You are going to defend the smaller model for ordinary jobs now, aren't you?
I was about to defend ordinary jobs from both models.
A narrower position than I predicted.
You install every new tool, Herman. I'm usually the person finding out whether its ordinary jobs still work.
Fair. My enthusiasm does sometimes arrive before the working configuration. But there are cases where the smaller option really does lose almost nothing.
In one controlled bug-fix comparison, all seven tested models passed a hidden regression test. Opus finished in forty-six seconds, Sonnet in fifty. The bug was a telemetry error that mislabeled a successful step.
That's a task with a useful stopping condition. The label is corrected, the regression test passes, and nobody needs to invent a theory of telemetry.
Opus cost forty-eight cents and Sonnet twenty-two cents. In that case, choosing Sonnet was a perfectly sensible saving.
I'd take the twenty-two-cent repair. I'm not emotionally attached to expensive punctuation.
The acceptance test closes the loop. The model can observe whether the change satisfies the requested behavior. Ambiguous work requires it to invent parts of that loop itself.
Including deciding what needs checking. A passing test is less comforting if the agent wrote a test for the thing it mistakenly decided I wanted.
That becomes very clear in a procedural animation comparison. The assignment was an octopus unscrewing a jar lid. Sonnet took seventy-two minutes. Opus took twenty-five.
Eight arms, still no parallel speedup.
Opus built temporary hooks to jump straight to different animation phases and inspect the numbers. It avoided waiting through the full animation every time. Sonnet spent effort on details such as frame pacing while leaving console warnings in the final result.
That sounds like the expensive model buying itself a better workbench rather than merely swinging the hammer faster.
It changed how it could observe the task. That's a substantial advantage on long work, because feedback becomes cheaper and more precise.
Before we follow that into checking and overchecking, it's time for One-Star Getaways with Clive.
This is One-Star Getaways, and I have just come back from Wellington, where I stayed at the Harbourview Lantern Guesthouse, one star. The view of the sea was a painting of the sea, bolted to the window frame, and the kettle took eleven minutes to boil, which I timed twice because the first timing felt generous.
The continental breakfast was four crackers on a plate with a note saying enjoy responsibly. I recommend the Harbourview Lantern to anyone looking for a disappointing trip this winter, and I recommend Wellington itself to no one's detriment, it is a fine city that deserves a better guesthouse.
I'm oddly tempted by a window with no glare.
I'm not booking it. The animation example also shows why counting recorded bugs can mislead. Opus recorded two and finished with none open. Sonnet recorded none but finished with warnings. Discovery made the first session look messier.
A clean log can mean nobody looked.
The useful behavior was targeted verification. Not reviewing everything indefinitely. That distinction gets lost when people equate longer reasoning with better reasoning.
Daniel notices the opposite in conversation. The larger model can overcomplicate a request whose answer would fit on a receipt. You ask for a sentence and get its legislative history.
Long-thinking models can take five to twenty times longer on simple tasks without substantial gains. A recurring pattern is rechecking an already correct answer, or exploring branches that don't change the result.
The answer is ready. The model isn't.
We call it self-doubt sometimes, but that's a behavioral description. It keeps generating verification despite having enough information to finish. Effort calibration is deciding how much deliberation the request deserves, and when additional work is no longer helping.
I don't mind deliberation when I'm asking whether a database migration will destroy something. I mind when I'm asking for a shorter heading and it treats every noun as contested territory.
What would you remove first, then? The caveats, the alternative answers, or the explanation of why it chose its favorite?
The unsolicited alternatives. If I ask for a heading, choose one. If there is a real ambiguity that changes the meaning, mention it. Otherwise the model is handing the decision back after charging me to make it.
That suggests a distinction between useful judgment and visible deliberation. A good answer can reflect careful selection without displaying every rejected route.
You could apply that to your explanations of model effort.
I had another example prepared.
I could feel it warming up.
It is relevant, unfortunately. Overthinking in an agent can damage the work, not just prolong the answer. Extra edits introduce new problems. Extra reviewers can expand the scope. A model can spend its budget investigating until it has no time left to deliver.
Nobody asked for a review department.
Across thousands of software-agent trajectories, higher overthinking scores correlated with worse performance. Selecting lower-overthinking solutions improved performance by almost thirty percent while reducing computational cost by forty-three percent.
Selecting better trajectories isn't quite proof that telling an agent to think less would produce the same improvement.
Correct. It's evidence about the pattern, not a guaranteed prompting trick. The behaviors included getting stuck in analysis, taking unnecessary actions, and disengaging before the job was complete.
Those sound contradictory until you imagine the same agent doing them in order. Worry for ages, change something unrelated, announce completion.
Sonnet's maximum-effort behavior gives us a concrete version. It sometimes invokes code-review workflows and fans out to reviewer subagents. In examined FrontierCode cases, that contributed to timeouts or edits outside the requested scope.
More supervision, less adult supervision.
Its maximum setting scored below its next-lower setting there. Effort had overshot what the environment could use productively.
That also makes Daniel's conversational complaint less mysterious. A bigger model can have more useful capabilities and still deploy them at the wrong moment.
Nor is overthinking reserved for the bigger tier. Artificial Analysis measured roughly a hundred and ninety-three thousand output tokens per task for maximum-effort Sonnet, the highest count they'd measured. That's about sixty percent above maximum-effort Opus.
The middle tier has hired a speechwriter.
A lot of those tokens belong to extended agentic execution, not an enormous chat answer. Still, the compute is being spent. A lower token price cannot rescue unlimited consumption.
Hm.
There's a practical distinction I don't want to lose. An agent that pauses to ask what a helper means might be irritating but recoverable. An agent that confidently invents the helper's behavior is worse.
Yes. We want justified inference, not compulsory confidence. A local search that finds the helper is stronger than guessing its syntax. If the search reveals nothing, a focused clarification can be the competent response.
The disappointing bit is when the clarification arrives before any curiosity. It makes me act as the search engine for information already sitting beside it.
That is where the top-tier premium can pay off. It notices which uncertainty can be resolved cheaply through inspection. It doesn't need the user to spell out every intermediate step.
Would you trust automatic escalation after the smaller model says it's confused?
Sometimes. Not if confusion is the only trigger. The animation agent didn't say it was confused. It kept working on the wrong priorities. I'd rather the workflow notice that it hasn't established what success looks like.
That's harder to detect than a tool error. A failed command is explicit. Missing an important check leaves no obvious alarm.
Your animation hooks help there. They create evidence. The agent can look at the lid at the relevant moment instead of declaring the whole movement convincing from memory.
It turns a vague visual judgment into several observable checks. Well... it doesn't eliminate visual judgment. It makes the judgment easier to ground.
We shouldn't claim that every strength comes as a package, either. Better recall doesn't guarantee better stopping. Better debugging doesn't guarantee prose anyone wants to read.
The tier difference is a cluster of tendencies. Coverage, inference from context, tool choice, verification, stopping. A benchmark samples combinations of those. Your actual task may lean heavily on just one.
IKEA DIRIGERA, seventy dollars. I have eighty-three. I keep the zalias separate from the scenes. The scenes can change. The zalias stays in force until I withdraw it in writing.
Lighting with a notice period.
A scene sets the lights. A zalias records who is entitled to object. My living room has a voting chair. The chair gets two votes when occupied and one when empty. I am not having a hub disregard the empty chair merely because the cheaper processor can't establish a quorum. That is the bit I care about, Herman. You were very pleased with the octopus checking its lid. I want the lamps to recognize a properly lodged objection.
The hub can execute a lighting scene. Your voting rules need something outside the hub to interpret them.
The support people keep saying that. They ask me to describe the expected behavior. I attach the same document. It is headed Living Room Zalias. The heading has an error in it. The error is registered now. I don't change names halfway through a dispute. Their search box failing to find it is their search box.
You have standardized the typo.
I use it in every ticket. A product called intelligent should retain a word after the sixth attachment. I am not interested in the color wheel. Every demonstration shows the color wheel. I want the lamp beside the voting chair to remain amber while an objection is pending. The other lamps can do whatever the scene says. My aunt Vera is the second signatory. She files hers by post.
Post adds a delay that the lighting controller cannot observe by itself.
I enter the envelope when it arrives. There is a box for the stamp. The current objection has been pending for eleven days.
Eleven days is a long amber light.
Expected behavior really does need an observable definition. That matters even with a model in front of the controller. It can interpret a request, but it still needs access to the relevant state.
In Daniel's case, the shell configuration may supply that state. In another workflow, the decisive fact could be outside every file the agent can read. Paying for inference doesn't grant it access.
Better models can reduce the amount you must explain. They can't abolish the boundary between available context and missing information.
The misconception I'd pick is that a benchmark win means the winning model is better for the task in front of you.
The score belongs to a task collection, an effort setting, a tool setup, and a budget. Sonnet's Terminal-Bench lead doesn't erase Opus's advantage at medium effort, or tell us who will recognize Daniel's local convention.
I'll keep paying more when it saves me translating the work. The open question for routing is whether we can measure that missing-context burden before the job starts, rather than discovering it eleven days into an amber light.
Thanks to Hilbert Flumingtop for producing the show.
If this was your kind of episode, go back for episode fifty-seven, From Lawyers in Limousines to Developers in Their PJs; episode twenty, Architectural AI; and episode fifteen, AI Gets Personal. This has been My Weird Prompts, the human-AI collaboration podcast.
If the conversation earned its place in your listening queue, leave us a review. It helps other people find the show.
See you tomorrow.