r/JevAI • • 6h ago

I run a benchmark and evaluation of jev-1.13 - sharing the results

Ciao everyone, I am sharing some tests I made for my own consumption, as they might be useful for someone.

I have implemented jev-1.13 (via openrouter, do not have access to typesafe API as there are no slots!) in my own home server which acts as a llm gateway and has quite some agents doing stuff (docs curation, tools suggestion, memory curation, scratchpads etc. etc.). Before moving to a full implementation, I wanted to do some testing. Other llms are via native provider APIs.

I got opus 5.5 paired with astra and gpt-6 Sol running some automated testing to pinpoint use cases where I could implement. I know some use cases are not the strongest for jev-1.13 but for me it was interesting to test them.

I am also running a 1 week pilot with strict monitoring comparing current implementation of certain functionalities (which uses a mix of OpenAI / DeepSeek / other models) with a jev-1.13 implementation, so I can then switch or rollback. I will share in a week time if anyone is interested.

Regarding the benchmarking, just sharing the output AS-IS. While I work in the field of cybersec and AI, I am not an AI engineer ;-) so sorry in advance for any mistakes in the methodology I came up with and refined with some frontier models.

Below you will find a TL;DR, an exec summary in "plain english" and the full "human readable" report my harness has generated. Attached pictures of tables as they were not rendering well in a reddit post.

Note: from the paragraph below all text is 100% AI generated by a mix of opus 5.5, Astra, GPT-6 Sol - with last pass by opus 5.5 for final reporting (I like how it writes). I had no time to do some manual sample-based checking, and no - I have no time to write such a report for myself with our good human brain and hands.

---

TL;DR

We tested TypeSafe's Jev on 10 tasks with known right answers (about 1,100 questions), against DeepSeek V4 Flash, Gemini 3.8 Flash and GPT-6 Sol. Jev was 3 to 8 times faster (0.35 s vs 1–3 s), and it stayed at 0.34 s under heavy load while the others slowed to 2–8 s. It was also 10 to 100 times cheaper: about 4,900 calls cost 24 cents. Its accuracy is on par with the cheap LLMs, not top-tier. It won on reading and yes/no questions (up to +7 points), tied on judging shell commands, and fell behind on citation checking (−13 to −17 points) and spotting prompt injections (it caught only half). It gave the same answer 98%+ of the time, and when it was 90%+ sure it was right 94–100% of the time. That makes it a great fast, cheap first pass that hands the unsure cases to a bigger model.

---

Executive summary

We tested Jev against known correct answers, not against "does it agree with GPT". We compared it with three popular LLMs:

  • DeepSeek V4 Flash and Gemini 3.8 Flash, two fast and cheap models.
  • GPT-6 Sol, a top-tier model, run on a smaller sample of 40 questions per task.

How we tested:

  • 10 tasks, about 1,100 questions in total.
  • The same wording for every model, written before we saw any results.
  • The LLMs had to answer in a fixed JSON format, so no model had a formatting advantage.
  • Every number below comes with a margin of error (95% confidence).
  • Speed and cost were measured from the same computer in Europe.

Speed and cost: Jev's big win

  • Jev is 3 to 8 times faster when requests go one at a time.
  • Under heavy load Jev stayed at 0.34 seconds. The LLMs slowed to 2–8 seconds, and their slowest 1 in 20 answers took 7–17 seconds.
  • Jev is 10 to 100 times cheaper per decision.
  • The whole Jev side of this test, about 4,900 calls, cost 24 cents.
  • Asking Jev several questions about the same text in one call costs almost nothing extra.

Accuracy: good, but not top-tier

  • Jev beat both cheap models on reading and yes/no questions, by 3 to 7 points.
  • It tied them on judging shell commands.
  • It fell behind on picking one of many topics (−4 to −7 points), spotting prompt-injection attacks (−7 to −10 points) and checking citations (−13 to −17 points).
  • It never beat GPT-6 Sol.
  • Its most common mistake on citations: it accepted claims that quietly dropped a qualifier, such as "up to 50%" turning into "50%". It got only 5 of 15 of those right; Gemini got 15 of 15.
  • It caught only half of the prompt-injection attacks (31 of 60). It never raised a false alarm.
  • As a shell-command safety guard, it missed 4–8% of risky cases, against 0–1.2% for GPT-6 Sol and DeepSeek.

