Comparing Output Quality Across Claude Model Tiers and Effort Levels

An experiment run end-to-end on 2026-06-17. All numbers below are from outputs actually generated this run by dispatching the same benchmark to different Claude models via the Claude Code subagent model override. No figures are imported from training data or external leaderboards.


Abstract

I ran a fixed 4-task benchmark (quantitative reasoning, logic deduction, code generation, constrained writing) against three live Claude model tiers — Haiku 4.5, Sonnet 4.6, and Opus 4.8 — and, separately, against a two-level effort manipulation (reasoning suppressed vs. reasoning required) on the two endpoint models. Grading used a rubric fixed before any output was seen (max 40 points).

Bottom line up front: at neutral prompting the three tiers were nearly indistinguishable (38–40 / 40); the tasks were near the models’ ceiling. The effort manipulation moved scores more than the model tier did: suppressing visible step-by-step reasoning dropped both Haiku and Opus from 40 to 30, and the entire 10-point loss came from a single multi-step arithmetic task that both models got wrong without externalized reasoning. The practical implication: for multi-step reasoning, how you prompt (whether the model is allowed to work step-by-step) can dominate which tier you pick.


1. Research questions and hypotheses


2. Method

2.1 Models under test

Tier label Model Model ID Role
Small Haiku 4.5 claude-haiku-4-5-20251001 Fastest / lowest-cost tier
Mid Sonnet 4.6 claude-sonnet-4-6 Balanced quality/cost
Large Opus 4.8 claude-opus-4-8 Most capable tier
Frontier Fable 5 claude-fable-5 Not tested — returned “currently unavailable” this run

Each model was driven as a fresh Claude Code subagent with the model parameter set to the tier; agents were instructed to answer directly with no tool or skill use, so the score reflects the base model, not an agentic harness. (Exact per-token pricing is deliberately not asserted here; tier ordering by cost/capability is Haiku < Sonnet < Opus.)

2.2 The “effort level” lever — what it is and is not

There is no public per-request “reasoning effort” dial exposed through the subagent interface I used, so effort here is a prompt-induced proxy, operationalized as two prompt regimes applied to the same benchmark:

This is a real and well-understood lever (visible test-time reasoning / chain-of-thought), but it is not the same thing as a model-internal “thinking budget.” Conclusions are scoped accordingly.

2.3 Benchmark (fixed before grading)

2.4 Rubric (0–10 per task, 40 total; fixed a priori)

2.5 Design


3. Results

3.1 Experiment A — model tier (neutral prompting)

Model T1 quant T2 logic T3 code T4 writing Total / 40
Haiku 4.5 10 10 38
Sonnet 4.6 10 10 10 10 40
Opus 4.8 10 10 10 10 40
Fable 5 n/a (unavailable)

¹ Haiku’s merge_intervals returned tuples instead of the specified [start,end] lists and mutated its input via .sort(); logic was correct on all five test cases (−1 for spec deviation). ² Haiku’s first T4 sentence was 21 words (one over the < 20 limit); the other two constraints were met (−1).

Finding (RQ1): Tier separation was minimal. Haiku trailed by 2 points on presentation/spec details, not on correctness. With these tasks near ceiling, H1 is only weakly supported — the benchmark cannot discriminate the top tiers.

3.2 Experiment B — effort level (Haiku & Opus)

Condition T1 quant T2 logic T3 code T4 writing Total / 40
Haiku — low effort 0³ 10 10 10 30
Haiku — high effort 10 10 10 10 40
Opus — low effort 0 10 10 10 30
Opus — high effort 10 10 10 10 40

³ Haiku low-effort answered T1 = “15 minutes” (wrong). ⁴ Opus low-effort answered T1 = “30” (wrong) — i.e., even the largest tier failed the multi-step arithmetic when forbidden from showing work.

Finding (RQ2): Effort had a large, clean effect: +10 points for both models, entirely attributable to T1. When reasoning was suppressed, both models produced a fast wrong number on the only genuinely multi-step task; when reasoning was required, both produced the exact answer. H2 is supported, with the strong caveat that the effect was concentrated in one task type (multi-step quantitative).

3.3 Interaction (RQ3)

