Blog · 2026-07-23 · Vynaris Team
Route the plumbing, keep the planner: splitting an agent by step saves 28-34%, not 62%
Splitting an agent by step saves 28-34%, not the 62% the step count implies: plumbing is 62.5% of steps, 34.9% of the bill. Prices verified 2026-07-23.
Split a multi-step agent by step-criticality: keep the planner on a premium model, drop the deterministic plumbing steps (classify, extract, format, guardrail) to a cheap one. In our 8-step worked agent, plumbing is 62.5% of the steps but only 34.9% of the bill. That 34.9% is the hard ceiling on what this split can save, and routing every plumbing step to the cheapest model gets you 27.9-34.1%, not 62.5%. The step count is the wrong number to plan around. Prices verified 2026-07-23.
TL;DR
- Splitting by step role has no double-spend: each step runs once, on one model. Savings are
S = d * (1 - r_p), wheredis the plumbing steps' share of the all-premium dollar bill andr_pis the cheap tier's cost divided by the premium's at the plumbing token shape. - The ceiling is
d, the dollar share, and it is always smaller than the step share or the token share. Plumbing is input-token-heavy with short outputs; the planner burns expensive output tokens. In the worked agent, plumbing is 62.5% of steps, 47.3% of tokens, 34.9% of dollars. - On live prices, routing the plumbing off Opus 4.8 saves 27.9% with Haiku 4.5, 32.4% with Gemini 3.5 Flash-Lite, 34.1% with DeepSeek v4-flash. A planner-heavy agent caps at 9.3%: its plumbing is not where the money is.
The finding, before the mechanics
"Keep the smart model for the hard parts, use a cheap model for the busywork" is the most repeated cost tip for agents. It is correct in direction and badly miscalibrated in magnitude. Teams count steps: "eight of my ten steps are just extraction and formatting, so I should cut most of my bill." The steps you can safely downroute are the cheap ones to begin with. The steps you must keep on the premium model are the expensive ones. So the share of the bill you can move is far smaller than the share of steps you can move.
This post computes that gap on one worked agent and live-verified prices, gives you the formula to run it on yours, and marks where the split is not worth the wiring. Every dollar figure comes from a provider's live pricing page (captured 2026-07-23) or the arithmetic shown. This is a static split by step role, not a runtime cascade: there is no confidence gate and no double-spend, which makes the math simpler and the ceiling lower.
The workload (edit these)
An 8-step research-and-answer agent, one task. Each step is one call. "Planner" steps carry judgment and stay on the premium model; "plumbing" steps are deterministic transforms and are candidates to downroute.
# Step Role Input tok Output tok
- -------------------------- -------- --------- ----------
1 Decompose the task planner 1,800 900
2 Classify intent plumbing 700 30
3 Extract slots / entities plumbing 1,400 150
4 Summarize retrieved chunks plumbing 4,000 250
5 Reason over the evidence planner 3,500 1,100
6 Draft the final answer planner 2,200 1,300
7 Format to JSON schema plumbing 1,200 300
8 Guardrail / safety check plumbing 1,600 60Five of eight steps are plumbing. They total 8,900 input and 790 output tokens. The three planner steps total 7,500 input and 3,300 output tokens. Note the shape: plumbing reads a lot and writes almost nothing; the planner writes long. That asymmetry is the whole story, because output costs 5x input on the premium model.
Where the dollars actually are
Price every step at the all-premium baseline first: Opus 4.8 at $5 per 1M input and $25 per 1M output, verified 2026-07-23.
Portion Input tok Output tok Cost per task Share of bill
--------------------- --------- ---------- ------------- -------------
Plumbing (5 steps) 8,900 790 $0.06425 34.9%
Planner (3 steps) 7,500 3,300 $0.12000 65.1%
**All-premium total** 16,400 4,090 **$0.18425** 100%Plumbing input dominates the token count but output dominates the dollars, and the planner owns the output. So the plumbing steps you were going to downroute account for a third of the bill, not the two-thirds their step count implies. Here are the three ways to slice the same plumbing steps:
Slice Plumbing share
---------------- ----------------------------
Share of steps 62.5% (5 of 8)
Share of tokens 47.3% (9,690 of 20,490)
Share of dollars 34.9% ($0.06425 of $0.18425)
The formula
Send the plumbing to a cheap model, keep the planner on premium. Because each step still runs exactly once, the split cost is just a sum:
split cost = planner_premium + plumbing_cheap
all-premium = planner_premium + plumbing_premiumDivide the saving by the all-premium bill and it collapses to two terms:
S = d * (1 - r_p)where d = plumbing_premium / all-premium is the plumbing steps' dollar share, and r_p = plumbing_cheap / plumbing_premium is the cheap-to-premium cost ratio at the plumbing token shape. Two things to notice:
dis the ceiling. Even a free cheap tier (r_p = 0) saves onlyd. Here that is 34.9%. You cannot route your way past the fraction of the bill the plumbing represents.r_pis the haircut. The cheaper the plumbing tier relative to premium, the closer you get to the ceiling. A cheap tier that is a fifth of premium leaves a fifth of the ceiling on the table.
This is a different shape from a confidence cascade, whose savings are (1 - r) - e because it pays the cheap model on every call and the premium model again on the escalated fraction. A step-split pays each step once, so there is no escalation-rate term and no double-spend, but the ceiling d is bounded by the plumbing's dollar share rather than by the whole bill.
What the split actually saves
Route all five plumbing steps to each cheap tier, keep the planner on Opus 4.8. Prices verified 2026-07-23.
Cheap plumbing tier Plumbing cost/task `r_p` Split cost/task Savings vs all-Opus
----------------------------------- ------------------ ----- --------------- -------------------
Haiku 4.5 ($1/$5) $0.01285 0.200 $0.13285 27.9%
Gemini 3.5 Flash-Lite ($0.30/$2.50) $0.00464 0.072 $0.12464 32.4%
DeepSeek v4-flash ($0.14/$0.28) $0.00147 0.023 $0.12147 34.1%Per 1,000 tasks: the all-premium agent costs $184.25; the Haiku split costs $132.85 (saves $51.40), the v4-flash split costs $121.47 (saves $62.78). The spread between the three cheap tiers is 6.2 points of savings, small in absolute terms because they are all already close to the 34.9% ceiling. Once the cheap tier is a small fraction of premium, picking an even cheaper one barely moves the total. Drop your own per-step token counts into the calculator to find your ceiling and your realized savings.
The practical read: the choice of cheap model matters far less than which steps you classify as plumbing. Moving from Haiku to the cheapest cloud tier buys 6 points; misjudging one output-heavy planner step as "plumbing" can cost you more than that in the other direction, or in quality.
The ceiling moves with the planner's reasoning weight
d is not a constant. It is set by how much of your bill the planner's output tokens consume. The more your agent reasons, the smaller the plumbing's dollar share, and the less a split can do. Three agent shapes, same method:
Agent shape Plumbing % tokens Plumbing % dollars (ceiling) Haiku split v4-flash split
----------------------------- ----------------- ---------------------------- ----------- --------------
Plumbing-heavy ETL agent 84.2% 80.0% 64.0% 78.1%
Balanced (worked agent) 47.3% 34.9% 27.9% 34.1%
Planner-heavy reasoning agent 21.3% 9.3% 7.5% 9.1%An extraction-first agent, thin on reasoning, is a great split candidate: its plumbing is 80% of the bill and routing it to v4-flash cuts 78%. A reasoning-heavy agent is not: its plumbing is 9.3% of the bill, so even a free cheap tier saves under 10%, and the orchestration to get there is rarely worth it. The reasoning-token tax is what suppresses the ceiling — invisible reasoning tokens billed at the output rate sit entirely on the planner, the one step you are not moving.
When splitting adds more than it saves
- Planner-heavy agents. If the ceiling
dis below ~15%, the split is chasing a tenth of the bill. Right-size the planner itself or cap its reasoning effort before you wire per-step routing. Right-sizing the expensive step beats shaving the cheap ones. - Plumbing that is secretly judgment. The premise is "without touching quality." It only holds if the steps you downroute are genuinely deterministic. An extraction step that needs to disambiguate, or a guardrail that needs to reason about edge cases, is a planner step wearing a plumbing label. Downroute it and you trade a few cents for a quality regression you will not see until production.
- Caching already carries the plumbing. If the plumbing steps read a large shared context that prompt caching serves at 0.1x on the premium model, their premium cost is already low, so
dshrinks and the split saves less than the table shows. Worse, caching is per-model: a plumbing step moved to Haiku cannot read an Opus cache, so a split can forfeit cache hits it used to get. Model the split against your cached all-premium bill, not the uncached one. - Low volume. Per-step routing is orchestration you build and maintain. At a few thousand tasks a month, $51 of savings per 1,000 tasks will not pay back the engineering. The labor break-even applies here as much as to any optimization: below your volume threshold, run everything on the premium model and skip the split.
How this differs from the other routing posts
The distinguishing move here is a static assignment by step role, decided once at design time, with the savings ceiling set by the plumbing's dollar share. It is not a runtime confidence cascade, where a cheap model answers first on every call and low-confidence answers are re-run on premium — that pays twice on the escalated fraction and its lever is the escalation rate. It is not offline downroute detection, which replays logs to find whole calls a cheaper model could have handled; here we split one task's internal steps, not a population of calls. And it is not the whole-task, upfront coding-agent model routing that sends each request to one model by type; the unit here is the step inside a single run. Same instinct, three different cost structures, three different ceilings.
Doing this on Vynaris
The formula above is all you need to size a step-split yourself; this section is the paid shortcut, clearly labeled. Vynaris is an OpenAI-compatible gateway that lets you pin a model per step and reports the realized per-step and per-task cost against an all-premium baseline, so you see the actual d and S for your agent instead of a step count. See the docs and pricing.
FAQ
Why does routing 62.5% of steps to a cheap model not cut the bill 62.5%? Because the steps you can downroute are the cheap ones. Plumbing steps are input-heavy with short outputs; the planner writes the expensive output tokens. The plumbing's share of the dollar bill (34.9% here) is the ceiling, not its share of steps.
What is the savings formula for a step-split? S = d * (1 - r_p), where d is the plumbing steps' share of the all-premium dollar bill and r_p is the cheap tier's cost divided by the premium's at the plumbing token shape. Each step runs once, so there is no double-spend term.
Which cheap model should I use for the plumbing? On live prices it barely matters once the tier is far below premium: Haiku 4.5 saves 27.9%, Flash-Lite 32.4%, v4-flash 34.1% on the worked agent. Correctly classifying which steps are plumbing matters far more than the 6-point spread between cheap tiers.
When is a step-split not worth it? When the planner dominates the bill (ceiling under ~15%), when a "plumbing" step actually needs judgment, when caching already serves the plumbing cheap on premium, or when volume is too low to repay the orchestration. Prices verified 2026-07-23.
Sources
- Anthropic pricing (Opus 4.8 $5/$25, Haiku 4.5 $1/$5), captured 2026-07-23: https://platform.claude.com/docs/en/about-claude/pricing
- DeepSeek API pricing (v4-flash $0.14/$0.28), captured 2026-07-23: https://api-docs.deepseek.com/quick_start/pricing
- Google Gemini API pricing (3.5 Flash-Lite $0.30/$2.50), captured 2026-07-23: https://ai.google.dev/gemini-api/docs/pricing
- Hacker News, "which LLM calls a cheaper model could handle" (67 points / 24 comments, read 2026-07-23): https://news.ycombinator.com/item?id=48816724
- Per-step cost model and all arithmetic: derived from the assumptions table above.
Prices change. We re-verify every figure in this post monthly and stamp updates. Numbers here are current as of 2026-07-23.
The lesson: plan the split around the dollar share of your plumbing, not the step count. Compute d first; if it is small, the planner is your bill and the split is a distraction.