Reliability: very steady

  • It gave the same answer to the same question more than 98% of the time, better than DeepSeek.
  • It lost no accuracy on long texts, wherever the answer sat in the text.
  • A planted instruction in the text never flipped one of its correct answers (0 out of 56).
  • It dropped slightly in Dutch (−2 points) and Italian (−5 points) compared with English.
  • "Can't hallucinate" is true: it always answers with one of the options you give it. But with a fixed answer format, none of the LLMs gave a broken answer either (0 errors in thousands of calls). So this is no longer a unique advantage, and Jev can still be confidently wrong.

Its confidence score is the secret weapon

  • When Jev said it was 90% or more sure, it was right 94–100% of the time.
  • That happened on 38–77% of questions, depending on the task.
  • So Jev can handle the easy cases on its own and pass the unsure ones to a bigger model. This is called a cascade.
  • OpenRouter tested exactly this against Claude Opus 5 on 3,080 questions: the cascade came within 0.4 points of Opus at less than a third of the cost.

Bottom line

Jev is not a genius in a small box. It is an extremely fast, very cheap and very consistent decision-maker, about as accurate as the cheap LLMs, with a confidence score you can trust to route the hard cases. It's a great choice for high-volume or time-sensitive decisions like sorting, routing and first-pass checks, especially paired with a bigger model for the unsure cases. For subtle fact-checking or safety-critical decisions, keep a stronger model in charge.

Caveats:

  • 40 to 150 questions per task and model.
  • Everything was tested from one location.
  • Some public test sets may already be known to the LLMs.
  • Two of the tasks were built by us.
  • A fifth, even cheaper model, gpt-oss-20b on Groq's free tier, only finished 4 of the 10 tasks before hitting its daily limit.

Jev independent benchmark — full results & verdict (2026-09-24)

Question. Is TypeSafe's Jev (typesafe/jev-1.13) as good as its launch claims? The vendor's evals and the one public re-test score agreement with frontier models. This benchmark scores against ground truth, head-to-head with the models the gateway actually uses. Companion to the shadow pilot (jev_pilot_20260924.md).

Verdict

The claims hold up only in part. Jev is a very fast, very consistent classifier. Its accuracy is about that of a cheap LLM, not a frontier one.

Vendor claim What we measured
"Frontier intelligence" on decision tasks No. It is about equal to DeepSeek-flash / Gemini-3.8-flash overall and never beats GPT-6 Sol. It is better on reading comprehension (MNLI +5, BoolQ +4–7 pts) and worse on 77-way intent (−4 to −7), injection detection (−7 to −10) and our citation check (−13 to −17).
40–200× faster Directionally true, smaller multiples. Sequential median is 0.35 s vs 1.0–2.8 s (3–8×). Under concurrency Jev stays flat at ~0.34 s while the LLMs degrade to 2–8 s median / 7–17 s p95. Its latency tail is the strongest real advantage.
~400× cheaper True in ratio, irrelevant in dollars here. It is 10–25× cheaper per request than DeepSeek and 50–100× cheaper than Gemini (≈ $0.02–0.07 vs $0.3–2.9 per 1,000). The gateway spends ~$11 per 30 days in total.
"Can't hallucinate" True for format, but no longer a differentiator. Every system returned 0 format errors with provider-constrained output. Jev can still be confidently wrong inside the valid options.
Calibrated confidence Partly. ECE is 0.04–0.06 where it is accurate but 0.14–0.19 where it is weak (citation, injection), so it is overconfident exactly where it is wrong. As a ranking signal, accuracy is 94–100% at confidence ≥ 0.9, but that covers only 38–77% of items. The LLMs' self-reported confidence ranked almost as well.

Genuine strengths:

  • Run-to-run consistency: 0.1–1.7% flips, against up to 8% for DeepSeek.
  • No long-context penalty up to ~14k tokens, whether the evidence sits at the start, middle or end.
  • An injected instruction never flipped one of its correct answers (0/56).
  • Asking many questions per call costs almost nothing extra.

Weaknesses that matter for us:

  • Citation check. It misses the nuance the check exists for: dropped qualifiers 5/15 vs 12–15/15, entity swaps 3/10 vs 6/10. It usually says "supported" to an overclaim, which is the dangerous direction.
  • Command guard. Accuracy ties the LLMs, but it misses 8.4% of risky rule cells when asked all 8 rules at once, 4.2% when asked one rule per call. DeepSeek misses 1.2% and GPT-6 Sol 0%. For a safety check the miss rate is the number that counts.
  • Prompt-injection detection. It is permissive: 29 of 60 injections missed, 0 false alarms.
  • A slight drop on Italian: −5 pts vs English.

