Skip to content
Phạm Nam

Search

Type a keyword to search the posts.

Go back
en

Cut LLM Costs 4x with a Jev → Opus Cascade

Jev decides first and escalates only uncertain cases to Claude Opus 5.5: 4.39x cheaper on Hightouch's easy test, 3.5x on Banking77, accuracy almost unchanged.

12 min read—

Cascade diagram: the small Jev model decides first, and only uncertain cases escalate to Claude Opus 5.5

Stop Paying Opus Prices for Every Task: a Small Model Plus Confidence Escalation, 4x Cheaper with Almost No Accuracy Loss

At the end of the month, you open your API bill: a ticket-classification system handling tens of thousands of requests a day, and every request — even one whose category is obvious at a glance — goes through Claude Opus 5.5. If 70–80% of cases are easy, why pay frontier prices for them? Here, a cheap decision model such as Jev decides first, and only cases it is unsure about escalate to Opus — with numbers from two independent experiments and four steps to apply it.

Why Calling a Large Model for Every Request Is Wasteful

LLM Cost Grows with Volume, Not Difficulty

Easy cases have a clear answer: a “forgot my password” ticket belongs to account support. Hard cases are ambiguous or need multi-step reasoning — but a frontier model charges the same for both. In Hightouch’s experiment, one decision cost $3.86 per 1,000 cases on Opus 5.5 alone, versus $0.05 on Jev alone — about 77x. Latency is a hidden cost too: Opus 5.5 took 2.2 seconds per identity versus Jev’s 0.15 seconds, and on Banking77 Opus 5’s p50 was 2,266 ms versus 175 ms for Jev 1.13.

What Is Jev? How a Decision Model Differs from a Regular LLM

Jev — TypeSafe’s System One Decision Model

Jev, TypeSafe’s first decision model, launched on 15/9/2026. It does not generate text: given a state and a typed question, it returns a typed answer with a probability and confidence from 0 to 1. Its four primitives are Choice (one of up to 255 options), Score, Noul (yes/no probability), and Box (image reading, requires Jev 1.14); for this cascade, Choice matters most. Call it via the OpenRouter Decisions API: POST https://openrouter.ai/api/alpha/decisions, model id typesafe/jev-1.13 (1.14 is the latest), with only an OpenRouter API key. Verified pricing: $0.042 per one million input tokens, output free.

Which Problems Fit a Decision Model — and Which Do Not

Decision models fit problems with finite, verifiable answers — ticket classification, right/wrong grading, checklist-based review, priority triage — not tasks needing long reasoning, text generation, creativity, or open-ended answers. This pattern is for developers building LLM systems at scale, IT managers watching the AI bill, and AI builders running agents or LLM-as-judge workloads at high volume.

Model Cascade Architecture: Jev Decides First, Opus Handles Only Hard Cases

The Main Components of the Cascade System

Two tiers, one gate, one feedback loop. Tier one is Jev: it takes a typed question and returns an answer with confidence. The confidence gate is the single cost control point. Tier two is Claude Opus 5.5, which receives only the cases Jev is unsure about and makes the final decision. A logging loop records confidence, decisions, cost, and latency per case so the threshold can be tuned. The threshold is an operating parameter, not a model constant, and the escalation rate is the cost lever: system cost equals Jev’s cost plus the escalation rate multiplied by Opus’s cost. High confidence is accepted immediately, low confidence escalates to Opus, and Opus is the final stop.

The Article’s Only Architecture Diagram

flowchart TD
    A["Request<br/>Typed question + answer set"] --> B["Jev — cheap decision model<br/>$0.042 / 1M input tokens<br/>Returns answer + confidence 0–1"]
    B --> C{"Confidence gate<br/>Escalation threshold"}
    C -->|"High confidence<br/>~78% of cases (Hightouch easy test)"| D["Accept immediately<br/>Return Jev's answer"]
    C -->|"Confidence 30–90% / low<br/>22% escalate (Hightouch)"| E["Claude Opus 5.5<br/>Handles escalated cases only<br/>Final decision"]
    E --> F["Final result<br/>Answer + deciding tier"]
    D --> F
    F --> G["Log: confidence + cost<br/>+ latency + escalation rate"]
    G -->|"Tune threshold periodically"| C

