Zum Inhalt springen
← Alle Artikel

Jobs auf der Dreherei mit Jev routen: Entscheidungen ohne Chat

29. Sept. 2026 · Automatisierung · 4 min

·Von Dimitri Pisarev

Der Kunde betreibt eine Dreherei, ein Dutzend Maschinen, kleine Losgrößen und einen Disponenten, der seine Vormittage damit verbrachte, Aufträge gegen Maschinenzustand, Werkzeugbestückung und Termine auf einem Whiteboard zu sortieren. Mein Teil war die Software drumherum. Die interessante Entscheidung in dieser Software ist eine Zeile: welche Maschine welchen Auftrag als Nächstes übernimmt. Falsch geroutet, wartet eine leerlaufende Spindel, während ein Termin durchbrennt.

Wir haben kürzlich ein Modell in diese Schleife gelegt. Kein Chat-Modell. Das Modell, das passte, kann keinen Satz schreiben.

Was ist Jev eigentlich?#

Jev ist das erste öffentliche Modell von TypeSafe AI, einem Labor in San Francisco, das in diesem Monat aus dem Stealth-Modus kam, und es gehört zu einer Klasse, die das Unternehmen System One Models nennt (Ankündigung). Der Gründer Diogo Almeida schreibt, dass er bei OpenAI an den Methoden hinter ChatGPT gearbeitet hat, bevor er dieses Labor gründete. Ein System-One-Modell erzeugt keinen Text. Du schickst ihm einen State, einen beliebigen unstrukturierten Kontext, und typisierte Fragen zu diesem State, und es liefert typisierte Antworten mit Wahrscheinlichkeiten zurück (Konzepte).

Es gibt drei Fragetypen. Choice wählt aus Optionen, die du definierst, und liefert die Wahl, eine Wahrscheinlichkeit pro Option und einen Konfidenzwert. Score ordnet einen State in geordnete Stufen ein. Noul beantwortet eine Ja-oder-Nein-Frage mit einer Wahrscheinlichkeit. Fragen in einer Anfrage werden parallel ausgewertet, drei Urteile kosten kaum mehr als eines (Choice-Doku).

Die Zahlen des Anbieters sind Zahlen des Anbieters: Input für 0,042 $ pro Million Tokens, Output kostenlos, Antwortzeiten von 70 bis 500 Millisekunden und Homepage-Behauptungen von 193,6x schneller und 444,6x günstiger auf den eigenen Workflow-Evals, die die Ankündigung selbst als obere Grenze realer Gewinne einordnet. Innerhalb von zwei Wochen nach dem Start gab es Hackathons, einen LangChain-Text und einen Haufen Community-Projekte (LangChain). Unabhängige Messungen gibt es kaum. Behandle alles entsprechend.

Warum das Chat-Modell die falsche Form für die Disposition war#

Disposition ist kein Gespräch. Ein Auftrags-Ereignis feuert, der Router braucht die Antwort im selben Takt, und die Antwort muss in Code einsortieren, der eine Queue-Position vergibt. Ein Chat-Modell liefert einen String: parsen, validieren, den Tag einplanen, an dem es ausweicht oder ausufert. Sekunden Latenz pro Entscheidung, echtes Geld pro Aufruf und eine Konfidenzschätzung, die die Vergleichstabelle der Ankündigung selbst als überzuversichtlich und inkonsistent beschreibt.

Das ist dieselbe Disziplin, die ich schon beim Support-Agenten hier fahre: Alles, was ein Modell zurückgibt, wird gegen ein Schema validiert, bevor es State berührt. Jev zieht den Vertrag in den Modellaufruf hinein. Die Antwort ist typisiert, weil die Frage typisiert war, und der heiße Pfad hat eine Stelle weniger, an der er jemanden überraschen kann.

Der Routing-Aufruf selbst#

Die gesamte Entscheidung ist ein Aufruf. Der State ist ein schlichter Absatz, den der Disponent wiedererkennen würde, gebaut aus Maschinenlogs und Auftragsnotizen, und die Fragen tragen die tatsächliche Politik der Werkstatt (Quickstart):

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
 