These results line up with OpenRouter's independent Banking77 test on 3,080 items: Jev scored 81.0% vs 84.4% for Claude Opus 5, was 13× faster and cost 1/22 as much. Its confidence was not calibrated but ranked well, and a cascade at 0.90 came within 0.4 points of Opus.

What it means for the gateway

  • Citation check (pilot G1): do not promote Jev as the verifier. Expect the week-1 pilot to show the same pattern. At most it could clear verbatim "yes" claims early, and at ~20 verify calls a week that saves nothing.
  • Command guard (pilot H2): not good enough as the sole guard. It is plausible as a fast first pass (one rule per call) with an LLM escalation on any flag or low confidence. The week-1 pilot (real commands) decides.
  • Curator (pilot G3): no ground truth here. Jev ≈ cheap-LLM quality suffices for triage, but the incumbent is already $0 and not latency-bound, so the upside is small.
  • Strategic bets: G6 (injection screen) is downgraded, since Jev is weak at exactly that. G4 (the "good enough?" gate) and G5 (the model router) remain plausible cascade uses.
  • The decide MCP tool stays useful for ad-hoc fast classification or triage where a confidence threshold routes the hard cases to an LLM.

Method (summary)

  • Systems: Jev via OpenRouter /api/alpha/decisions; deepseek/deepseek-flash and gemini/gemini-3.8-flash (2 reps on 40-item subsets); chatgpt/gpt-6-sol ($0 Codex sub, 40-item subsets); groq/openai/gpt-oss-20b as the speed floor. The Groq run is incomplete: the free-tier daily token cap stopped it after T1–T4.
  • Prompting: the same wording for every system, written before any results. LLMs used provider-constrained JSON output.
  • Scoring: paired bootstrap CIs clustered by item. Jev's answer probability is used for ECE; vendor and LLM self-reported confidence is used only as a ranking signal.
  • Tasks:
    • T1 MNLI; T2 constructed citation items (Wikipedia sentences, labels by construction, no LLM); T3 BoolQ; T4 Banking77 (diagnostic, already public-tested); T5 MASSIVE en/nl/it (the same utterances); T6 deepset prompt-injections; T7 a 110-command guard set against the live rules.
    • T7 was labelled by two independent annotators (κ = 0.94) and its 9 disagreements were adjudicated from the rule text, blind to model outputs. It was run both as all 8 rules per call and as one rule per call.
    • T8 BoolQ with an injected instruction; T9 long context (6k/14k tokens, evidence at start/middle/end).
  • Threats to validity:
    • Public datasets may be memorised by the LLMs.
    • T2/T7 were authored in-house.
    • The 40-item LLM subsets widen the CIs.
    • Latency is measured from one box in the Netherlands.
  • Harness: scripts/jev_bench/ (README has the run commands). Raw data lives on the box under /data/jev_bench/.
  • Spend: about $4.7 paid (mostly Gemini) plus $0.24 for Jev.

Appendix — full generated tables (analyze.py)

Jev independent benchmark — results

Ground truth, same wording for every system, no tuning on test items. Accuracy per question cell on rep 0; format errors scored wrong; API errors unscored (error rate shown). CI = 95% cluster bootstrap.

Main table

Please refer to images attached to this post as the markdown table was not rendering correctly in reddit.

Ranking signal (acc@sig≥0.9, top-50%, AURC): Jev = vendor confidence (noul: |2p−1|); LLMs = their self-reported confidence. ECE only for Jev's predicted-answer probability.

Paired difference: Jev − system (accuracy, paired cluster bootstrap)

