Jev AI

ENTWICKLERDOKUMENTATION

Mit Jev entwickeln

Beginne mit einer echten Entscheidung: Stelle den Kontext bereit, definiere typisierte Fragen und übergib das wahrscheinlichkeitsbasierte Ergebnis an deinen Code.

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. 1

    Spielwiese öffnen

    Melde dich an, öffne die Jev-KI-Spielwiese und gib einen realen Geschäftskontext ein.

  2. 2

    Kontext vorbereiten

    Nutze Text, ein JSON-Objekt oder ein Textarray, um den benötigten Entscheidungskontext bereitzustellen.

  3. 3

    Fragen hinzufügen

    Wähle Choice, Score oder Noul. Du kannst alle drei Typen in einer Anfrage kombinieren.

  4. 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.

text

Natürliche Sprache, ein Ticket oder eine Nachricht

object

Strukturierte Datensätze und verschachtelte Felder

array

Kontext 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.

TypVerwendungRückgabewerte
Choice
Klassifizieren oder anhand von Optionen weiterleitenChoice · Wahrscheinlichkeiten · Konfidenz
Score
Kontext anhand einer geordneten Skala bewertenScore · Legende · Wahrscheinlichkeiten · Konfidenz
Noul
Beurteilen, ob eine Aussage zutrifftNoul (Ja-Wahrscheinlichkeit)

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.

type

Erforderlich: noul, choice oder score.

instructions

Erforderlich: eine Zeichenfolge, ein Objekt oder Array, das die Entscheidung beschreibt.

criteria

Typspezifisch: 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.

type

Erforderlich; der Wert ist choice.

choice

Erforderliche Zeichenfolge; die Option mit der höchsten Wahrscheinlichkeit.

probabilities

Erforderliche Zuordnung aus Zeichenfolgen zu Zahlen; die Wahrscheinlichkeiten aller Optionen ergeben zusammen 1.

confidence

Erforderliche 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.

type

Erforderlich; der Wert ist score.

score

Erforderliche Zahl; der wahrscheinlichkeitsgewichtete Score über alle Stufen.

legend

Erforderliche Zuordnung von Zeichenfolgen zu Zeichenfolgen; verbindet jede Stufennummer mit ihrer Beschreibung.

probabilities

Erforderliche Zuordnung von Zeichenfolgen zu Zahlen; jede Stufe und ihre Wahrscheinlichkeit ergeben zusammen 1.

confidence

Erforderliche 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.

type

Erforderlich; der Wert ist noul.

noul

Erforderliche 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_tokens

integer · Anzahl der von der Anfrage verwendeten Eingabetokens.

output_tokens

integer · 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

POST https://thejevai.com/v1/systemone

Sende bei jeder Anfrage einen Authorization-Bearer-API-Schlüssel und den Content-Type application/json.

Authorization: Bearer <API_KEY>
Content-Type: application/json

Anfragekö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.

1

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.
2

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.
3

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).
4

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 %.
5

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.
Der Skill zeigt einem Agenten, wann und wie er Jev um eine Einschätzung bittet. Er erstellt kein Tool, erteilt keine Berechtigungen, fängt keine Shell-Aufrufe ab und ersetzt weder Berechtigungen noch deterministische Regeln oder menschliche Freigaben.

FEHLERBEHANDLUNG

Fehler und Wiederholungen

Der Endpunkt verwendet standardmäßige HTTP-Statuscodes und liefert eine JSON-Antwort mit einer Fehlerbeschreibung zurück.

StatusBedeutung
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.