Low High Effort Δ
Haiku 30 40 +10
Opus 30 40 +10

Finding (RQ3): No interaction detected — effort helped both models identically (+10). H3 is not supported in this data: the larger model was not more robust to reasoning suppression; Opus failed T1 at low effort just as Haiku did. (This is plausibly because the failure mode is “no scratch space for multi-step arithmetic,” which afflicts any model regardless of size.)

3.4 Cross-experiment note

Neutral-prompt Haiku and Opus both scored T1 correctly (they were free to show work): Haiku’s total (38) landed between the low- and high-effort conditions, while Opus’s (40) matched the high-effort condition outright. So the operative variable is not “more tokens” per se but whether the model externalizes intermediate steps on a multi-step problem.


4. Analysis

  1. Tier choice was nearly irrelevant for correctness on this set. All three tiers solved the logic puzzle, wrote correct interval-merging code, and followed the writing constraints. The only tier-linked differences were cosmetic/spec (Haiku’s tuple output and one 21-word sentence). On easy-to-mid tasks, paying for a larger tier bought polish, not correctness.

  2. The effort lever dominated. A prompt change worth zero extra model capability swung the score by 25% (30 → 40) — a larger effect than any tier difference observed. The lesson mirrors the test-time-compute literature: for multi-step reasoning, eliciting reasoning matters more than scaling the model.

  3. The discriminating task carried the whole signal. T2/T3/T4 were at ceiling in every condition (10/10 everywhere except Haiku’s two cosmetic dings). All variance lived in T1. This is itself the most important methodological result: a benchmark only teaches you something on items that are hard enough to fail.


5. Limitations (read before citing any number)


6. Conclusion

On this small benchmark, model tier barely affected correctness (Haiku 38, Sonnet 40, Opus 40 at neutral prompting), while the effort regime had a large, clean effect (+10/40 for both Haiku and Opus), concentrated entirely in multi-step arithmetic and showing no tier × effort interaction. The actionable takeaway: for multi-step reasoning, ensure the model is prompted to reason step-by-step before reaching for a bigger, costlier tier — the prompt lever was the cheaper and larger win here. These conclusions are directional only; a defensible version needs repeated trials, a harder and larger task set, an independent judge, and the missing cost/latency and Fable-5 data.


Appendix A — Reproducibility

Harness. Each condition = one Claude Code subagent, model ∈ {haiku,sonnet,opus,fable}, instructed to use no tools/skills and to answer directly. Tier experiment used neutral prompting; effort experiment used the low/high preambles in §2.2.

Verbatim task block sent to every agent (effort preamble prepended in Exp. B):

T1: A water tank holds 240 liters and starts empty. Pipe A fills it at 8 liters
per minute; pipe B drains it at 5 liters per minute. Both pipes are open for the
first 10 minutes, then pipe B is closed and only pipe A continues. Starting from
empty, how many MORE minutes after the first 10 minutes are needed to fill the
tank completely?

T2: Ann, Bob, and Cara each own exactly one different pet: a cat, a dog, or a
fish. Clues: (1) Ann does not own the cat. (2) Bob owns the dog. (3) Among the
three owners, the fish owner's first name comes earliest alphabetically. Who owns
which pet?

T3: Write a Python function merge_intervals(intervals) that takes a list of
[start, end] integer pairs and returns the list of merged non-overlapping
intervals, sorted by start. Touching intervals like [1,2] and [2,3] must merge to
[1,3]. Handle the empty list.

T4: Explain, for a non-technical reader, how a database index makes queries
faster. Write EXACTLY three sentences. Each sentence must contain fewer than 20
words. Do NOT use the words "pointer", "B-tree", or "algorithm".

T3 grading test cases: []→[]; [[1,3],[2,6],[8,10],[15,18]]→[[1,6],[8,10],[15,18]]; [[1,2],[2,3]]→[[1,3]]; [[1,4],[5,6]]→[[1,4],[5,6]]; [[8,10],[1,3],[2,6]]→[[1,6],[8,10]].

Rubric: as in §2.4, fixed before outputs were seen.

Appendix B — Skills applied

Appendix C — Assumptions [ASSUMED]