In einem KI-Agenten übernimmt Jev die kleinen Entscheidungen zwischen den LLM-Aufrufen: welches Tool oder welcher Skill zum Einsatz kommt, welches Modell den nächsten Schritt übernimmt, ob der Agent weitermacht oder übergibt und ob ein Tool-Aufruf zu riskant ist, um ihn auszuführen. TypeSafe und seine Partner dokumentieren Muster für Intent-Routing, Modellwahl, Weiter/Stopp-Entscheidungen und die Risikoprüfung von Tool-Aufrufen; ein Muster für Retry-Entscheidungen ist nicht dokumentiert. Bevor Sie eine dieser Entscheidungen von einem LLM auf Jev verlagern, spielen Sie Ihre eigenen protokollierten Entscheidungen durch beide und vergleichen Genauigkeit, Latenz und Kosten.

Dieser Leitfaden sammelt, was die offiziellen Dokumentationen von TypeSafe, LangChain, Vercel und Cloudflare zeigen, Stand Oktober 2026, und kennzeichnet deutlich, wo wir eine Design-Idee beschreiben und kein dokumentiertes Feature. In einem Kundensystem haben wir Jev noch nicht eingesetzt. Hintergrund zum Modell selbst finden Sie unter Was ist Jev?.

Wo sitzen Routing-Entscheidungen in einem Agenten?

Die meisten Agenten arbeiten in einer Schleife: Aufgabe und letztes Tool-Ergebnis lesen, den nächsten Schritt entscheiden, handeln, wiederholen. Hinter dem Entscheiden stecken meist mehrere getrennte Fragen, die ein LLM implizit in einem langen Prompt beantwortet. Ein Entscheidungsmodell macht sie explizit. Die Skizze unten ist herstellerneutraler Pseudocode, kein Jev-API-Code:

loop:
    state = compact summary of task, last tool result, step count
    answers = decision_model(state, [which_tool, needs_strong_model,
                                     tool_call_risky, should_continue])
    if any answer is below its confidence threshold:
        hand the step to an LLM or a person
    elif tool_call_risky is likely:
        refuse the call, or ask for approval
    else:
        run the chosen tool with the chosen model
    if not should_continue: stop

Zwei Punkte aus der Dokumentation von TypeSafe prägen dieses Design. Fragen sollten atomar sein: Breite Urteile werden in mehrere Fragen zerlegt und im Code kombiniert. Und der Zustand sollte kurz sein, denn Jev „leidet unter Context Rot“, wenn der Zustand voller irrelevanter Details ist (Jev 1.13 jaggedness). Das komplette Transkript zu übergeben ist eine schlechte Voreinstellung; übergeben Sie, was die Entscheidung braucht.

Intent- und Tool-Routing

Das Intent-Routing-Muster von TypeSafe ist das klarste offizielle Beispiel. Eine Choice-Frage klassifiziert die Anfrage, eine Score-Frage bewertet die Komplexität, und einfacher Code entscheidet, wohin sie geht: Fragen zum Bestellstatus an deterministischen Code, Produkt- und Retourenfragen an spezialisierte LLM-Prompts, Beschwerden je nach Komplexität an ein LLM oder einen Menschen. Bei niedriger Konfidenz übernimmt ein Mensch. Die Routing-Funktion, wie veröffentlicht:

def route_ticket(ticket_id, response):
    intent = response.answers["intent"]
    complexity = response.answers["complexity"]

    if intent.confidence < 0.5:
        # If we don't have enough confidence to classify, route to a human agent
        return route_to_human_agent(ticket_id)

    if intent.choice == "order_status":
        handle_order_status(ticket_id)
    elif intent.choice == "product_question":
        handle_with_llm(ticket_id, PRODUCT_SPECIALIST)
    elif intent.choice == "return_exchange":
        handle_with_llm(ticket_id, RETURNS_SPECIALIST)
    elif intent.choice == "complaint":
        low_confidence = complexity.confidence < 0.5
        # A higher complexity.score leans toward the "escalation needed" end of the scale.
        if complexity.score > 1 or low_confidence:
            # Too complex for safe automation, or we're not sure about the complexity; route to a human.
            route_to_human_agent(ticket_id)
        else:
            handle_with_llm(ticket_id, COMPLAINT_RESOLUTION)