You need an OpenRouter API key; the Decisions API is still in alpha. Model ids must specify the exact version: Jev 1.13 was measured on Banking77, Jev 1.14 is the latest; Hightouch did not state its Jev version, so do not apply 1.13 to its numbers. Jev does not generate text or do long reasoning; its confidence is a good ranking signal but not a calibrated probability, according to OpenRouter.

Real Numbers: “4x Cheaper” Is Only True Under Certain Conditions

The “4x cheaper” figure only means something with the test name, task, and threshold attached.

Hightouch Experiment — LLM Judge for Identity Resolution (Easy Test)

Hightouch (published 2026-11-04, updated 2026-11-06) used an LLM judge to detect over-merging in identity resolution: 1,000 identities from simulated PseudoPeople data, half over-merges.

ConfigurationAccuracyTime / caseCost / 1,000
Opus 5.5 alone99.0%2.2 s$3.86
Jev alone (60% cutoff)95.7%0.15 s$0.05
Hybrid Jev → Opus (escalate at 30–90%, 22% of cases)98.8%0.63 s$0.88
Hybrid Luna → Opus (for comparison)98.5%0.30 s$0.33

Dividing 3.86 by 0.88 gives 4.39x — the source of “4x cheaper”. But it is only true on this easy test.

The Same Hightouch Experiment on the Hard Test — Savings Shrink

On the hard test — only tricky cases, with typos and twin-like over-merges — the Jev hybrid was only 1.83x cheaper (5.39 / 2.94), yet slightly more accurate than Opus alone: 95.3% versus 95.1%.

ConfigurationAccuracyTime / caseCost / 1,000
Opus 5.5 alone95.1%2.6 s$5.39
Jev alone (60% cutoff)89.1%0.15 s$0.06
Hybrid Jev → Opus95.3%1.56 s$2.94
Hybrid Luna → Opus91.6%0.70 s$1.15

A Second Independent Test — OpenRouter Banking77 (Different Task, Different Model)

OpenRouter ran its test on 22/9/2026 on Banking77: 3,080 bank customer-support questions classified into 77 intents. The model here is Claude Opus 5, not 5.5, with reasoning OFF, structured output, and prompt caching on.

ConfigurationAccuracyLatency p50Cost / 1,000
Opus 5 alone84.4%2,266 ms$2.42
Jev 1.13 alone81.0%175 ms$0.11
Cascade, threshold 0.90 (75.9% stay on Jev)84.0%—$0.69
Cascade, threshold 0.9984.3%—$1.13

At threshold 0.90, the cascade reached 84.0% — only 0.4 points behind Opus — at $0.69, 3.5x cheaper. Raising it to 0.99 gained only 0.3 accuracy points while cost rose 64% to $1.13. Note: the cascade table is an upper bound because it uses the same test set on which accuracy was measured.

Reading the Numbers Correctly — Calibration Matters More Than Absolute Accuracy

This is the key insight. Jev’s errors concentrate near 50% confidence, so the gate catches exactly the cases needing escalation. Luna is the opposite: alone it was more accurate than Jev on the easy test (97.3% versus 95.7%), but overconfident — its errors fell in the 90–100% bucket, where the gate cannot catch them. Choose a cheap first tier by its calibration curve, not accuracy alone.

Applying the Model Cascade in 4 Steps

Step 0 — Prerequisites

You need four things: a labelled dataset (a few hundred samples or more); a problem expressible as a typed question with a finite answer set; an OpenRouter API key and a baseline budget for running everything on Opus; and per-case logging. There is no software to install — this is an API-calling pattern, not an application deployment. I have not run Jev directly; I only cross-checked the documentation.

Step 1 — Define the Typed Question and Answer Set

Write the question as a Choice (up to 255 options), Score, or Noul, with discrete, verifiable answers: 77 intents as in Banking77, right/wrong grading with criteria, or triage “urgent / high / medium / low” with a clear definition per level. Ambiguous answers are the most common mistake — overlapping options push escalation toward 100%.

Step 2 — Run Jev on Labelled Samples, Plot the Accuracy/Cost Curve by Threshold

