<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: James Wang</title>
    <description>The latest articles on DEV Community by James Wang (@james_wang_5aaab811177486).</description>
    <link>https://dev.to/james_wang_5aaab811177486</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3629877%2F296a3f12-f41a-4c2e-b952-890a2833213f.jpg</url>
      <title>DEV Community: James Wang</title>
      <link>https://dev.to/james_wang_5aaab811177486</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/james_wang_5aaab811177486"/>
    <language>en</language>
    <item>
      <title>Jev, Drex, and Laya: Three System One Decision Models Compared</title>
      <dc:creator>James Wang</dc:creator>
      <pubDate>Mon, 19 Oct 2026 02:17:13 +0000</pubDate>
      <link>https://dev.to/james_wang_5aaab811177486/jev-drex-and-laya-three-system-one-decision-models-compared-48nn</link>
      <guid>https://dev.to/james_wang_5aaab811177486/jev-drex-and-laya-three-system-one-decision-models-compared-48nn</guid>
      <description>&lt;p&gt;A new kind of model showed up in 2026: the &lt;strong&gt;System One decision model&lt;/strong&gt;. Instead of writing an&lt;br&gt;
answer token by token, it reads a piece of text (the &lt;em&gt;state&lt;/em&gt;) plus a set of typed questions, and&lt;br&gt;
returns a probability for each option in a single pass. There is nothing to parse and no free-form&lt;br&gt;
output to go wrong.&lt;/p&gt;

&lt;p&gt;Three of them are worth knowing about: &lt;strong&gt;Jev&lt;/strong&gt; from TypeSafe, &lt;strong&gt;Drex&lt;/strong&gt; from Nace, and &lt;strong&gt;Laya&lt;/strong&gt;&lt;br&gt;
from ConvAI. This post compares them as of October 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  One protocol, three models
&lt;/h2&gt;

&lt;p&gt;All three speak the same API: &lt;code&gt;POST /v1/systemone&lt;/code&gt; with a &lt;code&gt;state&lt;/code&gt; and a map of questions. It is&lt;br&gt;
TypeSafe's API, and Jev was the first model on it; Drex and Laya both ship as wire-compatible&lt;br&gt;
replacements, so switching between them is mostly a base-URL change.&lt;/p&gt;