Für die eigentliche Tool-Auswahl hat TypeSafe zwei Cookbooks. Das Function-Calling-Cookbook bildet einen Funktionsnamen und seine Argumente mit geschlossenem Wertebereich (Literale und Booleans) auf Choice- und Noul-Fragen ab, ein Request pro Befehl. Integer-, Freitext- und Datumsargumente behalten ihre Standardwerte, und genau da endet der Ansatz: Jev wählt die Funktion, füllt aber keine offenen Werte aus. Das Skill-Suggestion-Cookbook wählt mit zwei Jev-Requests höchstens einen von 182 Skills. In TypeSafes eigenem Test mit 488 Requests gegen Claude Haiku 4.5 sank die Rate falsch geladener Skills von 16,8 % auf 7,3 %, und das Laden eines Skills, obwohl keiner passte, ging von 9,8 % auf 4,0 % zurück. Das ist ein Ergebnis des Anbieters auf einer vom Anbieter gewählten Aufgabe.

Bei Tool-Menüs zählen zwei Grenzen. Ein Choice fasst höchstens 255 Optionen, und laut Dokumentation von TypeSafe „neigt Jev zu der Option, die zuerst kommt“. Hat Ihre Tool-Liste eine feste Reihenfolge, testen Sie, ob das erste Tool öfter gewinnt, als es sollte.

Modellwahl mit LangChain

LangChain pflegt ein Paket langchain-typesafe (Alpha, zum Zeitpunkt des Schreibens 0.0.1a3) mit einem TypeSafeClassifier-Runnable und zwei als experimentell markierten Middleware-Klassen. ModelRouterMiddleware wählt, welches Modell einen Schritt ausführt. Dieser Auszug stammt von der LangChain-Providerseite:

from langchain.agents import create_agent
from langchain_typesafe.experimental.middleware import (
    ModelChoice,
    ModelRouterMiddleware,
)

router = ModelRouterMiddleware(
    choices={
        "fast": ModelChoice(
            model="openai:gpt-5.6-terra",
            criteria="Direct lookups, extraction, and localized changes with explicit targets.",
        ),
        "powerful": ModelChoice(
            model="openai:gpt-6-astra",
            criteria="Architecture, novel root-cause reasoning, and high-stakes decisions.",
        ),
    },
    instructions="Choose the least costly model that can complete the task safely.",
)

agent = create_agent("openai:gpt-5.6-terra", middleware=[router])

Das vollständige Beispiel auf dieser Seite geht mit agent.invoke(...) weiter und liest die gewählte Route aus result["model_route"].choice. Modell-Routing gehört auch zu den Einsätzen, die Armin Ronacher, CTO von Earendil, nannte, als TechCrunch ihn nach Jev fragte. Die Wirtschaftlichkeit ist leicht zu durchdenken: Der Router-Aufruf ist günstig und rechnet sich, wenn er genügend Schritte an das günstigere Modell schickt, ohne die Ergebnisse zu verschlechtern. Ob das gelingt, müssen Sie messen. Unser Kostenvergleich von LLMs zeigt den Preisabstand zwischen Modellklassen, den ein solcher Router ausnutzen würde.

Retries, Weitermachen und Eskalation

Hier ist die Dokumentation dünn, und Genauigkeit lohnt sich. Die offiziellen Inhalte von TypeSafe zu Retries betreffen die Transportebene: Die SDKs wiederholen 429- und 529-Fehler mit exponentiellem Backoff und beachten retry-after. Ein offizielles Muster, mit Jev zu entscheiden, ob ein Agent einen fehlgeschlagenen Schritt wiederholen soll, gibt es nicht.

Am nächsten kommt die Weiter/Stopp-Prüfung von Vercel aus dem Changelog des AI Gateway:

import { TypeSafeClient } from '@typesafe-ai/sdk';

const client = new TypeSafeClient({
  apiKey: process.env.AI_GATEWAY_API_KEY,
  baseURL: 'https://ai-gateway.vercel.sh/typesafe',
});

const result = await client.systemOne({
  state: 'The agent fixed the checkout bug and all tests pass.',
  questions: {
    continueWorking: {
      type: 'noul',
      instructions: 'Should the agent take another step?',
    },
  },
});

const shouldContinue = result.answers.continueWorking.noul >= 0.8;

Eine Retry-Entscheidung könnte genauso aufgebaut sein; das stellen wir ausdrücklich nur als Design-Idee vor. Nach einem fehlgeschlagenen Tool-Aufruf stellen Sie Ja/Nein-Fragen, etwa ob der Fehler vorübergehend aussieht und ob derselbe Aufruf mit anderen Argumenten wahrscheinlich gelingt. Retry-Zähler und Backoff bleiben im Code, denn laut Dokumentation zählt Jev nicht zuverlässig. Sind die Antworten unsicher, eskalieren Sie, statt es erneut zu versuchen.

