DocsUnderstand5 min read

How it compares#

This page puts shad0w next to the other ways to answer a fixed-choice question without calling your LLM every time, measured the same way, and says when to pick which.

How the comparison was run#

method answered without the LLM @ α = 5% disagreement with the LLM on those accuracy vs gold (cascade) p50 per decision cost per 1k decisions needs guarantee
shad0w table 61% 3.0% 76.5% 4.0 µs $0.204 your LLM's logged answers certified ≤ α vs your LLM
semantic cache (bge-small, nearest logged answer) 0% — 76.3% 7.5 ms $0.520 embedding model + logged answers same certifier applied
embedding kNN router (bge-small, k=10) 69% 2.9% 76.9% 7.6 ms $0.161 embedding model + logged answers same certifier applied
small fine-tuned head (LR on bge-small) 75% 3.4% 77.1% 7.2 ms $0.129 embedding model + logged answers same certifier applied
exact-match cache 0% — 76.3% 1.2 µs $0.520 logged answers exact repeats only
keep calling the LLM 0% 0.0% 76.3% — $0.520 API or GPU it is the reference
Kev-0.8B decision model (local) 100% (it replaces your LLM) 23% vs gpt-4.1-mini 80.0% 271 ms $0 (your hardware) a GPU/MLX machine, ~1-3 GB calibrated probabilities, no bound
Julia-1 decision model (local) 100% (it replaces your LLM) 41% vs gpt-4.1-mini 61.6% 11.9 ms $0 (your hardware) llama.cpp, a laptop calibrated probabilities, no bound
Laya 421M decision model (local) 100% (it replaces your LLM) 58% vs gpt-4.1-mini 38.0% 91.6 ms $0 (your hardware) a GPU or fast CPU, 0.8 GB calibrated probabilities, no bound
hosted decision model (OpenAI Decisions API, gpt-6-luna) 100% (it replaces your LLM) not measured (no API key) not measured ~150 ms claimed $0.030 per 1k API key none (probabilities only)
hosted decision model (TypeSafe Jev 1.13) 100% (it replaces your LLM) not measured (no credits) not measured 70–500 ms claimed $0.0126 per 1k API key none (probabilities only)

The columns, in plain words:

Column Meaning
answered without the LLM @ α = 5% Share of fresh messages the method answered itself. Decision models answer all of them.
disagreement with the LLM on those How often those answers differed from the LLM's. Must stay near or under α for certified methods.
accuracy vs gold (cascade) The method plus the LLM for everything it defers, scored against human labels. This is what your users get.
p50 per decision Median time of the method itself on one message.
cost per 1k decisions LLM spend per 1,000 messages for what still goes to the LLM, or the vendor price for hosted decision models.
needs What you must run in production.
guarantee What bound you get on its answers.

Local decision-model rows come from results/b7_systemone.json; hosted rows use vendor-stated latency and prices. Everything else, with hardware and dates: benchmarks.

What each row is#

Which one to pick#

You want Pick
Microseconds, no model to host, a written bound against your LLM shad0w in front of your LLM
The largest share answered, and you already run an embedding model an embedding router or small head, ideally with the same certifier
One engine that answers everything, with good accuracy a decision model, with shad0w in front of it for the repeat traffic
Free answers for exact repeats only an exact-match cache

shad0w and decision models combine. Use the decision model as the LLM shad0w learns from: llm="openai-decisions/gpt-6-luna" for the hosted API, or llm="systemone/kev-0.8b" with base_url="http://localhost:8080" for a local llama.cpp server. The table then answers the certified share in microseconds and the decision model handles the rest. See Decisions API & System One.

Where shad0w loses#

The full list, including the CLINC150 traffic-shift case: benchmarks.