client = TypeSafeClient()
 
response = client.system_one(
    state=dispatch_state(job, machines, order_notes),
    questions={
        "machine": Choice(
            instructions="Which machine should take this job next",
            criteria={
                "machine_a": "Idle, 3-jaw chuck mounted, low spindle hours",
                "machine_b": "Free after noon, same batch family running",
                "machine_c": "Idle but uncalibrated after the crash",
                "hold": "No machine is a defensible fit today",
            },
        ),
        "rush": Noul(
            instructions="The order notes justify moving this job ahead",
        ),
        "setup_risk": Score(
            instructions="Risk that the assigned setup delays the due date",
            criteria=[
                "Low, standard tooling fits",
                "Medium, minor changes needed",
                "High, fresh setup required",
            ],
        ),
    },
)
 
pick = response.answers["machine"]  # .choice, .probabilities, .confidence

Die Antwort kommt mit der Wahl, der vollständigen Wahrscheinlichkeitsverteilung und einem Konfidenzwert. Die Option hold ist die ehrliche: Sie lässt das Modell sagen, dass heute keine Maschine passt, was eine heuristische Queue gar nicht sagen kann.

Die Konfidenzzahl ist das Feature#

Die Konfidenz wird aus der Streuung der Verteilung berechnet: Ein einzelner Peak heißt sicher, eine flache Form heißt unentschieden. Diese Zahl hat das System einsetzbar gemacht. Unter einem Schwellwert rät der Router nicht, er parkt den Auftrag in der Queue des Disponenten, mit den Wahrscheinlichkeiten daneben. Der State enthält menschliche Notizen, genau die Art nicht vertrauenswürdigen Texts, dem ich nirgends direkten Einfluss geben würde (der Fetch-Guards-Post). Hier ist sein Einfluss durch die Antworttypen begrenzt.

Das Log war die zweite Lieferung. Jede Entscheidung landet mit ihrer Konfidenz, und die wöchentliche Sichtung der Fälle mit niedriger Konfidenz war der Weg, die Optionsbeschreibungen zu schärfen. Die Dokumentation ist bei der Grenze sorgfältig: Kalibrierung wird über Gruppen von Vorhersagen gemessen und garantiert keine einzelne Antwort. Der Schwellwert folgt aus diesem Satz.

Wo ein Mensch in der Schleife bleibt#

Die Maschinenseite hat sich nicht geändert. Verriegelungen, Spindelgrenzen und Wartungsfenster blieben Code, und Jev schreibt in eine Queue, nie auf eine Maschine. Jev ist ein Early-Access-Modell eines wenige Wochen alten Labors, bislang evaluiert auf den Workflow-Evals des Anbieters gegen Referenzmodelle, die der Anbieter ausgesucht hat. Der Name wird inzwischen auch geliehen: Ein unabhängiges Unternehmen hat diese Woche ein Open-Weights-Modell namens JEV-27B veröffentlicht, das mit TypeSafe nichts zu tun hat. Lies genau, bevor du eine Benchmark-Zahl übernimmst.

Der Disponent behielt den Vormittag. Verändert hat sich, dass das Whiteboard jetzt Vorgaben hat und seine Queue die Fälle hält, die ein Mensch wert sind.

Greife ich wieder danach?#

Ja, für Entscheidungen, die den ganzen Tag feuern und in eine typisierte Frage passen, mit einem Schwellwert darunter und einem Log dahinter. Nicht für alles, was erklärt werden muss. Jev liefert Wahrscheinlichkeiten, keine Begründungen, und ein Audit will Begründungen vom System drumherum. Das Chat-Modell behält seinen Platz eine Ebene höher und schreibt den Schichtbericht, den niemand schreiben will. Die Stufen darunter brauchen manchmal gar kein Modell: Die Outreach-Pipeline hier wählt ihre Nachrichtenvarianten per Hash aus, ohne einen einzigen Modellaufruf. Die Routing-Ebene hat nur aufgehört, so zu tun, als bräuchte dieser Job Worte.