Call the Decisions API (POST https://openrouter.ai/api/alpha/decisions, model typesafe/jev-1.13) on labelled samples, recording confidence and right/wrong per sample (pseudo-code only):

for sample in labelled_samples:
    result = call_decisions(model="typesafe/jev-1.13",
        question=typed_question, options=answer_set, state=sample.input)
    log(sample.id, result.answer, result.confidence, result.usage_cost)

for threshold in [0.60, 0.80, 0.90, 0.99]:
    escalated = [s for s in logged if s.confidence < threshold]
    report(threshold, escalation_rate=len(escalated) / len(logged))

Expected output: a typed answer, confidence 0–1, and usage.cost reflecting $0.042 per 1 million input tokens. Check those three points before moving on.

Step 3 — Choose the Escalation Threshold by Budget and Acceptable Error Rate

Choose the threshold from your own curve — do not copy Banking77’s 0.90 or Hightouch’s 30–90% range, because those numbers are right for their data. Re-choose it whenever the data changes.

Step 4 — Deploy, Log, and Tune Periodically

Log every decision; track the escalation rate weekly and check accuracy periodically, recalibrating when the data drifts. Common mistakes: copying a threshold without measuring again; ambiguous answers; no logging; using Jev for reasoning or text generation; confusing model versions. Rollback: keep the cascade behind a feature flag — lower the threshold or turn it off and route everything to Opus until recalibration is done.

Technical Assessment: Pros, Cons, and Operations

Pros of the Confidence Cascade

Large savings on easy cases: 4.39x on Hightouch’s easy test and 3.5x on Banking77 (threshold 0.90), accuracy only 0.2–0.4 points behind Opus, and lower latency (0.63 vs 2.2 seconds).

Cons and Limits

The cascade adds a tier and a threshold gate — more complexity and a calibration obligation. Accuracy cannot exceed the frontier tier’s ceiling if the gate misses: a case Jev is confident about but wrong about will never reach Opus. The Decisions API is still in alpha, and Jev 1.13 and 1.14 may differ in behaviour and pricing.

Security and Data When Calling the Decision API

Do not send PII, business secrets, or sensitive medical/legal data until you have reviewed the provider’s data-retention terms. Send only the fields needed, separate raw-content logs from confidence/result logs, and treat the API key as a secret.

Performance and Scalability

Jev’s p50 was 175 ms versus Opus’s 2,266 ms on Banking77; the hybrid took 0.63 seconds versus Opus’s 2.2 seconds per identity on Hightouch’s easy test, and the bottleneck shifts to Opus as the escalation rate rises (hard test: 1.56 seconds per case). There is no self-measured throughput or QPS benchmark.

Operations: What to Monitor After Deployment

Monitor escalation rate, accuracy on periodic samples, cost per 1,000 requests, p50/p95 latency per tier, and confidence distribution. A sudden spike in the escalation rate is the key alert — a signal that the data changed or the threshold drifted. In my view, the escalation rate is a free drift sensor.

Comparing the Jev → Opus Cascade with Alternatives in the Same Scope

OptionAccuracyCost / 1,000LatencyComplexityWhen It Fits
Opus 5.5 aloneHighest on easy test (99.0%)$3.862.2 s/caseLowestHigh-stakes
Jev alone95.7% / 81.0%$0.05 / $0.110.15 sLowEasy cases dominate, errors are cheap
Hybrid Jev → Opus98.8% / 84.0%$0.88 / $0.690.63 sMediumMany easy cases + calibration data
Hybrid Luna → Opus98.5% / 91.6%$0.33 / $1.150.30 sMediumIllustration: poor calibration means a poor cascade
Fixed mid-tier modelBetween Jev and OpusFixed for every caseFixedLowYou do not want to operate a threshold gate

The cascade wins with many easy cases and calibration data; a fixed mid-tier model wins when you do not want to operate a threshold gate; Opus alone wins on high-stakes problems.

When NOT to Use a Model Cascade

Do not use it for high-stakes cases that accept no errors — healthcare, legal, or sensitive finance — because a case Jev is confident about but wrong about will never escalate. Do not use it when Jev has not been calibrated on your own data, when the task needs long reasoning, or when production data is too different from the calibration set, or when volume is too small to cover the operating cost.

Real-World Applications of the Cascade Pattern

Business — Ticket Classification and LLM-as-Judge Scoring

The most direct application is support-ticket classification, exactly as in Banking77 with 77 intents: most tickets are clear, and only the ambiguous minority needs a large model. Second is LLM-as-judge: using a model to score agent output. The article about iFixAi — independent AI agent auditing is the same “using a model to judge a model” family from an auditing angle; this article is the cost-saving angle.

AI Workflows — Code Review and Triage at Scale

Grade code reviews against a typed checklist, triage pull requests and issues, and filter clear cases before frontier review — an escalated case is also the case a human should review first.

DevOps and IT Admin — Automating Incident Classification

Classify alerts and logs and set incident priority: confident cases are handled automatically by playbook, ambiguous cases escalate to a large model or the on-call person. The article about Orca — running many AI coding agents in parallel raises the scale problem of running many agents in parallel; the cascade keeps that cost under control.

Homelab — Running a Cascade on a Fixed Budget

For daily repeated tasks such as tagging or content classification, cap monthly spending with the escalation threshold: as spending approaches the cap, lower the acceptance threshold instead of exceeding the budget.

Troubleshooting

SymptomLikely CauseFix
Escalation rate approaches 100%Overlapping answer options give Jev low confidence on every caseRedefine the answer set with discrete, verifiable options, then re-measure
Accuracy drops after deploymentData drifted or the threshold is staleRecalibrate on fresh labelled samples; check the confidence distribution
Escalation rate spikes suddenlyData changed or the threshold driftedTreat the spike as a drift signal; recalibrate before accuracy falls
Jev returns low confidence on most casesTask needs long reasoning or text generationDo not use Jev for that task; route it to a frontier model instead
Costs barely fall despite the cascadeVolume is too small, or the threshold was copiedMeasure your own accuracy/cost curve and choose the threshold from it
Wrong model behaviour or pricingModel version confusion (Jev 1.13 vs 1.14)Pin the exact model id, e.g. typesafe/jev-1.13, and re-check pricing

If the cascade misbehaves, roll back behind the feature flag: route everything to Opus until recalibration is complete.

Lessons Learned

  1. The biggest saving does not come from a cheap model, but from not paying frontier prices for easy cases — the confidence gate creates the saving.
  2. “4x cheaper” is conditional: 4.39x is only true on Hightouch’s easy test, the hard test is only 1.83x, and Banking77 is 3.5x — always report savings with the test name, task, and threshold.
  3. Choose the cheap tier by calibration, not accuracy: Jev’s errors concentrate in the low-confidence region, so the gate catches them.
  4. Confidence is not calibrated probability — a threshold copied from another article is the wrong threshold; measure it again on your own data.
  5. The escalation rate is both a cost lever and a sensor that detects data drift before accuracy drops.

Conclusion — Who Should Use the Cascade, Who Should Not, and the Next Step

The cascade fits systems with large volume, repeated typed-decision tasks, labelled data for calibration, and tolerance for small errors at the cheap tier — not high-stakes problems, reasoning or text-generation tasks, or situations without calibration data. Next step: take 300–500 labelled samples of your own, run Jev through the Decisions API, plot accuracy and cost curves by threshold, and only then decide the production threshold. Do not deploy on Hightouch’s or Banking77’s numbers alone — the right threshold can only be measured on your data.

Verification-Scope Note

Checked on: 2026-11-08. Verified directly from Hightouch’s article (published 2026-11-04, updated 2026-11-06) and OpenRouter’s Banking77 test (test run 22/9/2026). The numbers are the publishers’ own experiments on a single task each — identity resolution with simulated PseudoPeople data for Hightouch, Banking77 intent classification for OpenRouter — and have not been independently verified on the identity-resolution task. I have not run Jev myself, so there is no self-measured benchmark here. The Decisions API endpoint, model id typesafe/jev-1.13, and the $0.042 per 1 million input token price were verified as matching across OpenRouter and TypeSafe documentation. Opus on Banking77 ran with reasoning OFF, structured output, and prompt caching on. Per-threshold cost figures are operating configurations, not absolute performance benchmarks.

References


Bình luận

Bình luận được duyệt trước khi hiển thị.

Đang tải bình luận…

Để lại bình luận