Für Eskalationsschwellen zeigt das Confidence-Routing-Muster von TypeSafe einen Voice-Banking-Ablauf mit einer Konfidenz-Untergrenze von 0,6 und automatischer Freigabe einer Überweisung erst oberhalb von 0,85. Beachten Sie, dass Noul-Antworten kein Feld confidence haben. Bei Ja/Nein-Fragen liegt die Schwelle daher auf der Wahrscheinlichkeit selbst, wie bei Vercels >= 0.8. Ein unabhängiger Test von AY Automate schickte unsichere Fälle ab einer Konfidenz unter 0,80 an GPT-5.6 Terra und erreichte 90,0 % Genauigkeit bei etwa 26 % der Kosten von Terra. Diese Zahlen gehören AY Automate und deren Daten; Ihre Schwellenwerte müssen aus Ihren Daten kommen.

Risikoprüfung von Tool-Aufrufen

Die experimentelle AutoModeMiddleware(tools=[...]) von LangChain „fragt nach der Wahrscheinlichkeit, dass ein Tool-Aufruf riskant oder unzureichend autorisiert ist“. Als riskant eingestufte Aufrufe liefern eine Fehler-ToolMessage, statt ausgeführt zu werden. LangChains eigene Warnung verdient Wiederholung: „Diese Middleware lehnt riskante Aufrufe ab. Sie fordert keine Freigabe an.“ Braucht Ihr Agent einen menschlichen Freigabeschritt, bauen Sie ihn selbst.

Die größere Einschränkung ist Prompt Injection. Laut Jev-Dokumentation ist der Zustand Daten, und das Modell „behandelt ihn standardmäßig nicht als feindlich“. VentureBeat berichtete über einen Test von Octomind, in dem ein gefälschtes Feld „pre-approved“ die Blockier-Wahrscheinlichkeit für rm -rf ~/.ssh von 0,76 auf 0,48 senkte. Die im selben Artikel zitierte Position von Pydantic ist die vernünftige: Ein Jev-Guard „gehört neben deterministische Prüfungen, nicht an ihre Stelle“. Praktisch heißt das: zuerst Allow- und Deny-Listen, Argumentvalidierung und Berechtigungsprüfungen im Code, und Jev bewertet die Grauzone, die Regeln nicht abdecken.

Hinweise zur Integration: LangChain, Vercel, Cloudflare und Pydantic

  • LangChain: langchain-typesafe wird im Repository langchain-ai gepflegt, ist aber Alpha, und beide Middleware-Klassen sind experimentell. Rechnen Sie mit API-Änderungen.
  • Vercel AI Gateway: Das Modell heißt typesafe-ai/jev und ist über den TypeSafe-Client mit Gateway-Base-URL (wie oben), einen HTTP-Endpunkt /v1/evaluate oder das AI SDK über @ai-sdk/typesafe-ai erreichbar. Die Seiten von Vercel widersprechen sich beim Funktionsnamen im AI SDK (experimental_evaluate im Changelog, experimental_decide im neueren Integrationsleitfaden); prüfen Sie also die aktuelle Dokumentation, bevor Sie Code übernehmen. Die native API des Gateways nennt den Ja/Nein-Typ boolean mit einem Feld .probability, wo TypeSafe noul verwendet. Laut Vercel nutzt das eigene Agenten-Framework eve Jev als Standardmodell für Evaluierungen.
  • Cloudflare Workers AI: Der Aufruf lautet env.AI.run('typesafe/jev', { state, questions }) mit dem Frageschema von TypeSafe (Modellseite). Cloudflare nennt Zero Data Retention und ein Kontextfenster von 32.000 Token, gegenüber den 64k pro Request, die TypeSafe angibt.
  • Pydantic AI: TypeSafeModel und TypeSafeProvider über das Extra pydantic-ai-slim[typesafe], mit eigenem TypeSafe-Key und ohne Streaming (Pydantic).

Egal über welchen Weg: Schreiben Sie die Modellversion (jev-1.13.0) fest, sobald Sie Schwellenwerte abgestimmt haben. Der Alias jev-latest wird sich verschieben.

Jev auf dem eigenen Traffic evaluieren

