Erstellung einer Harness-Integration mit Jev

@sydneyrunkle
ENGLISCH18. Sept. 2026
420K
2.1K
210
49
3.9K

TL;DR

Dieser Artikel erklärt, wie man Jev, ein schnelles System-One-Modell von TypeSafe AI, in LangChain-Agenten integriert. Er beschreibt die Fähigkeiten von Jev für strukturierte Entscheidungsfindung, Modell-Routing und Sicherheits-Guardrails zur Optimierung der Agentenleistung und der Kosten.

Agenten laufen in einer Schleife: Ein LLM entscheidet, was zu tun ist, ein Tool führt die Aktion aus, ein Modell bewertet die Ergebnisse und dann geht es so weiter, bis die Aufgabe abgeschlossen ist.

Anfangs war es schwierig, Agenten und LLMs in Softwareanwendungen zu integrieren, die auf strukturierten Daten und vorhersagbaren Schnittstellen basieren. Zwei Grundbausteine (Primitives) haben dies erheblich vereinfacht:

  • Tool Calling ermöglichte es Modellen, strukturierte Anfragen zu stellen und strukturierte Ergebnisse zu erhalten.
  • Strukturierte Ausgaben ermöglichten es Modellen, strukturierte Ergebnisse zurückzugeben.

Doch selbst mit diesen Bausteinen bleibt die Agentenschleife langsam und teuer: Jede Entscheidung erfordert einen weiteren Modellaufruf.

Hier kommt Jev ins Spiel. Jev ist ein neues Modell, das von TypeSafe AI veröffentlicht wurde. Das Unternehmen berichtet von bis zu 200x schnellerer Inferenz und 400x niedrigeren Kosten im Vergleich zu ähnlichen LLMs bei Klassifizierungsaufgaben.

https://x.com/CompleteSkeptic/status/2099925682726002904

Dieser Beitrag behandelt, wie Jev funktioniert, wo es in die Agentenschleife passt und wie man es mit LangChain nutzt.

Alles über Jev

Jev ist eigentlich kein traditionelles LLM, da es keinen Text generiert. Es handelt sich um ein sogenanntes System-One-Modell, wie das Team von TypeSafe AI es nennt:

📖 System-One-Modelle sind eine Klasse von KI-Modellen, die entwickelt wurden, um schnelle, strukturierte Entscheidungen zu treffen, die Software direkt nutzen kann. Ein System-One-Modell evaluiert einen

Zustand und gibt typisierte Antworten sowie Wahrscheinlichkeiten zurück.

Es wird mittels Reinforcement Learning for Calibrated Decisions (RLCD) trainiert. Dein Code nutzt diese Ergebnisse, um zu steuern, was ein Agent als Nächstes tut, ohne dass für jede Entscheidung ein vollständiger Chat-LLM-Aufruf nötig ist.

Um ein Jev-Modell aufzurufen, sendest du ihm einen Zustand (den Kontext) und Fragen zu diesem Zustand. Hier ist eine Version des Support-Ticket-Beispiels aus deren Dokumentation mit nur einer Frage:

json
1{
2 "model": "jev-latest",
3 "state": "Hi, I've been trying to connect my Stripe account for 3 days and it keeps failing. I'm losing sales. Please help ASAP.",
4 "questions": {
5 "is_urgent": {
6 "type": "noul",
7 "instructions": "The message conveys urgency or time-sensitivity"
8 }
9 }
10}

Das Beispiel aus der Dokumentation liefert diese Dringlichkeitsantwort, hier gezeigt ohne den Rest der Antwort:

json
1{
2 "is_urgent": {
3 "type": "noul",
4 "noul": 0.999
5 }
6}

Das ist eine Wahrscheinlichkeit von 99,9 %, dass die Nachricht dringend ist, was deine Anwendung nutzen kann, um das Ticket entsprechend zu priorisieren.

Es gibt drei unterstützte Typen von Fragen:

Sydney Runkle - inline image
  • Choice: Wähle aus einer Reihe von Optionen. Gibt eine Wahrscheinlichkeit für jede Option sowie einen allgemeinen Konfidenzwert zurück.
  • Score: Bewerte eine Eingabe anhand geordneter Stufen, wie niedrig, mittel und hoch. Gibt einen kontinuierlichen Score, die zugrunde liegende Verteilung und einen Konfidenzwert zurück.
  • Noul: Beantworte eine Ja-/Nein-Frage. Gibt die Wahrscheinlichkeit zurück, dass eine Aussage wahr ist.

Ein wichtiges Merkmal ist, dass du mehrere Fragen zum selben Zustand in einer einzigen Anfrage stellen kannst.

💡 System-One-Modelle evaluieren jede Frage in einer Anfrage parallel. Das Hinzufügen weiterer Fragen verändert die Antwortzeit kaum und kostet nur die Tokens für die zusätzlichen Fragen, welche günstig sind.

Ein Beispiel für das Stellen mehrerer Fragen zu einem Support-Ticket findest du im TypeSafe Quickstart.

Zusammenfassend lässt sich sagen: Im Gegensatz zu traditionellen LLMs ist Jev weder durch Textgenerierung noch durch sequenzielle Entscheidungsfindung eingeschränkt!

So nutzt du Jev mit LangChain

Das anbieterunabhängige Modell von LangChain eignet sich hervorragend, um Jev neben Tausenden anderer Integrationen und Modellanbietern zu unterstützen.

Die LangChain-Integration stellt Jev über TypeSafeClassifier bereit. Du übergibst deinen Zustand und deine Fragen an .invoke() und erhältst Klassifizierungsergebnisse statt einer Chat-Antwort.

