~ $ how to actually drive AI agents

Ceiling vs. Effort

Two dials decide what an AI agent can do. Neither one fixes a bad diagnosis.

Tier is the ceiling on what a model can do. Effort is how hard it thinks under that ceiling. Get the tier wrong and no amount of thinking saves you; get the effort wrong and you either overpay or stall. This is how to set both – with a real ticket, run two ways, that shows what it's worth.

$19 and right beats $32 and wrong.

orchestrated – the full recipe
$spend$19
diagnosisCorrect root cause – two adversarial refuters killed the wrong theory before it shipped
shippedMRs that close the ticket
exit 0
solo – fable-5 @ max
$spend$32, 31 minutes
diagnosisConfident and wrong – a clean root-cause theory that wasn't the root cause
shippedClean, tested, lint-passing code that fixes nothing
exit 1

Same ticket, two ways. Tier and effort harden execution – clean code, passing tests, green lint. They do nothing for the diagnosis underneath. Only independence – a second agent told to refute, not agree – catches a wrong root cause before it ships. A bigger solo pass buys confidence, not correctness.

// the mental model

Two dials, not one

dial 01

Tier

The ceiling. What the model can do.

Haiku → Sonnet → Opus → Fable

Raw capability: reasoning, world knowledge, how much state it holds, how well it follows instructions when the task gets messy. It's fixed per model – you can't dial it up mid-task. A weaker model thinking harder never reaches a stronger one's ceiling. Pick tier for what the task demands, not for what feels safe.

dial 02

Effort

The deliberation. How hard the model thinks before it answers.

low → medium → high → xhigh → max

Thinking tokens – how much the model works before it commits to an answer. It uses the capability the model already has; it can't add capability that isn't there. And it multiplies the token count, not the rate, so tier and effort compound on your bill. max overthinks – it burns tokens second-guessing an answer it already had at high. xhigh is the sweet spot for coding and agentic work; high is the default for everything else.

// the cheatsheet

Pick tier and effort

situationtiereffort
Mechanical, high-volume, fully specified
rename, format, parse, fan-out reads
Haiku– (no dial)
Most coding, exploration, scoped features
the workhorse – your default
Sonnet 5medium–high
Hard coding, long-horizon agentic work
multi-file refactors, autonomous loops
Sonnet 5 / Opus 4.8xhigh
Subtle bug, architecture call, threat model
expensive-if-wrong, path not obvious
Opus 4.8high–xhigh
The genuinely hardest thing you have
Fable 5high+
// what it costs

Per 1M tokens

modelinputoutputrelative
Haiku 4.5$1$5
Sonnet 5$3$15
Opus 4.8$5$25
Fable 5$10$5010×

Effort multiplies the token count, not the rate – the two dials compound.

// the workflow

One shape, always

  1. 1/5

    Drive

    sonnet @ medium–high

    Keep the main loop in one place, one driver, at Sonnet @ medium–high. Don't switch drivers mid-task – every handoff costs the context it took to build. (Sonnet 5 is on intro pricing, $2 in / $10 out per 1M tokens, through 2026-08-31.)

  2. 2/5

    Delegate down

    haiku

    Hand fan-out reads, searches, and mechanical edits to the cheapest tier that can do them – Haiku. Keep the driver's context clean: distil what comes back from sub-agents, and compact aggressively. Raw dumps pollute the loop that matters.

  3. 3/5

    Escalate up

    opus/fable @ high+

    Isolate the one genuinely hard sub-problem and give it to a top tier at high effort. One scalpel, not a blanket – escalating everything runs up the bill without improving the parts that were already fine.

  4. 4/5

    Verify sideways

    fresh agent · refute

    Spawn a fresh, independent agent and tell it to refute the driver's conclusion, not review it. A majority-refute kills a bad diagnosis before it ships. This is the step that catches a wrong root cause – tier and effort never will.

  5. 5/5

    Judge, don't average

    n attempts · pick the winner

    Run N attempts in parallel, score them, and take the winner. Averaging blends the right answer with the wrong ones and leaves you with neither.

// what not to do

Anti-patterns

// take it home

The skill

~/.claude/skills/morpheus

Morpheus

The Ceiling vs. Effort framework as a Claude Code skill. It picks tier and effort for the task in front of it and runs the delegate / escalate / verify loop. Unlike a static prompt, it's self-improving: it reads its own LESSONS.md before it starts and appends to it after, so each run sharpens the next.

SKILL.md · LESSONS.md · README.md

↓ Download the skill

Free. No account, no sign-up – just the skill.