Veröffentlichte Benchmarks widersprechen sich, und TypeSafes eigene Evaluierungen messen gegen Labels von zwei Frontier-LLMs, also Übereinstimmung statt Korrektheit. Über einen Wechsel sollten nur Zahlen aus Ihrem eigenen Traffic entscheiden. Ein praktikables Vorgehen:

  1. Ziehen Sie protokollierte Entscheidungen aus Ihren Agenten-Traces: den Zustand zum Entscheidungszeitpunkt, die Wahl Ihres aktuellen LLMs und, wo bekannt, das Ergebnis.
  2. Labeln Sie eine Stichprobe von Hand, einschließlich der schwierigen und teuren Fälle. Ein anderes LLM als Referenz wiederholt das Problem der Anbieter-Benchmarks.
  3. Formulieren Sie jede Entscheidung als atomare Jev-Fragen. Rechnen Sie mit mehreren Durchläufen; im von Beri.net zusammengefassten Phishing-Test veränderte die Aufteilung einer breiten Frage in fünf das Ergebnis stärker als die Wahl des Modells.
  4. Spielen Sie die Stichprobe offline durch Jev und durch Ihre aktuelle LLM-Baseline.
  5. Vergleichen Sie pro Entscheidungstyp: Accuracy oder Makro-F1, die Konfusionsmatrix für die teuren Fehler und die Kalibrierung. Passen Sie Schwellenwerte pro Frage an; Beri.net fand Jevs Kalibrierung ohne Anpassung unzuverlässig.
  6. Messen Sie die Abdeckung bei jedem Schwellenwert: welchen Anteil Jev allein erledigt und welcher Anteil ans LLM eskaliert.
  7. Messen Sie die Latenz als p50 und p95 aus der Region, in der Sie deployen. Die Zahlen der Anbieter stammen von der US-Westküste.
  8. Berechnen Sie die Kosten pro 1.000 Entscheidungen, einschließlich der LLM-Aufrufe für eskalierte Fälle.
  9. Ergänzen Sie ein adversariales Set mit eingeschleusten Anweisungen im Zustand, besonders für Fragen zum Tool-Risiko.
  10. Lassen Sie das System vor der Umstellung im Shadow-Modus auf Live-Traffic laufen und behalten Sie den LLM-Pfad als Fallback.

Ist das Ergebnis knapp, entscheiden meist das Volumen der Entscheidungen und die Kosten der einzelnen Fehlertypen. Das größere Kostenbild von Agenten beschreibt unser Artikel zu den Kosten der Entwicklung von KI-Agenten, die übergreifenden Abwägungen finden Sie in Jev vs. LLMs.

FAQ

Funktioniert Jev mit LangChain?

Ja. LangChain pflegt langchain-typesafe mit einem TypeSafeClassifier-Runnable sowie der experimentellen ModelRouterMiddleware für die Modellwahl und der AutoModeMiddleware für die Risikoprüfung von Tool-Aufrufen. Das Paket ist im Alpha-Stadium.

Kann Jev Tools für einen KI-Agenten auswählen?

Ja, bei geschlossenen Auswahlen. Das Function-Calling-Cookbook von TypeSafe bildet Funktionsnamen und Argumente mit geschlossenem Wertebereich auf Choice- und Noul-Fragen ab; Integer-, Freitext- und Datumsargumente brauchen eine andere Quelle. Ein einzelnes Choice fasst bis zu 255 Optionen.

Hat Jev eine eingebaute Retry-Policy?

Nur für Transportfehler: Die SDKs wiederholen 429- und 529-Antworten mit Backoff. Die Entscheidung, ob ein Agent einen fehlgeschlagenen Schritt wiederholen soll, ist kein dokumentiertes Jev-Muster, auch wenn Vercel eine verwandte Weiter/Stopp-Prüfung zeigt.

Ist Jev als einziger Schutz für Tool-Aufrufe sicher?

Nein. Eingeschleuste Inhalte im Zustand können seine Antworten verschieben, wie ein von VentureBeat berichteter Test von Octomind gezeigt hat. Setzen Sie Jev neben deterministischen Berechtigungsprüfungen ein, und beachten Sie, dass die Middleware von LangChain riskante Aufrufe ablehnt, aber keine Freigabe anfordert.

Wie setze ich Konfidenz-Schwellenwerte für das Routing?

Passen Sie sie pro Frage auf Ihren eigenen gelabelten Daten an. Die Muster von TypeSafe verwenden in verschiedenen Beispielen 0,5, 0,6 und 0,85, und Vercels Beispiel nutzt 0,8 auf eine Noul-Wahrscheinlichkeit, aber jeder dieser Werte wurde für ein bestimmtes Beispiel gewählt.

Die Routing-Schicht bauen

Ein Entscheidungsmodell verändert den Aufbau eines Agenten: Die Routing-Logik wandert aus den Prompts in typisierte Fragen, Schwellenwerte und Code, den Sie testen können. Das kann das System günstiger im Betrieb und leichter prüfbar machen, sofern jemand für Evaluierung und Fallbacks verantwortlich ist. AI Superior konzipiert und baut KI-Agenten und LLM-Anwendungen für B2B-Kunden, mit Modell-Routing, Offline-Evaluierung und Kostenkontrolle als Teil der Architektur. Wenn Sie das für den Produktivbetrieb planen, sehen Sie sich unsere Leistungen für LLM-Deployment an.