Installiere langchain-typesafe, setze deinen TYPESAFE_API_KEY und führe dann einen Aufruf durch:

python
1from langchain_typesafe import Noul, TypeSafeClassifier
2
3classifier = TypeSafeClassifier()
4
5response = classifier.invoke(
6 state=(
7 "The deploy failed twice and customers are seeing 500s. "
8 "Can someone look now?"
9 ),
10 questions={
11 "urgent": Noul(
12 instructions="Does this need attention right now?"
13 ),
14 },
15)
16
17urgency = response.nouls["urgent"].noul

Der Zustand kann Text, strukturierte Daten oder LangChain-Nachrichten sein. Dadurch ist es einfach, Jev aus einem Knoten oder Middleware-Hook heraus aufzurufen, indem der Kontext genutzt wird, den dein Agent bereits hat.

Du kannst dies in benutzerdefinierte Middleware oder Tools integrieren!

Anwendungsfälle

Jev ist kein direkter Ersatz für ein LLM. Es generiert keinen Text, kann aber Klassifizierungsaufgaben bewältigen, für die wir heute oft LLMs verwenden – ohne dieselbe Latenz und Kosten. Das macht es zu einer vielversprechenden Ergänzung für das Modell, das deinen Agenten antreibt: Nutze ein LLM für offenes Reasoning und Generierung, und Jev für schnelle, strukturierte Entscheidungen zwischendurch.

Model Routing

Eine einfache Suche benötigt nicht dasselbe Modell wie eine schwierige Debugging-Aufgabe. Model-Routing-Middleware ermöglicht es Jev, die Anfrage zu bewerten und ein Modell basierend auf von dir definierten Kriterien auszuwählen – schnell und günstig für einfache Aufgaben, leistungsfähiger für komplexe.

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 ModelChoice,
4 ModelRouterMiddleware,
5)
6
7router = ModelRouterMiddleware(
8 choices={
9 "fast": ModelChoice(
10 model="openai:luna",
11 criteria="Direct lookups, extraction, and localized changes.",
12 ),
13 "powerful": ModelChoice(
14 model="openai:sol",
15 criteria="Architecture and high-stakes decisions.",
16 ),
17 },
18 instructions="Choose the least costly model that can complete the task.",
19)
20
21agent = create_agent("openai:gpt-5.6-luna", middleware=[router])

Der Router wählt ein Modell aus der neuesten Benutzernachricht aus und nutzt es während des gesamten Laufs. Die Wahrscheinlichkeiten und Konfidenzwerte bleiben auch im Agent-State verfügbar.

Auto Mode

Agenten sind nach wie vor inhärent unzuverlässig. Ein Agent kann schlechte Anweisungen erhalten (sei es natürlich oder von einem motivierten Angreifer), die ihn dazu verleiten können, Aktionen auszuführen, die wir nicht wollten.

Coding-Harnesses wie claude, codex und cursor haben verschiedene Methoden eingeführt, gefährliche Aktionen vor ihrer Ausführung zu klassifizieren, was schrittweise dazu beigetragen hat, Vertrauen in Agenten aufzubauen. Bislang war dieser Klassifizierungsschritt jedoch in den Closed-Source-Teilen der Harnesses verborgen.

Da nun ein günstiges und leistungsstarkes Klassifizierungsmodell existiert, können wir dasselbe Muster übernehmen und auf alle Agenten anwenden!

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 AutoModeMiddleware,
4)
5
6guardrail = AutoModeMiddleware(tools=["bash"])
7
8agent = create_agent("openai:gpt-5.6-luna", middleware=[guardrail])

AutoModeMiddleware nutzt Jev, um Tool-Aufrufe auf riskante Entscheidungen hin zu überprüfen, die sie möglicherweise treffen, und blockiert Aufrufe, bevor das Tool ausgeführt wird.

Loslegen!

Wir sind ziemlich begeistert von Jev und den Möglichkeiten, die es bietet. Einige coole Projekte, die wir bereits gesehen haben: Kyle Jeong von Browserbase betreibt Browser-Agenten für Bruchteile eines Cents, Jarrod Watts hat einen Live-Trading-Agenten gebaut, und Ryan Vogel erledigt E-Mail-Triage im großen Maßstab.

Zurzeit erscheinen neue Modelle wöchentlich, aber dieses hat eine besonders große Resonanz ausgelöst. Wir freuen uns darauf zu sehen, was du mit LangChain und Jev baust.

Lass uns wissen, was du denkst, im Forum, tagge uns auf X und teile, woran du arbeitest, oder beteilige dich an den LangChain Issues!

Danksagungen

Danke an @huntlovell, @hwchase, @ccurme, @veryboldbagel und Nathan Drenzer für ihr durchdachtes Review und ihre Beiträge.

Mit einem Klick speichern

Virale Artikel mit YouMind per KI tief lesen

Speichere die Quelle, stelle gezielte Fragen, fasse die Argumentation zusammen und verwandle einen viralen Artikel in wiederverwendbare Notizen in einem einzigen KI-Arbeitsbereich.

YouMind entdecken
Für Creator

Verwandle dein Markdown in einen sauberen 𝕏-Artikel

Wenn du eigene Langtexte veröffentlichst, wird die 𝕏-Formatierung von Bildern, Tabellen und Codeblöcken mühsam. YouMind macht aus einem ganzen Markdown-Entwurf einen sauberen, sofort postbaren 𝕏-Artikel.

Markdown zu 𝕏 testen

Mehr Muster zum Entschlüsseln

Aktuelle virale Artikel

Mehr virale Artikel entdecken