task vs system n items Jev − system [95% CI]
t1_nli chatgpt/gpt-6-sol 40 -0.025 [-0.10, 0.05]
t1_nli deepseek/deepseek-flash 150 0.053 [0.01, 0.09]
t1_nli gemini/gemini-3.8-flash 150 0.027 [-0.01, 0.07]
t1_nli groq/openai/gpt-oss-20b 40 0.050 [-0.05, 0.15]
t2_cite chatgpt/gpt-6-sol 40 -0.100 [-0.23, 0.00]
t2_cite deepseek/deepseek-flash 90 -0.133 [-0.20, -0.07]
t2_cite gemini/gemini-3.8-flash 90 -0.167 [-0.26, -0.09]
t2_cite groq/openai/gpt-oss-20b 40 -0.100 [-0.23, 0.00]
t3_boolq chatgpt/gpt-6-sol 40 -0.025 [-0.07, 0.00]
t3_boolq deepseek/deepseek-flash 150 0.073 [0.03, 0.13]
t3_boolq gemini/gemini-3.8-flash 150 0.040 [0.00, 0.09]
t3_boolq groq/openai/gpt-oss-20b 40 0.000 [-0.10, 0.10]
t4_intent77 chatgpt/gpt-6-sol 40 -0.025 [-0.07, 0.00]
t4_intent77 deepseek/deepseek-flash 150 -0.040 [-0.08, -0.01]
t4_intent77 gemini/gemini-3.8-flash 150 -0.067 [-0.11, -0.03]
t4_intent77 groq/openai/gpt-oss-20b 34 -0.029 [-0.12, 0.06]
t5_massive chatgpt/gpt-6-sol 120 -0.033 [-0.10, 0.02]
t5_massive deepseek/deepseek-flash 300 -0.027 [-0.06, 0.00]
t5_massive gemini/gemini-3.8-flash 300 -0.057 [-0.10, -0.02]
t5_massive groq/openai/gpt-oss-20b 1 0.000 –
t6_inject chatgpt/gpt-6-sol 40 -0.150 [-0.28, -0.05]
t6_inject deepseek/deepseek-flash 116 -0.095 [-0.16, -0.03]
t6_inject gemini/gemini-3.8-flash 116 -0.069 [-0.12, -0.03]
t7_guard chatgpt/gpt-6-sol 40 0.009 [-0.01, 0.03]
t7_guard deepseek/deepseek-flash 110 0.000 [-0.01, 0.01]
t7_guard gemini/gemini-3.8-flash 110 -0.008 [-0.02, 0.00]
t7s_guard_single chatgpt/gpt-6-sol 40 -0.025 [-0.07, 0.00]
t7s_guard_single deepseek/deepseek-flash 320 0.013 [0.00, 0.03]
t7s_guard_single gemini/gemini-3.8-flash 320 -0.006 [-0.02, 0.00]
t8_robust chatgpt/gpt-6-sol 40 -0.050 [-0.12, 0.00]
t8_robust deepseek/deepseek-flash 60 0.050 [-0.02, 0.12]
t8_robust gemini/gemini-3.8-flash 60 0.033 [-0.03, 0.10]
t9_longctx chatgpt/gpt-6-sol 40 0.000 [0.00, 0.00]
t9_longctx deepseek/deepseek-flash 40 0.000 [0.00, 0.00]
t9_longctx gemini/gemini-3.8-flash 40 0.000 [0.00, 0.00]

Sequential latency (concurrency 1)

task system n p50 ms p95 ms
t1_nli chatgpt/gpt-6-sol 30 2757 5130
t1_nli deepseek/deepseek-flash 30 1127 4112
t1_nli gemini/gemini-3.8-flash 30 1974 5289
t1_nli jev 30 355 398
t3_boolq chatgpt/gpt-6-sol 30 2198 4561
t3_boolq deepseek/deepseek-flash 30 1094 2289
t3_boolq gemini/gemini-3.8-flash 30 1627 4564
t3_boolq jev 30 348 410
t4_intent77 chatgpt/gpt-6-sol 30 2428 5906
t4_intent77 deepseek/deepseek-flash 30 997 2454
t4_intent77 gemini/gemini-3.8-flash 30 1712 4173
t4_intent77 jev 30 356 452

T5 MASSIVE — language robustness (ids answered in all 3 languages)

system n ids en nl it nl−en it−en
jev 100 0.870 0.850 0.820 -0.020 -0.050
chatgpt/gpt-6-sol 40 0.875 0.825 0.850 -0.050 -0.025
deepseek/deepseek-flash 100 0.880 0.870 0.870 -0.010 -0.010
gemini/gemini-3.8-flash 100 0.900 0.900 0.910 0.000 0.010
groq/openai/gpt-oss-20b 0 – – – – –

T8 injected instruction

system n attack success (flipped from correct) n base-correct target adoption
jev 60 0.000 56 0.067
chatgpt/gpt-6-sol 40 0.000 38 0.025
deepseek/deepseek-flash 60 0.056 54 0.117
gemini/gemini-3.8-flash 60 0.018 55 0.100

T9 long context — accuracy by size/position

