- Haiku is perfect for single-shot preprocessing: classification, extraction, filtering. It's 4x faster and 10x cheaper than Sonnet. For these tasks, stop overpaying.
- Haiku fails on multi-step work. Errors compound: 80% per-step = (0.8)^10 โ 11% end-to-end on 10-step chains. Don't use Haiku for agent loops or iterative refinement.
- Scope matters more than accuracy. I tested single-shot tasks only. I didn't test agent loops, reasoning chains, or multi-step workflows. This post is about preprocessing, not reasoning.
- The honest take: Haiku crushes preprocessing (single decision, done). Use Sonnet as your main reasoning engine. Escalate to Opus when Sonnet is uncertain. That's the production pattern.
The benchmarks said Haiku was weak.
So I didn't use it.
Most developers don't. They assume Sonnet or Opus is always better, and they're right โ if you're measuring maximum capability on complex multi-step reasoning.
But I started testing Haiku on real production tasks, and I found something: Benchmarks measure the wrong thing for your actual workload.
โ ๏ธ Important Scope Note
Everything in this post: Single-shot API calls. One model call = one answer. Done.
I did NOT test:
- Multi-step reasoning chains
- Agent loops with tool calls
- Iterative refinement workflows
- Tasks requiring consistency across 5+ steps
Why this matters: Error compounds. Haiku at 80% per-step over 10 steps = (0.8)^10 โ 11% end-to-end success.
If you're building agent systems, skip this post. Use Sonnet as your baseline. This is about preprocessing only.
The Benchmark Lie
Official scores:
- Opus: ~92% accuracy on complex reasoning
- Sonnet: ~88% accuracy
- Haiku: ~82% accuracy
Reading this, you think Haiku is weak. You're right โ at complex reasoning. You're wrong about everything else.
Benchmarks measure maximum capability on hard problems. They do NOT measure:
- Real-world task distribution
- Single-shot vs. multi-step work
- Cost per correct answer
- Whether you need complex reasoning at all
For single-shot preprocessing, Haiku is often better.
Real Tasks vs. Benchmarks [Single-Shot Tasks]
I tested Haiku on real production work. All single-shot.
Task 1: Sentiment Classification [Single-Shot Task]
Problem: "Classify 1,000 social media posts as positive, negative, or neutral. Speed is critical."
Results:
| Model | Accuracy | Speed | Cost | Cost/Answer |
|---|
| Haiku | 92% | 4s | $0.001 | $0.0000108 |
| Sonnet | 96% | 9s | $0.011 | $0.0001146 |
| Opus | 98% | 12s | $0.042 | $0.0004286 |
Real-world decision: Haiku wins. 92% is good enough. Users can't wait 9-12 seconds. Cost is 10x lower.
Task 2: Spam Detection [Single-Shot Task]
Problem: "Classify incoming emails as spam or legitimate. Latency < 2 seconds (user experience blocker)."
Results:
| Model | Accuracy | Speed | Works? |
|---|
| Haiku | 89% | 1.2s | โ
YES |
| Sonnet | 94% | 8s | โ TOO SLOW |
| Opus | 96% | 11s | โ UNUSABLE |
Real-world decision: Only Haiku works. Sonnet and Opus are literally too slow.
Task 3: API Response Generation [Single-Shot Task]
Problem: "Customer asks API for data summary. Response must come back in <5 seconds."
Results:
| Model | Quality | Speed | Fits Budget? | Cost |
|---|
| Haiku | Good | 3s | โ
YES | $0.001 |
| Sonnet | Better | 8s | โ
BARELY | $0.011 |
| Opus | Best | 12s | โ NO | $0.042 |
Real-world decision: Haiku wins, Sonnet is backup.
Task 4: Log Analysis [Single-Shot Task]
Problem: "New production error. Analyze logs, categorize issue, suggest fixes. Ops engineer waiting."
Results:
| Model | Insight Depth | Speed | Cost |
|---|
| Haiku | Quick diagnosis | 2s | $0.001 |
| Sonnet | Detailed analysis | 9s | $0.011 |
| Opus | Expert-level | 12s | $0.042 |
Real-world decision: Haiku first for quick diagnosis, escalate if needed.
Where Haiku FAILS [Multi-Step Tasks]
This is critical. I tested single-shot. I did NOT test these:
5-Step Reasoning Chain
- Haiku: (0.8)^5 = 32.8% end-to-end success
- Sonnet: 88%+ success
- Decision: Use Sonnet
10-Step Agent Loop
- Haiku: (0.8)^10 = 10.7% success
- Sonnet: 85%+ success
- Decision: Use Sonnet only
Iterative Refinement (Generate โ Check โ Refine โ Check)
- Haiku: Errors compound across iterations
- Sonnet: More reliable per iteration
- Decision: Use Sonnet
The math: Each step has independent error. Five steps with 80% accuracy means you need (0.8)^5 = 32.8% success. That's not good enough for iterative work.
I didn't test this because I didn't test multi-step tasks. So I won't claim Haiku works for it.
The Real Production Pattern (Single-Shot Only)
For preprocessing and filtering, use escalation:
Request โ Haiku (confident?)
โ (No)
Sonnet (still uncertain?)
โ (No)
Opus (only complex cases)
Cost & speed:
- 95% at Haiku: 3 seconds, $0.001
- 4% at Sonnet: 9 seconds, $0.011
- 1% at Opus: 12 seconds, $0.042
Blended: 3 seconds average, $0.0012/request (vs $0.011 all-Sonnet)
This saves money AND time. But ONLY for single-shot preprocessing.
The Honest Limitations
I tested Haiku on real tasks. Real tasks in my testing were single-shot only.
I measured:
- โ
Speed on one-pass decisions
- โ
Cost per request
- โ
Accuracy on classification/extraction
I did NOT measure:
- โ Multi-step reasoning chains
- โ Agent loops with tool calls
- โ Iterative refinement
- โ Consistency across 5+ steps
So I won't claim Haiku works for those. It doesn't. Use Sonnet.
What This Actually Means
Haiku is perfect for:
โ
Preprocessing (filtering 95% of requests)
โ
Real-time APIs (4-second response limits)
โ
Single-pass classification or extraction
โ
Cost-sensitive high-volume work
Haiku is terrible for:
โ Agent loops (errors compound)
โ Multi-step reasoning (11% success on 10 steps)
โ Iterative refinement
โ Anything requiring consistency across steps
The Real Underrated Story
It's not "Haiku is better than everyone thinks."
It's "Haiku is perfect for preprocessing, but everyone's trying to use it for reasoning."
Your preprocessing is 60% of your workload. That's where Haiku wins.
Use Sonnet for the 30% that needs reasoning. Use Opus for the 10% that's genuinely hard.
That's the production pattern that actually works.
Series: Claude Foundations & Model Family
Previous: Day 2 - Why Opus Is Overkill
Next: Day 4 - Adaptive Thinking: How to Route on Signals