JEV KENNENLERNEN
Ein System-One-Modell für Software
Klassische LLMs erzeugen vor allem Text für Menschen. Jev konzentriert sich auf Entscheidungen, die Software direkt verarbeiten kann: Sende einen Kontext und typisierte Fragen und erhalte strukturierte Ergebnisse, anhand derer dein Code verzweigen, sortieren und weiterleiten kann.
Typisierte Ergebnisse
Parallele Entscheidungen
Wahrscheinlichkeit und Konfidenz
SCHNELLSTART
Eine Entscheidung in der Spielwiese prüfen
Die Spielwiese ist der schnellste Weg, Jevs Eingaben und Ausgaben kennenzulernen. Sobald die Frage passt, erstelle einen API-Schlüssel und verbinde sie mit deinem Produkt.
- 1
Spielwiese öffnen
Melde dich an, öffne die Jev-KI-Spielwiese und gib einen realen Geschäftskontext ein.
- 2
Kontext vorbereiten
Nutze Text, ein JSON-Objekt oder ein Textarray, um den benötigten Entscheidungskontext bereitzustellen.
- 3
Fragen hinzufügen
Wähle Choice, Score oder Noul. Du kannst alle drei Typen in einer Anfrage kombinieren.
- 4
Code verbinden
Erstelle einen API-Schlüssel in deinem Arbeitsbereich und rufe den Produktiv-Endpunkt per SDK oder REST auf.
EINGABE
Gib dem Kontext die nötigen Informationen für die Entscheidung
Der Kontext ist der Inhalt, den jede Frage auswertet. Nutze für einfache Fälle eine Zeichenfolge und ein JSON-Objekt, wenn Ticket, Bestellung und Richtlinie gemeinsam berücksichtigt werden müssen.
textNatürliche Sprache, ein Ticket oder eine Nachricht
objectStrukturierte Datensätze und verschachtelte Felder
arrayKontext aus mehreren Textelementen
Aktuelle Eingabegrenze: Jev akzeptiert Text, JSON-Objekte und Textarrays. Bilder, Audio und Video werden noch nicht unterstützt.
FRAGETYPEN
Entscheidungen aus präzisen Fragen zusammensetzen
Jede Frage sollte eine konkrete, klar eingegrenzte Sache abfragen. Mehrere Fragen werden parallel anhand desselben Kontexts ausgewertet – einzelne Aufrufe müssen dafür nicht verkettet werden.
Gemeinsame Felder und Struktur
Eine Frage hat einen von drei Typen. Alle Typen enthalten type und instructions; criteria hängt vom Typ ab. instructions kann eine Zeichenfolge, ein Objekt oder ein Array sein. Wenn eine Frage zusätzlichen Kontext braucht, lege Frage und Daten strukturiert ab und verweise anhand der Feldnamen darauf.
typeErforderlich: noul, choice oder score.
instructionsErforderlich: eine Zeichenfolge, ein Objekt oder Array, das die Entscheidung beschreibt.
criteriaTypspezifisch: optionales Objekt für Noul, erforderliche Zuordnung für Choice, erforderliches Array für Score.
{
"type": "noul",
"instructions": "Does this message convey urgency?",
"criteria": {
"true": "Explicitly needs immediate attention",
"false": "No urgency expressed"
}
}Strukturierte Anweisungen helfen bei längeren Fragen oder wenn zusätzliche Daten referenziert werden: Lege die Frage in einem Feld und den Kontext in den übrigen Feldern ab und verweise anhand der Namen darauf.
"instructions": {
"potential_duplicate": {
"name": "John Smith",
"location": "Oakland, California",
"last_employer": "Google"
},
"question": "Is the resume for the same person as `potential_duplicate`?"
}Choice
Nutze Choice, um eine Antwort aus vorgegebenen Optionen auszuwählen. type muss choice sein, instructions beschreibt die Entscheidung und criteria ordnet Optionen Beschreibungen zu. Choice unterstützt bis zu 255 Optionen; jede Beschreibung kann eine Zeichenfolge, ein Objekt, ein Array oder null sein.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
}
}Score
Nutze Score für beschreibende Stufen auf einer Skala, etwa Schweregrad oder Zufriedenheit. type muss score sein; instructions beschreibt die Bewertung und criteria ist ein aufsteigendes Array mit 2 bis 10 Stufen. Einträge können Zeichenfolgen, Objekte oder Arrays sein. Der zurückgegebene Score ist wahrscheinlichkeitsgewichtet und kann zwischen Stufen liegen.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"frustration": {
"type": "score",
"instructions": "How frustrated is the customer?",
"criteria": ["Calm", "Frustrated", "Very angry"]
}
}
}Noul
Nutze Noul für eine Ja-Nein-Bewertung. type muss noul sein und instructions enthält die zu prüfende Frage. criteria ist optional und beschreibt mit true und false, was Ja und Nein bedeuten; die Werte können Zeichenfolgen, Objekte oder Arrays sein. Noul gibt die Wahrscheinlichkeit für Ja an und ist kein zusätzliches Konfidenzfeld.
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?",
"criteria": {
"true": "Explicitly time-sensitive",
"false": "No urgency expressed"
}
}
}
}AUSGABE
Was die Antwort deinem Code liefert
result.answers verwendet dieselben Frage-IDs wie die Anfrage. Die typisierte Ausgabe garantiert die Feldstruktur; deine Anwendung sollte Schwellenwerte trotzdem an das Risiko anpassen und bei Bedarf eine menschliche Prüfung ermöglichen.
- answers: Choice liefert die ausgewählte Option, Wahrscheinlichkeiten und Konfidenz; Score liefert Score, Legende, Wahrscheinlichkeiten pro Stufe und Konfidenz; Noul liefert den Noul-Wert.
- usage: Enthält input_tokens und output_tokens und kann Kosten in US-Dollar enthalten.
- elapsedMs: Zeit von der Anfrage bis zum Ergebnis, einschließlich Validierung – nicht nur die reine Modellinferenz.
Wahrscheinlichkeit und Konfidenz sind Signale für Automatisierung, keine Garantie für geschäftliche Genauigkeit. Nutze bei risikoreichen Aktionen höhere Schwellen oder eine menschliche Prüfung.
Antwortfelder
modelDas Modell, das die Auswertung vorgenommen hat; dieses Projekt liefert answers und usage innerhalb von result zurück.answersEine Antwort pro Frage, zugeordnet über dieselben Frage-IDs wie in der Anfrage.usageEnthält input_tokens und output_tokens.elapsedZusätzliche Anfragezeit dieses Projekts in Millisekunden.Antwortbeispiel
{
"model": "jev-1.13.0",
"answers": {
"is_urgent": {
"type": "noul",
"noul": 0.95
}
},
"usage": { "input_tokens": 296, "output_tokens": 20 }
}Antworttypen
Jede Antwort hat denselben Typ wie die zugehörige Frage. Choice- und Score-Antworten enthalten außerdem eine Konfidenz von 0 bis 1, abgeleitet aus der Wahrscheinlichkeitsverteilung.
Choice
Liefert die Option mit der höchsten Wahrscheinlichkeit, Wahrscheinlichkeiten für alle Optionen und die daraus abgeleitete Konfidenz.
typeErforderlich; der Wert ist choice.
choiceErforderliche Zeichenfolge; die Option mit der höchsten Wahrscheinlichkeit.
probabilitiesErforderliche Zuordnung aus Zeichenfolgen zu Zahlen; die Wahrscheinlichkeiten aller Optionen ergeben zusammen 1.
confidenceErforderliche Zahl; Sicherheit, abgeleitet aus der Wahrscheinlichkeitsverteilung.
{
"model": "jev-1.13.0",
"answers": {
"department": {
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
"confidence": 0.81
}
},
"usage": { "input_tokens": 318, "output_tokens": 34 }
}Score
Liefert einen wahrscheinlichkeitsgewichteten Score, eine Legende für jede Stufe, Wahrscheinlichkeiten pro Stufe und die Konfidenz. Der Score kann zwischen Stufen liegen.
typeErforderlich; der Wert ist score.
scoreErforderliche Zahl; der wahrscheinlichkeitsgewichtete Score über alle Stufen.
legendErforderliche Zuordnung von Zeichenfolgen zu Zeichenfolgen; verbindet jede Stufennummer mit ihrer Beschreibung.
probabilitiesErforderliche Zuordnung von Zeichenfolgen zu Zahlen; jede Stufe und ihre Wahrscheinlichkeit ergeben zusammen 1.
confidenceErforderliche Zahl; Sicherheit, abgeleitet aus der Wahrscheinlichkeitsverteilung.
{
"model": "jev-1.13.0",
"answers": {
"frustration": {
"type": "score",
"score": 1.05,
"legend": { "0": "Calm", "1": "Frustrated", "2": "Very angry" },
"probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
"confidence": 0.92
}
},
"usage": { "input_tokens": 304, "output_tokens": 18 }
}Noul
Liefert Noul auf einer Skala von 0 bis 1 – die Wahrscheinlichkeit, dass die Antwort Ja lautet.
typeErforderlich; der Wert ist noul.
noulErforderliche Zahl; 0 bedeutet Nein und 1 bedeutet Ja.
{
"model": "jev-1.13.0",
"answers": {
"is_urgent": {
"type": "noul",
"noul": 0.95
}
},
"usage": { "input_tokens": 307, "output_tokens": 20 }
}Nutzungsfelder
input_tokensinteger · Anzahl der von der Anfrage verwendeten Eingabetokens.
output_tokensinteger · Anzahl der von der Anfrage generierten Ausgabetokens.
API-REFERENZ
Kontext auswerten und strukturierte Antworten zurückgeben
Vollständige HTTP-API-Referenz: Werte einen Kontext anhand typisierter Fragen aus und erhalte für jede Frage eine strukturierte Antwort.
Auswertungs-Endpunkt
Sende bei jeder Anfrage einen Authorization-Bearer-API-Schlüssel und den Content-Type application/json.
Authorization: Bearer <API_KEY>
Content-Type: application/jsonAnfragekörper
Jede Anfrage benötigt die folgenden drei Felder auf oberster Ebene. questions ist eine Zuordnung mit frei gewählten Schlüsseln, die in der Antwort wiederverwendet werden.
statestring | object | array · erforderlich: der auszuwertende Text oder strukturierte Kontext.modelstring · erforderlich: das Modell für die Anfrage. Verwende TypeSafes Flaggschiffmodell jev-latest.questionsmap<string, Question> · erforderlich: die parallel auszuwertenden Fragen.Du wählst jeden Schlüssel in questions; die passende Antwort kommt unter derselben ID zurück. Der Schlüssel wird nicht an das zugrunde liegende Modell gesendet und nicht für die Inferenz verwendet.
Anfragebeispiel
curl -X POST https://thejevai.com/v1/systemone \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}'Beispiel für den Anfragekörper
{
"state": "Help! My payouts have been failing for 3 days.",
"model": "jev-latest",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
}
}
}Speichere deinen API-Schlüssel in einer serverseitigen Umgebungsvariablen. Füge ihn niemals in Browser-Code ein und committe ihn nicht in dein Repository. Diese Seite enthält Anfragefelder, Fragetypen, Antwortstruktur, Fehlercodes und Wiederholungsverhalten.
AGENT-NUTZUNG
Jev in einem Coding-Agenten verwenden
Der Jev Agent Skill zeigt Codex, Claude Code, Cursor und anderen kompatiblen Agenten, wie sie diese API für begrenzte Entscheidungen aufrufen und Ausführung sowie Berechtigungen deiner Anwendung überlassen.
Installieren und konfigurieren
Installiere den Skill, erstelle einen Jev-KI-API-Schlüssel und wähle die Sprache für Einrichtung und Beispiele.
Einmal konfigurieren
Nutze Umgebungsvariablen, damit der API-Schlüssel nicht in Quellcode, Protokollen oder Agent-Transkripten landet.
Eine eingegrenzte Frage stellen
Teile dem Agenten mit, welche Entscheidung ansteht. Er sollte Choice, Score oder Noul wählen und nur den nötigen Kontext senden.
Installieren und konfigurieren
npx skills add jev-ai/jev-agent-skill
export JEV_API_KEY="sk_your_key_here"
export JEV_LANGUAGE="en-US"Erstelle einen Schlüssel unter https://thejevai.com/settings/apikeys. Englisch (en-US) ist die Standardsprache; mit JEV_LANGUAGE=zh-CN erhältst du die Anleitung auf vereinfachtem Chinesisch. Füge niemals einen echten Schlüssel in Quellcode oder einen öffentlichen Prompt ein.
Fünf sinnvolle Einstiege
Kopiere nach der Installation einen dieser Prompts. Sie zeigen, wie ein Agent Jev für Entscheidungen nutzen kann, ohne Jev die Berechtigung zur endgültigen Aktion zu geben.
Supportticket weiterleiten
Nutze Choice, um ein freigegebenes Team auszuwählen. Der Anwendungscode leitet das Ticket weiter und schickt unsichere Fälle zur Prüfung.
Nutze den Jev Agent Skill. Ordne dieses Supportticket genau einem Team zu: billing, technical, account oder sales. Gib das ausgewählte Team, die Wahrscheinlichkeiten und die Konfidenz zurück. Kontaktiere den Kunden nicht und ändere das Ticket noch nicht.
Ticket: Mir wurde mein Jahresabo doppelt berechnet und ich brauche eine Rückerstattung.Tool-Aufruf absichern
Nutze Noul, um zu beurteilen, ob eine geplante Aktion eine Freigabe braucht. Deterministische Berechtigungen und Richtlinien bleiben maßgeblich.
Nutze den Jev Agent Skill, bevor du diesen vorgeschlagenen Tool-Aufruf ausführst. Beurteile, ob er ohne menschliche Freigabe sicher ist. Berücksichtige Nebenwirkungen, Umkehrbarkeit, Umfang und Richtlinien. Führe ihn bei Risiken oder Unsicherheit nicht aus.
Tool: delete_customer_records
Argumente: {where: last_login < 2023-01-01}
Richtlinie: Destruktive Datenbankoperationen erfordern ein Backup und menschliche Freigabe.An ein freigegebenes Modell weiterleiten
Nutze Choice für zugelassene Kandidaten und eine separate Noul-Frage, wenn keiner geeignet ist.
Wähle mit dem Jev Agent Skill ein freigegebenes Modell für diese Aufgabe. Priorisiere die Qualität, danach Kontextkapazität und Kosten. Gib das ausgewählte Modell, die Wahrscheinlichkeiten und an, ob eskaliert werden soll. Rufe noch kein Modell auf.
Aufgabe: einen Kundenstreitfall mit 100k Tokens prüfen.
Kandidaten: fast-model (32k, geringe Kosten), reasoning-model (200k, hohe Kosten), fallback-model (128k, mittlere Kosten).Forschungsbelege prüfen
Nutze Noul, um zu beurteilen, ob Belege ausreichen, bevor ein Agent eine Aussage veröffentlicht oder zitiert.
Nutze den Jev Agent Skill, um zu prüfen, ob die Belege ausreichen, um diese Aussage zu veröffentlichen. Berücksichtige die Qualität und Aktualität der Quellen, ihre direkte Aussagekraft und mögliche Widersprüche. Gib eine Ja-Wahrscheinlichkeit und noch nötige Prüfschritte zurück. Veröffentliche die Aussage noch nicht.
Aussage: Unsere API hat die mediane Verarbeitungszeit um 40 % reduziert.
Belege: ein interner Benchmark vom letzten Monat mit 120 Fällen; keine Produktionsdaten; ein älterer Bericht mit einer Verbesserung von 12 %.Aufgabenerledigung prüfen
Nutze Choice oder Score, um vor einer Erfolgsmeldung zu entscheiden, ob die Arbeit abgeschlossen, noch zu prüfen oder unvollständig ist.
Nutze den Jev Agent Skill, um zu prüfen, ob diese Aufgabe abgeschlossen ist. Gib complete, verify_more oder incomplete zurück. Berücksichtige das Ziel, geänderte Dateien, ausgeführte Tests, bekannte Lücken und die Prüfung in der Zielumgebung.
Ziel: API-Schlüsselauthentifizierung für den Produktiv-Endpunkt hinzufügen.
Erledigt: Authorization-Prüfung und API-Schlüsselabfrage hinzugefügt.
Prüfung: Unit-Tests bestanden; Produktionsanfrage und Ratenbegrenzung wurden nicht getestet.FEHLERBEHANDLUNG
Fehler und Wiederholungen
Der Endpunkt verwendet standardmäßige HTTP-Statuscodes und liefert eine JSON-Antwort mit einer Fehlerbeschreibung zurück.
401Nicht autorisiert: Der API-Schlüssel fehlt oder ist ungültig. Prüfe den Authorization-Header.422Anfrage nicht verarbeitbar: Der Anfragekörper besteht die Validierung nicht, etwa wegen eines fehlenden Felds oder einer fehlerhaften Frage. Die Antwort nennt das betroffene Feld.429Zu viele Anfragen: Das Ratenlimit wurde überschritten. Warte und versuche es erneut.529Überlastet: Der Dienst ist vorübergehend überlastet. Warte und versuche es erneut.Wenn du 429 oder 529 erhältst, wiederhole die Anfrage mit exponentiellem Backoff, statt sie sofort erneut zu senden. SDKs mit Standard-Wiederholungsrichtlinie können dies automatisch übernehmen.
Wie geht es weiter?
Beginne mit einer risikoarmen, klar eingegrenzten Entscheidung. Verbinde sie anschließend mit Routing, Warteschlangen, Schutzprüfungen oder einem Agent-Workflow, sobald du weißt, wo das Signal nützlich ist.