&lt;p&gt;They also share the three question types:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Asks&lt;/th&gt;
&lt;th&gt;Returns&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;choice&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pick one of these named options&lt;/td&gt;
&lt;td&gt;The pick, a confidence, and a distribution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;noul&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Is this proposition true?&lt;/td&gt;
&lt;td&gt;P(true)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;score&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Where does this sit on an ordered scale?&lt;/td&gt;
&lt;td&gt;Expected level and a distribution&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Typical uses: routing a ticket, classifying an email, checking an extracted field, gating an&lt;br&gt;
action behind a guardrail. Code keeps the workflow, permissions, and arithmetic; the model supplies&lt;br&gt;
the judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side by side
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Jev 1.13&lt;/strong&gt; (TypeSafe)&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Drex 2.0&lt;/strong&gt; (Nace)&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Laya&lt;/strong&gt; (ConvAI)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Weights&lt;/td&gt;
&lt;td&gt;Closed&lt;/td&gt;
&lt;td&gt;Open, under Open RAIL-M (use restrictions; not OSI open source)&lt;/td&gt;
&lt;td&gt;Open, Apache 2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosted API&lt;/td&gt;
&lt;td&gt;Yes (&lt;code&gt;api.typesafe.ai&lt;/code&gt;; also via OpenRouter)&lt;/td&gt;
&lt;td&gt;Yes (&lt;code&gt;console.nace.ai&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;No first-party API; self-host (&lt;code&gt;laya-serve&lt;/code&gt;). Third-party: Vercel AI Gateway (free through October 31, 2026, billed after). Plus a demo Space&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;Not disclosed&lt;/td&gt;
&lt;td&gt;Qwen3.6-35B-A3B MoE (35B total, ~3B active)&lt;/td&gt;
&lt;td&gt;Encoders: ModernBERT-large 421M, mmBERT-base 322M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardware to self-host&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;Large GPU: ~70 GB bf16, ~37 GB Q8 GGUF&lt;/td&gt;
&lt;td&gt;Small: a T4, or CPU (193–464 ms)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context&lt;/td&gt;
&lt;td&gt;64K per request / 32K per question; 262K with the long-context header&lt;/td&gt;
&lt;td&gt;128K state (hosted); self-host defaults to 16K, up to 128K&lt;/td&gt;
&lt;td&gt;512 (English) / 1,024; up to 8K multilingual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;236–316 ms p50 (independently measured)&lt;/td&gt;
&lt;td&gt;~25 req/s per H100 (vendor)&lt;/td&gt;
&lt;td&gt;33–40 ms on a T4 (vendor)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zero-shot quality&lt;/td&gt;
&lt;td&gt;The reference point&lt;/td&gt;
&lt;td&gt;Vendor reports ahead of Jev on its Decision Index (61.25 vs 57.96), slightly behind on JevBench (85.7% vs 86.6%)&lt;/td&gt;
&lt;td&gt;Weak: 0.362 on typed-decisions, below a 0.461 majority-class baseline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;After fine-tuning&lt;/td&gt;
&lt;td&gt;Not offered; you steer it through state and instructions&lt;/td&gt;
&lt;td&gt;Offered as a vendor service&lt;/td&gt;
&lt;td&gt;0.766 vs a third-party-published Jev 0.727 on the same benchmark&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Many options&lt;/td&gt;
&lt;td&gt;Up to 255; 79.2% on the full Banking77 test (77 labels)&lt;/td&gt;
&lt;td&gt;Up to 255&lt;/td&gt;
&lt;td&gt;Drops past ~20 options at default settings: 0.425 on Banking77&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Calibration&lt;/td&gt;
&lt;td&gt;No vendor figure; independent ECE 0.02–0.35 depending on the task&lt;/td&gt;
&lt;td&gt;No figures published&lt;/td&gt;
&lt;td&gt;Over-confident until temperature-fitted (0.466 → 0.081)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Languages&lt;/td&gt;
&lt;td&gt;English primary; others, including CJK, handled less accurately&lt;/td&gt;
&lt;td&gt;No list published&lt;/td&gt;
&lt;td&gt;100+ (45 of 51 measured languages usable), with a built-in language router&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;$0.042 per 1M input tokens, output free&lt;/td&gt;
&lt;td&gt;Hosted: $0.06 per 1M input tokens (v2.0), output free, $25 signup credit. Self-host: royalty-free for personal or research use, or organizations under $1M revenue and funding; others need a commercial license&lt;/td&gt;
&lt;td&gt;Free (self-host)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rate limits&lt;/td&gt;
&lt;td&gt;Set per organization in requests/s and tokens/s; the numbers are in your console, not the public docs. My test: ~850 requests/min sustained (806 calls in 57 s, 4 in flight), no 429s&lt;/td&gt;
&lt;td&gt;Free tier: 120 requests/min, 8 in flight. Paid: 600 requests/min, 16 in flight. My test: 429s on the free tier even when paced below 110 requests/min; none after adding credit (~800 calls in about 2 minutes)&lt;/td&gt;
&lt;td&gt;None when self-hosted; your own hardware is the limit. AI Gateway limits not published&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Jev 1.14 shipped as a preview (&lt;code&gt;jev-preview&lt;/code&gt;) on October 14; &lt;code&gt;jev-latest&lt;/code&gt; still points to 1.13.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one when
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jev&lt;/strong&gt; if you want it to work zero-shot today with the most mature SDKs and docs, and a
hosted-only service is fine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drex&lt;/strong&gt; if you want both doors open: a hosted API priced close to Jev today, and open weights you
can move in-house later if data has to stay in your own environment (check the license if your
organization is above its $1M thresholds). It also has the largest default context (128K).
Self-hosting it takes a large GPU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Laya&lt;/strong&gt; if the task is narrow and high-volume, latency matters, and you have labeled examples to
fine-tune on. It is the only one that runs comfortably on CPU or at the edge, and the only one
that publishes multilingual results.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In one line: Jev is the hosted default, Drex offers the same idea both hosted and as open weights,&lt;br&gt;
and Laya is a very small model you train and run yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read the benchmarks carefully
&lt;/h2&gt;

&lt;p&gt;Almost none of these numbers are directly comparable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Drex's&lt;/strong&gt; figures are self-reported by Nace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Laya's&lt;/strong&gt; comparisons against Jev use Jev numbers published by third parties; the model card
says they were never measured by the Laya team. The widely quoted "beats Jev" result is for a
checkpoint fine-tuned on that benchmark's own training split; the base checkpoint scores below
majority-class guessing on it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jev's&lt;/strong&gt; latency, Banking77 and calibration figures come from two independent benchmark repos;
TypeSafe itself publishes no accuracy or calibration numbers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because the three share a protocol, the honest way to choose is cheap: take 50–100 real decisions&lt;br&gt;
from your own workload, run all three, and compare. Each model also has documented weak spots worth&lt;br&gt;
testing for: injected text shifting Jev's probabilities, Laya's &lt;code&gt;score&lt;/code&gt; questions and its &lt;code&gt;noul&lt;/code&gt;&lt;br&gt;
following option labels instead of the state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.typesafe.ai/models" rel="noopener noreferrer"&gt;Jev models, context and pricing&lt;/a&gt; and
&lt;a href="https://docs.typesafe.ai/api" rel="noopener noreferrer"&gt;API reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.nace.ai/drex" rel="noopener noreferrer"&gt;Drex&lt;/a&gt;, its &lt;a href="https://console.nace.ai/docs/drex/reference/pricing" rel="noopener noreferrer"&gt;pricing&lt;/a&gt;,
&lt;a href="https://console.nace.ai/docs/drex/reference/limits" rel="noopener noreferrer"&gt;limits and rate limits&lt;/a&gt; and
&lt;a href="https://github.com/nace-ai/drex-decision-models" rel="noopener noreferrer"&gt;repo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://huggingface.co/convaiinnovations/laya" rel="noopener noreferrer"&gt;Laya model card&lt;/a&gt; and
&lt;a href="https://huggingface.co/convaiinnovations/laya-typed-decisions" rel="noopener noreferrer"&gt;laya-typed-decisions&lt;/a&gt;, and
&lt;a href="https://vercel.com/changelog/laya-decision-model-now-available-on-ai-gateway-free-through-october-31" rel="noopener noreferrer"&gt;Laya on Vercel AI Gateway&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/AbdelStark/jev-benchmarks" rel="noopener noreferrer"&gt;jev-benchmarks&lt;/a&gt; and
&lt;a href="https://github.com/nibzard/decision-model-benchmark" rel="noopener noreferrer"&gt;decision-model-benchmark&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>decisionmodels</category>
    </item>
  </channel>
</rss>
