Recherche · mzone-arena · Stand 17. Oktober 2026
Jev-Klasse: Die ersten System-One-Modelle sind da — und man kann sie heute betreiben
Kurzfassung: Ja. Seit dem 15. September 2026 gibt es mit Jev von TypeSafe AI den ersten Vertreter einer neuen Modellklasse, die nicht schreibt, sondern entscheidet. Innerhalb von Tagen ist daraus eine ganze Familie geworden: gehostet und proprietär auf der einen Seite, als offene Gewichte zum Selbstbetreiben auf der anderen. Dieser Bericht klärt, was tatsächlich existiert, was unabhängig gemessen ist, wo die Grenzen liegen — und er enthält eine vollständige Einrichtung samt Beispiel-Aufruf und Antwort für beide Wege.
1 · Kurzantwort
Die Frage hat zwei Teile, und beide sind mit ja zu beantworten — mit einer wichtigen Einschränkung beim Zugang.
-
F1existiertJev ist real und live. TypeSafe AI (San Francisco, 2024 gegründet, 40 Mio. $ Seed von DCVC) hat Jev am 15. September 2026 in Early Access gestartet. Aktuell ist
jev-1.14.0(seit 14. Oktober 2026); der Aliasjev-latestzeigt aufjev-1.13.0. -
F2Kategorie„System One“ ist inzwischen eine Klasse, kein Einzelmodell. Neben Jev gibt es über ein Dutzend offener Nachbauten derselben Schnittstelle — u. a. Kev, Laya, SemIf/OpenJev, NanoJev, jevlike, Von. AINews zählte bereits zwei Tage nach dem Start sechs Klone; die Liste awesome-jev führt mehr als ein Dutzend.
-
F3ZugangJev selbst ist proprietär, gehostet und noch nicht allgemein offen. Zugang über Warteliste/Early Access und API-Key aus der TypeSafe-Konsole. Wer heute ohne Warteliste arbeiten will, nimmt ein offenes Modell wie Kev — gleiche Wire-API, lokal betreibbar.
-
F4QualitätslückeDie offene Klasse reproduziert die Schnittstelle schnell, die Genauigkeit nur teilweise. Auf einem unabhängigen 49-Aufgaben-Benchmark steht Jev bei 0,966 Makro-Genauigkeit, der beste offene Kandidat bei 0,704. Nach Feintuning auf eigenen Labels sind die offenen Modelle aber konkurrenzfähig.
-
F5nutzbarNutzbar ist es heute. Beide Wege sind vollständig dokumentiert und mit Beispiel-Request/-Response belegt — Abschnitt 6 und 7. Der gehostete Weg ist ein
POST /v1/systemone; der offene Weg ist ein Server auf dem eigenen Rechner, den dieselbe SDK ansprechen kann.
2 · Was ein System-One-Modell ist
Ein System-One-Modell ist ein diskriminatives Modell: es erzeugt keinen Text, sondern beantwortet typisierte Fragen zu einem Zustand. TypeSafe nennt die Fragearten Primitives:
Wähle eine Option aus einer ungeordneten Liste. Antwort: choice, probabilities, confidence. Bis zu 255 Optionen.
Verorte den Zustand auf einer geordneten Skala. Antwort: score (positionstreu, darf zwischen Stufen liegen), legend, Verteilung, Konfidenz.
Ist diese Aussage wahr? Antwort: noul, eine Wahrscheinlichkeit zwischen 0 und 1 (Bernoulli, daher der Name).
Alle Fragen eines Aufrufs werden gleichzeitig ausgewertet. Zehn Fragen statt einer kosten kaum mehr Zeit — nur zusätzliche (billige) Eingabe-Token. Fragen sind untereinander unabhängig.
Der entscheidende Unterschied zu einem LLM: Es gibt keinen Freitext, den man parsen oder reparieren müsste. Die Ausgabe ist auf die vorab deklarierten Optionen beschränkt — laut TypeSafe „kann nicht halluzinieren“ im Sinne von: keine Typfehler, keine erfundenen Kategorien. Der Preis dafür ist, dass das Modell keine Begründung liefert: Man bekommt eine Zahl, keinen Grund.
Trainiert wird nicht mit RLHF oder verifizierbaren Belohnungen, sondern mit RLCD (Reinforcement Learning for Calibrated Decisions): Das Modell wird darauf optimiert, ehrliche Wahrscheinlichkeiten auszugeben. Anspruch: hohe Konfidenz bedeutet hohe Trefferquote — die Grundlage dafür, Schwellen im Code zu setzen und nur sichere Fälle zu automatisieren.
3 · Landschaft: was es gibt
3.1 Verlauf
- 2026-09-15TypeSafe AI startet Jev in Early Access (Jev 1.13), zeitgleich 40 Mio. $ Seed.
- 2026-09-16…18Erste offene Nachbauten in Tagen; Presse berichtet (Register, TechCrunch, Forbes). Laya (convaiinnovations) erscheint am 18. September.
- 2026-09-19…23JevBench v1 erscheint;
llm-typesafe(22. September) verbindet Jev mit der LLM-CLI; die Kev-Familie mit vier Größen etabliert sich als belastbarster offener Kandidat. - 2026-10-14Jev 1.14 als Preview (Alias
jev-preview), optional „Long context“ bis 262k Token.
3.2 Die wichtigsten Vertreter
Generisch (jedes Modell): Eingang state, Ausgang typisierte Antworten — die Schnittstelle ist faktisch standardisiert (POST /v1/systemone).
| Modell | Träger / Größe | Lizenz & Betrieb | Gut für |
|---|---|---|---|
| Jev (TypeSafe) | proprietär, gehostet | proprietär, API-Key, Early Access/Warteliste | Referenzqualität, sofortige Nutzung ohne eigene Hardware |
| Kev | Qwen3.5/3.8 + LoRA, 0,8 B / 4 B / 9 B / 27 B | Apache-2.0, lokal (CUDA/MLX) oder Modal-Cloud | Ersatz für einen gehosteten Jev-Aufruf — gleiche SDK, nur base_url ändern |
| Laya | ModernBERT-large 421 M (+ 322 M mehrsprachig) | Apache-2.0, pip install laya, CPU-freundlich | Triage auf schwacher Hardware, 100+ Sprachen — Basis zum Feintunen, kein Zero-Shot-Ersatz |
| SemIf (früher OpenJev) | eingefrorenes Qwen3.5-4B, nur Logits | MIT | ein bereits gehostetes Modell wiederverwenden |
| NanoJev | Qwen3-0.6B + Entscheidungs-Köpfe | MIT | Echtzeit-Regelkreise (Spiele/Steuerung) |
| jevlike | Trainer, Byte-Encoder oder fremder Encoder | MIT | eigene Optionslisten auf dem Laptop trainieren |
| Von | ModernBERT-Large 395 M | Apache-2.0 | führt die offene Klasse im unabhängigen Benchmark an |
| OpenJev / openjev-sglang | DiffusionGemma 26B-A4B / Qwen3.6-35B-A3B | offen, GPU-intensiv | Entscheidungen über Bilder (OpenJev) bzw. B200-Klasse |
Sternzahlen der offenen Repos sind ein Aufmerksamkeitsmaß, nicht ein Genauigkeitsmaß: Laya lag Ende September bei über 19.000 Sternen, Von bei rund 550 — und führt trotzdem den unabhängigen Vergleich an.
Praxisregel. Wenn die Antwort eine Entscheidung ist, nimm ein System-One-Modell. Wenn die Antwort Text ist, nimm ein LLM. In echten Systemen laufen beide zusammen: LLM für offene Aufgaben, Entscheidungsmodell für die kleinen Weichen dazwischen.
4 · Wie ein Aufruf arbeitet
Ein Aufruf besteht aus zwei Feldern: state (String, Objekt oder Array von Strings) und questions (eine ID → Frage). Zu jeder Frage kommen type, instructions und — bei Choice/Score — criteria. Großes state wird einmal verarbeitet, jede Frage nur gegen den Ausschnitt, den ihre instructions benennen (Pfadschreibweise mit Backticks, z. B. `ticket.messages[0].text`).
Grenzen, die man kennen muss
| Größe | Wert | Konsequenz |
|---|---|---|
| Kontext | 64k pro Anfrage / 32k pro Frage (Jev); mit Header bis 262k | Ein Request trägt beliebig viele Fragen, solange beide Grenzen passen. |
| Optionen | bis 255 pro Frage | Bei sehr vielen Optionen wird zweistufig vorgegangen (erst scoren, dann wählen). |
| Abhängigkeiten | keine | Fragen sehen einander nicht. Wer eine Folgefrage braucht, macht einen zweiten Aufruf. |
| Ausgabe | nur Zahlen, kein Text | Keine Begründung, keine Ausgabe zum Parsen — bewusst. |
5 · Was unabhängig gemessen ist
Die Herstellerzahlen sind gut, aber Herstellerzahlen. Deshalb hier getrennt, was von wem kommt.
70–500 ms Antwortzeit, 40–200× schneller und 40–400× billiger als Frontier-LLMs auf eigenen Workflows. Preis: 0,042 $ pro Mio. Eingabe-Token, Ausgabe gratis. Eigener Hinweis: Die Workflows stammen aus dem eigenen Team — mögliche Verzerrung.
Auf neuen Quellen: Kev-27B 0,851 gegen Jev 0,857. Automatisierbar bei 5 % Fehlerbudget: 0,52–0,69 (Kev) gegen 0,70 (Jev). Kalibrierung: Kev-9B mit 2,4 % „selbstsicheren Fehlern“ besser als Jev mit 3,7 %.
49 Aufgaben, 869 Fälle: Jev 0,966, Von 0,704, GLiNER2 0,698, Laya 0,583 Makro-Genauigkeit. Das ist die Zahl, die man sich merken sollte: rund 26 Punkte out-of-domain-Lücke zwischen gehostet und offen.
Simon Willison: Jev ist „wirklich schnell und wirklich billig“, aber ein Rückfall in die Blackbox — man erhält nur eine Fließkommazahl, keinen Hinweis, welches Signal sie ausgelöst hat. Sein Rat: Bias und Evals ernster nehmen als bei LLM-Projekten.
Kalibrierung ehrlich lesen. Die Konfidenzformeln sind einfache Rechnungen über die Wahrscheinlichkeitsverteilung — keine gemessene Trefferquote. Wer Schwellen darauf setzt, muss die Temperatur an eigenen Labels nachjustieren (Kev liefert dafür je Prüfpunkt eine gefittete Temperatur mit).
6 · Setup-Anleitung
Es gibt zwei Wege. Sie teilen dieselbe Aufrufform; nur der Ziel-Server unterscheidet sich.
Jev bei TypeSafe. Braucht einen API-Key aus der Konsole (Early Access/Warteliste). Wenig Aufwand, Referenzqualität, Daten gehen an den Anbieter.
Kev offen. Keine Warteliste, keine Kosten pro Aufruf, Daten bleiben im Haus. Braucht Python 3.12/3.13, uv und je nach Größe GPU (0,8 B läuft auf dem Laptop).
Weg A · Jev (gehostet)
1 · Key holen und setzen
# Key: https://console.typesafe.ai/keys
export TYPESAFE_API_KEY="dein-key"2 · SDK installieren (Python ≥ 3.10)
python3 -m venv .venv
.venv/bin/pip install typesafe-sdk3 · Erster Aufruf mit dem SDK
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
ticket = "Our API integration started returning 500 errors about 20 minutes ago."
with TypeSafeClient(model="jev-latest") as client: # liest TYPESAFE_API_KEY
response = client.system_one(
state=ticket,
questions={
"department": Choice(
instructions="Which team should handle this",
criteria={"billing": "Payment issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"},
),
"is_urgent": Noul(
instructions="The message conveys urgency or time-sensitivity",
),
},
)
print(response.choices["department"].choice) # technical
print(response.nouls["is_urgent"].noul) # 0.99Modelle und Preise: jev-latest → jev-1.13.0, jev-preview → jev-1.14.0. Aliasse wandern bei neuen Releases — wer Schwellen getunt hat, pinnt die Versions-ID.
Weg B · Kev (selbst gehostet, ohne Warteliste)
1 · Klonen und Abhängigkeiten installieren
# Python 3.12/3.13 und uv vorausgesetzt
git clone https://github.com/jaredpalmer/kev.git && cd kev
uv sync --extra serve2 · Server starten (Modell auswählen)
# Kev-4B: guter Standard (L40S/H100 oder 32-GB-Mac)
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8009
# Leichtgewichte ohne GPU: --run jaredpalmer/kev-0.8b (4-GB-GPU oder Apple Silicon)
# Maximale Qualität: --run jaredpalmer/kev-27b (80-GB-GPU, bf16)
# Sicherheitsnetz: --device cpu | --device cuda | --device mps3 · Mit dem TypeSafe-SDK gegen den lokalen Server (nur base_url geändert)
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
client = TypeSafeClient(
api_key="local", # beliebig, solange KEV_API_KEY nicht gesetzt ist
base_url="http://127.0.0.1:8009",
model="kev-latest",
)
response = client.system_one(
state="I was charged twice. Please fix this ASAP.",
questions={
"billing": Noul(instructions="Is this ticket about billing?"),
"urgency": Score(instructions="How urgent is this ticket?",
criteria=["can wait", "this week", "today"]),
},
)
print(response.nouls["billing"].noul)
print(response.scores["urgency"].score)4 · Optional: eigener HTTPS-Endpunkt (Modal, ohne lokalen GPU-Rechner)
pip install modal==1.5.5 && modal setup
curl -LO https://raw.githubusercontent.com/jaredpalmer/kev/main/skills/kev-deploy/scripts/kev_serve.py
KEV_API_KEY=$(openssl rand -hex 24) modal deploy kev_serve.py
# -> https://<workspace>--kev-api.modal.run (skaliert bei Leerlauf auf null)Sicherheit. Beide Server sind standardmäßig offen. Vor jeder öffentlichen Erreichbarkeit KEV_API_KEY bzw. LAYA_API_KEY setzen, sonst kann jeder mit Netzwerkzugriff Entscheidungen stellen. Für Dauerbetrieb gibt es die Temperatur-/Kalibrierungsroutine: ein paar hundert eigene Beispiele lab, Temperatur nachfitten, Schwelle messen.
Die Befehle stammen aus den offiziellen Dokumentationen (TypeSafe Quickstart, Kev-README) und wurden für diesen Bericht nicht ausgeführt — es lag kein Early-Access-Key und keine GPU vor. Die Schnittstellenform ist über beide Quellen abgeglichen.
7 · Beispiel-Request und Beispiel-Response
Ein zusammenhängendes Beispiel: eine Support-Anfrage, drei Fragen (Choice + Score + Noul) in einem einzigen Aufruf.
Request · POST /v1/systemone
curl --fail-with-body --silent --show-error \
https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"state": "Our API integration started returning 500 errors on every request about 20 minutes ago, and we can't process any customer orders until this is fixed.",
"model": "jev-latest",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated the customer appears",
"criteria": ["Calm, just stating facts",
"Frustrated but civil",
"Very angry, strong language"]
},
"is_urgent": {
"type": "noul",
"instructions": "The message conveys urgency or time-sensitivity"
}
}
}
JSONResponse · 200 OK
{
"model": "jev-1.13.0",
"answers": {
"department": {
"type": "choice",
"choice": "technical",
"confidence": 1.0,
"probabilities": { "technical": 1.0, "billing": 0.0, "sales": 0.0 }
},
"frustration": {
"type": "score",
"score": 0.67,
"confidence": 0.5,
"legend": { "0": "Calm, just stating facts",
"1": "Frustrated but civil",
"2": "Very angry, strong language" },
"probabilities": { "0": 0.33, "1": 0.67, "2": 0.0 }
},
"is_urgent": { "type": "noul", "noul": 0.99 }
},
"usage": { "input_tokens": 428, "output_tokens": 73 }
}Wie der Code das liest
if r.answers["is_urgent"].noul >= 0.9: # klarer Fall -> handeln
route(r.answers["department"].choice)
elif r.answers["is_urgent"].noul >= 0.5: # unsicher -> LLM/Mensch fragen
escalate_to_reviewer()
else: # kein Stressfall -> normal
queue_standard()Zum Vergleich · Kev lokal (dieselbe Form, anderer Träger)
curl -s localhost:8009/v1/systemone -H 'content-type: application/json' -d '{
"state": "Shoes arrived two weeks late and in the wrong size. Also I see two charges on my card.",
"model": "kev-latest",
"questions": {
"department": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"returns": "Exchanges, refunds, wrong or damaged items",
"shipping": "Delivery status, delays, lost packages",
"billing": "Charges, invoices, payment problems"}},
"escalate": {"type": "noul", "instructions": "Does this need urgent human attention?"},
"frustration": {"type": "score", "instructions": "How frustrated is the customer?",
"criteria": ["Calm", "Frustrated", "Very angry"]}
}}'
# Beispielantwort Kev-4B (bf16, Apple M5)
# {
# "model": "kev-latest",
# "answers": {
# "department": { "type": "choice", "choice": "returns", "confidence": 0.21,
# "probabilities": { "returns": 0.47, "shipping": 0.28, "billing": 0.25 } },
# "escalate": { "type": "noul", "noul": 0.93 },
# "frustration": { "type": "score", "score": 1.44, "confidence": 0.34,
# "legend": { "0": "Calm", "1": "Frustrated", "2": "Very angry" },
# "probabilities": { "0": 0.0, "1": 0.56, "2": 0.44 } }
# },
# "usage": { "input_tokens": 101, "output_tokens": 161 },
# "latency_ms": 495
# }Beachte den Unterschied in der Deutlichkeit: Bei Jev ist die Abteilung eindeutig (1,0), beim lokalen Modell ist sie uneindeutig (0,47). Genau dafür gibt es confidence: sichere Fälle automatisch, den Rest an einen Menschen.
8 · Was das für den MZP bedeutet
Der MZP ist selbst ein Ort, an dem Agenten viele kleine Entscheidungen treffen könnten, für die heute ein Sprachmodell aufgerufen wird. Drei Andockpunkte, bewusst als Hypothese formuliert, nicht als Ergebnis:
- Werkzeug-Gate für Agenten. Eine Risikoklassifikation vor der Ausführung eines Tools (z. B.
bash,deletePage) ist das Muster, das LangChain mitAutoModeMiddlewareauf Jev aufsetzt. Ein billiger Noul-Aufruf pro Werkzeugaufruf statt eines vollen LLM-Calls. - Eval- und Backlog-Triage. 50 Tickets oder Läufe in einem Aufruf nach Priorität, Betroffenheit oder Cluster scoren, statt einzeln zu klassifizieren.
- Weichen-Entscheidung im Diagramm-/Blatt-Fall. Offene MZP-Tickets wie MZP-154 zeigen genau das Muster: Ein Agent wählt den falschen Weg (Diagramm statt analog-Blatt). Eine Choice-Frage „Welcher Weg passt zu dieser Aufgabe?“ mit klaren Kriterien ist das, wofür die Modelle gebaut sind — aber nur nach Kalibrierung an eigenen Fällen.
Nicht dafür geeignet. Alles Generative: Text, Code, Berichte, Zusammenfassungen, offene Fragen. Dafür bleibt es beim LLM. Das Entscheidungsmodell ist ein Komplement, kein Ersatz.
9 · Grenzen und Risiken
- Blackbox ohne Begründung. Man erhält nur eine Zahl. Wurde ein Artikel als Spam markiert, verrät Jev nicht, welches Signal das auslöste. Erklärbarkeit ist hier schlechter als beim LLM.
- Bias wird unsichtbar. Willisons Sorge: Eine einzelne Fließkommazahl kann unbemerkte Verzerrung verbergen. Kein Modell sollte damit über Menschen entscheiden (Jobs, Anträge).
- Kalibrierung ist Pflicht, nicht Kür. Die Konfidenz ist eine Verteilungsrechnung, keine garantierte Trefferquote. Ohne eigenes Label-Set und nachgefütterte Temperatur sind Schwellen geraten.
- Bekannte Schwächen (Jev 1.13). Zahlen und Datumsarithmetik, adversarische Inhalte und nicht-englische Sprachen sind schwach. Die Herstellerdokumentation selbst rät, an eigenen Daten zu testen.
- Abhängigkeit. Der gehostete Weg ist proprietär und preis-/verfügbarkeitsabhängig; die Trainingsdaten sind unbekannt. Der offene Weg kostet eigene Hardware und Genauigkeit out-of-domain.
- Reife. Die Klasse ist keinen Monat alt. Jede publizierte Zahl — auch die hier zitierten — ist eine Hypothese mit Stand September/Oktober 2026, keine stabile Größe.
10 · Quellen
- TypeSafe AI — „Introducing System One Models & Jev“ (15.09.2026): typesafe.ai · Dokumentation: Quickstart, Primitives, Models
- Wikipedia — „Jev (AI model)“: en.wikipedia.org
- Simon Willison — „Jev introduces a new shape of LLM — System One, aka Decision Models“ (21.09.2026): simonwillison.net
- LangChain — „Building a Harness with Jev“ (17.09.2026), inkl. Model-Routing und
AutoModeMiddleware: langchain.com - Kev (jaredpalmer) — Repo, Modelle, API, Kalibrierung: github.com/jaredpalmer/kev
- Pinggy — „Best Open Source Jev Alternatives: 5 Self-Hosted Decision Models“ (23.09.2026), inkl. unabhängigem 49-Aufgaben-Vergleich (jabr/classifier-benchmark): pinggy.io
- JevBench (fstandhartinger) — offener Benchmark für Jev-Klasse-Modelle: github.com/fstandhartinger/jevbench
- Red Hat Developer — „Benchmarking AI decision models against traditional guardrails“ (02.10.2026): developers.redhat.com
- arXiv 2610.02076 — „LLM-as-Jev: LLMs Are Already Jev-Style Decision Models“: arxiv.org
- llm-typesafe (Simon Willison) — Jev in der LLM-CLI: github.com/simonw/llm-typesafe