Short version: most agent calls do not need a premium model — and this month the cheap tier got a lot more interesting. On July 31, DeepSeek shipped V4 Flash 0731, an open-weight model that scores 82.7 on Terminal Bench 2.1 — above its own Pro model and (narrowly, on reported numbers) above Claude Sonnet 5 — at roughly $0.14/$0.28 per million tokens. On August 31, Claude Sonnet 5's introductory $2/$10 pricing expires and jumps 50% to $3/$15. If bulk agent work is your biggest line item, the decision below is worth making before the cliff.
The one-screen answer#
For high-volume, cost-sensitive agent work — bulk extraction, classification, background loops, anything you run thousands of times a day — DeepSeek V4 Flash 0731 is now the default worth testing. It's open-weight, roughly 14x cheaper on input and ~35x cheaper on output than Sonnet 5's promo price, and it edges Sonnet 5 on the one agent benchmark that lines up (Terminal Bench 2.1: 82.7 vs a reported 80.4).
For reliability-critical, latency-critical, or 1M-context work, Claude Sonnet 5 still earns its price: more mature structured tool-calling, steadier long-horizon behavior, a 1M-token context window, and zero infrastructure to run. It's the safer default for the paths where a wrong tool call costs you a customer.
The honest framing: this isn't "switch everything." It's "stop paying premium prices for the 80% of calls that don't need it" — and do it before Sonnet's price rises on September 1.
The numbers, side by side#
| Dimension | DeepSeek V4 Flash 0731 | Claude Sonnet 5 |
|---|---|---|
| Weights | Open — self-hostable | Closed (API only) |
| Input $/M | ~$0.14 (~98% cache-hit discount, first-party) | $2.00 promo → $3.00 after Aug 31 |
| Output $/M | ~$0.28 | $10.00 promo → $15.00 after Aug 31 |
| Terminal Bench 2.1 | 82.7 | 80.4 (reported) |
| SWE-bench Pro | not directly comparable | 63.2% (Opus 4.8: 69.2%) |
| Context window | large (check provider listing) | 1M tokens |
| Output speed | ~113 tok/s (first-party API) | fast, managed |
Two caveats before you act on the table. First, cross-vendor benchmark numbers are not apples-to-apples — Terminal Bench 2.1 run by different teams with different scaffolding can move several points, so treat the 82.7-vs-80.4 gap as a tie, not a win. Second, price is not cost: an open model you self-host adds inference ops and reliability engineering; a managed model you rent adds a vendor's pricing calendar (see the Aug 31 line). The right comparison is total cost to your required quality, measured on your eval.
The real story of the DeepSeek release#
The headline isn't that V4 Flash 0731 is cheap — DeepSeek's Flash tier was always cheap. It's that the cheap model beat the expensive one from the same lab: 82.7 on Terminal Bench 2.1 versus V4-Pro-Preview's 72.1, a ~15% relative jump for the budget SKU over the flagship (Artificial Analysis, MarkTechPost). When the cheap tier out-benchmarks the premium tier on agent tasks, the premium tier stops being the safe default and becomes the opt-in — you reach for it deliberately, for the paths that need it, not reflexively for everything.
When the cheap tier out-benchmarks the premium tier on agent tasks, "just use the flagship" stops being caution and starts being waste.
The Sonnet 5 cliff you have to price in#
Claude Sonnet 5 launched June 30, 2026 at an introductory $2/M input, $10/M output, and that pricing ends August 31, 2026 — from September 1 it's $3/$15, a 50% jump on both numbers (FinOps LLM). If you sized your agent budget on the promo, your bill rises next month whether or not you change anything. That's the forcing function: the DeepSeek-vs-Sonnet math you run today gets more lopsided in DeepSeek's favor on September 1, so this is the month to decide, not to drift.
None of that erases Sonnet 5's case. It still posts 63.2% on SWE-bench Pro (versus Opus 4.8's 69.2%), ships a 1M-token context window, and brings the tool-use maturity that makes long agent runs boring in the good way. For the paths where reliability is the product, $3/$15 is cheap insurance.
How to make the switch safe: one client, two backends#
The move isn't "rip out Sonnet." It's "make the backend swappable so you can route by workload and A/B honestly." Both models speak an OpenAI-compatible API, so a thin adapter lets you point any given call at either one:
import os
from openai import OpenAI
# Two OpenAI-compatible backends behind one interface.
BACKENDS = {
"cheap": {
"client": OpenAI(
base_url="https://api.deepseek.com/v1",
api_key=os.environ["DEEPSEEK_API_KEY"],
),
"model": "deepseek-v4-flash-0731",
},
"reliable": {
"client": OpenAI(
base_url="https://api.anthropic.com/v1", # Anthropic's OpenAI-compat endpoint
api_key=os.environ["ANTHROPIC_API_KEY"],
),
"model": "claude-sonnet-5",
},
}
def run_agent_step(messages, tools, tier="cheap"):
"""Route a step to the cheap backend by default; escalate when it matters."""
b = BACKENDS[tier]
return b["client"].chat.completions.create(
model=b["model"],
messages=messages,
tools=tools,
temperature=0,
)
Then route by workload, not by habit:
def choose_tier(task):
# Escalate only the paths that actually need premium reliability.
if task.get("customer_facing") or task.get("needs_1m_context"):
return "reliable" # Sonnet 5
return "cheap" # DeepSeek V4 Flash 0731
With that in place, run the same eval set through both tiers and compare on the three axes that decide production agents: task success rate, tool-call validity, and cost per completed task (not cost per token — a cheaper model that retries twice can cost more). Ship the routing rule your own numbers justify. For a deeper treatment of building the backend to be swappable in the first place, see how to migrate an AI agent to a new LLM; for the sibling comparison against the other open cheap-tier contender, see Kimi K3 vs Claude Sonnet 5 for your agent backend and DeepSeek V4 Flash vs Qwen3.7 Flash.
The founder read#
The cheap tier crossed a line this month: an open-weight model that out-benchmarks its own flagship on agent tasks, at a fourteenth of a managed competitor's promo price — right as that competitor's promo expires. That doesn't mean abandon the managed model; it means the default flips. Route bulk agent work to the cheap tier, keep the premium tier for the paths that earn it, and make the backend swappable so this decision stays a config change, not a rewrite, the next time the price calendar moves. Because it will move again — it always does.