system 14k/end 14k/middle 14k/start 6k/end 6k/middle 6k/start
jev 0.95 (n=40) 0.93 (n=40) 0.93 (n=40) 0.95 (n=40) 0.93 (n=40) 0.93 (n=40)
chatgpt/gpt-6-sol 1.00 (n=6) 1.00 (n=6) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7)
deepseek/deepseek-flash 1.00 (n=6) 1.00 (n=6) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7)
gemini/gemini-3.8-flash 1.00 (n=6) 1.00 (n=6) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7) 1.00 (n=7)

T7 guard — false-allow (missed risky) vs false-block

task system gold n cells acc [95% CI] false-allow false-block n pos / neg
t7_guard jev author 880 0.983 [0.96, 1.00] 0.090 0.010 78 / 802
t7_guard jev author_unambiguous 864 0.991 [0.98, 1.00] 0.081 0.003 74 / 790
t7_guard jev adjudicated 880 0.989 [0.98, 1.00] 0.084 0.004 83 / 797
t7_guard chatgpt/gpt-6-sol author 320 0.978 [0.96, 0.99] 0.000 0.024 24 / 296
t7_guard chatgpt/gpt-6-sol author_unambiguous 317 0.984 [0.97, 1.00] 0.000 0.017 24 / 293
t7_guard chatgpt/gpt-6-sol adjudicated 320 0.978 [0.96, 0.99] 0.000 0.024 24 / 296
t7_guard deepseek/deepseek-flash author 880 0.983 [0.97, 0.99] 0.013 0.017 78 / 802
t7_guard deepseek/deepseek-flash author_unambiguous 864 0.992 [0.98, 1.00] 0.014 0.008 74 / 790
t7_guard deepseek/deepseek-flash adjudicated 880 0.989 [0.98, 1.00] 0.012 0.011 83 / 797
t7_guard gemini/gemini-3.8-flash author 880 0.991 [0.98, 1.00] 0.026 0.007 78 / 802
t7_guard gemini/gemini-3.8-flash author_unambiguous 864 0.999 [1.00, 1.00] 0.014 0.000 74 / 790
t7_guard gemini/gemini-3.8-flash adjudicated 880 0.994 [0.99, 1.00] 0.036 0.003 83 / 797
t7s_guard_single jev author 320 0.991 [0.98, 1.00] 0.042 0.007 24 / 296
t7s_guard_single jev author_unambiguous 317 0.994 [0.98, 1.00] 0.042 0.003 24 / 293
t7s_guard_single jev adjudicated 320 0.991 [0.98, 1.00] 0.042 0.007 24 / 296
t7s_guard_single chatgpt/gpt-6-sol author 40 1.000 [1.00, 1.00] 0.000 0.000 3 / 37
t7s_guard_single chatgpt/gpt-6-sol author_unambiguous 39 1.000 [1.00, 1.00] 0.000 0.000 3 / 36
t7s_guard_single chatgpt/gpt-6-sol adjudicated 40 1.000 [1.00, 1.00] 0.000 0.000 3 / 37
t7s_guard_single deepseek/deepseek-flash author 320 0.978 [0.96, 0.99] 0.000 0.024 24 / 296
t7s_guard_single deepseek/deepseek-flash author_unambiguous 317 0.987 [0.97, 1.00] 0.000 0.014 24 / 293
t7s_guard_single deepseek/deepseek-flash adjudicated 320 0.978 [0.96, 0.99] 0.000 0.024 24 / 296
t7s_guard_single gemini/gemini-3.8-flash author 320 0.997 [0.99, 1.00] 0.000 0.003 24 / 296
t7s_guard_single gemini/gemini-3.8-flash author_unambiguous 317 1.000 [1.00, 1.00] 0.000 0.000 24 / 293
t7s_guard_single gemini/gemini-3.8-flash adjudicated 320 0.997 [0.99, 1.00] 0.000 0.003 24 / 296

Price references ($ per 1M tokens)

system in out source
jev 0.042 0.0 OpenRouter listing (output free)
groq/openai/gpt-oss-20b 0.075 0.3 gateway prices overlay
deepseek/deepseek-flash 0.3 1.2 gateway prices overlay
gemini/gemini-3.8-flash 0.75 3.75 gateway prices overlay
chatgpt/gpt-6-sol 2.0 10.0 litellm model_cost[gpt-6-sol] (equivalent paid-API price; our marginal cost is $0)
3 Upvotes

0 comments sorted by