Claude Haiku vs. DeepSeek V4 for AI Proposal Writing: What Actually Held Up in Production
I run an AI-assisted proposal-writing pipeline for my freelance work - it reads a job posting, extracts the client's key questions, and drafts a proposal in three steps: Details, Questions, and Proposal. Claude Haiku has been the model behind all three steps since I built it.
AI models keep getting compared on "intelligence" - reasoning depth, benchmark scores, how fast they think - but the results rarely agree with each other, and none of that tells me whether a model will actually hold up inside my own pipeline, on my own jobs, under my own cost constraints. Reasoning-heavy models are showing up more and more in exactly this kind of workflow - drafting proposals, answering tender questions, doing the writing work behind a bid - so I wanted a real answer instead of a marketing one.
So instead of trusting a benchmark, I ran the comparison live.
The test
I picked three real, currently open freelance jobs from my own queue - a shopping-center rendering job, an architectural floor-plan redesign, and a sawmill process-visualization job (the longest and most complex brief of the three, at roughly 3,000 characters). Each job went through the full pipeline - Details, question extraction, and proposal generation - three times: once with Claude Haiku (the current production default), once with DeepSeek V4 Pro at maximum reasoning effort, and once with DeepSeek V4 Flash at maximum reasoning effort. Same prompts every time, not hand-copied duplicates. Nine runs in total.
DeepSeek's API only exposes high and max as real reasoning-effort values - there's no literal "X-High" setting, so max is what I used throughout.
What happened
Claude Haiku had zero failures across all nine runs and finished 3 to 10 times faster than either DeepSeek variant, end to end.
DeepSeek V4 Pro at maximum reasoning wasn't reliable enough to consider swapping in. On the sawmill job - the longest of the three - the Details step alone took 67 seconds, and question extraction hit its timeout entirely, coming back with zero questions detected. It wasn't meaningfully cheaper than Haiku either: in one sampled Details call, 1,951 of 2,151 output tokens were invisible reasoning tokens, not the summary the pipeline actually uses.
DeepSeek V4 Flash was the more interesting result. It was clearly the cheapest option, at roughly a third of Haiku's per-job cost, but it was still 3 to 5 times slower end to end and hit one answer-generation timeout of its own in this small sample.
Limitations
Three jobs and three models is nine runs, not a large-scale benchmark - treat the direction of these results as more trustworthy than the exact multipliers. DeepSeek's API doesn't expose a literal "X-High" reasoning setting, so max stood in for it here. And this was an internal production diagnostic on my own pipeline, not a published or peer-reviewed comparison.
What I'm doing with this
Claude Haiku stays the production default. Neither DeepSeek variant gave me a reason to switch - Pro was slower, no cheaper in practice, and failed on the one job that actually stress-tested it; Flash was cheap but still too slow and not fully reliable at this sample size.
DeepSeek V4 Flash is the one I'd revisit if cost ever becomes a binding constraint - a third of the price is a real number - but I'd want a much larger sample before trusting it on a client-facing job. For now, the boring answer won: the model I already had in production is still the right one.
More posts

From many candidates to three profiles: Qwen3.8-27B with MTP and DFlash2
On one RTX 4090, MTP and DFlash2 profiles were eliminated stage by stage. The result is not one universal winner, but a 120K MTP default, a fast 90K DFlash2 text specialist, and a verified 90K MTP vision profile.

Four conditions, one task: what speculative decoding and your agent tool actually cost
Four conditions solved the identical task in the identical repository and every one scored 99 or 100 out of 100. Net task time — with approval waits and automatic context compaction excluded from every measurement — ranged from 11:45 for the cloud run through DSH standard mode to 54:48 for the local model with speculative decoding off.

Coding agent benchmark: how much the runtime layer changes the result
Four coding-agent runs changed the same repository and passed their targeted tests. Wall time still ranged from 6:04 to 13:57 because model, harness, cache and review acted together.
