Registrieren Dashboard
25. September 2026

Wir haben unsere LLMs durch Jev ersetzt. Das ist 39 % günstiger.

Explore with AI

Wir bauen einen durchgehend aktiven On-Call-Agenten, der ständig Entscheidungen trifft, zum Beispiel:

  • Wie schwerwiegend ist dieses Problem?
  • Sollten wir in diesem Slack-Thread proaktiv werden?
  • Haben wir diesen Incident schon einmal gesehen?

Bis letzte Woche haben wir für diese Aufgaben LLMs verwendet. Sobald wir diese Woche Zugang zu Jev hatten, haben wir angefangen, damit zu experimentieren.

Was ist Jev?

Jev ist ein Entscheidungsmodell von TypeSafe AI. Es generiert keinen Text, sondern beantwortet Fragen zu deinen Daten mit typisierten Werten und kalibrierten Wahrscheinlichkeiten. TypeSafe bewirbt es für „intelligente If-Anweisungen“ – die Klassifizierungs-, Routing- und Bewertungsschritte, bei denen handgeschriebene Logik zu brüchig ist – und nennt 70 bis 500 ms pro Antwort bei kostenlosen Output-Tokens. Unsere Agenten treffen solche Entscheidungen den ganzen Tag, also haben wir es in Produktion gebracht.

Wie es funktioniert

Eine Anfrage besteht aus zwei Teilen: dem state, also dem Text oder JSON, zu dem du eine Entscheidung möchtest, und den questions, die beantwortet werden sollen. Jede Frage hat einen von drei Typen:

graph TB
    S["State: a message, thread, or evaluation case"] --> J["Jev"]
    Q["Questions"] --> J
    J --> N["Noul<br/>yes/no"]
    J --> C["Choice<br/>pick an option"]
    J --> R["Score<br/>rate against a rubric"]
    style J fill:#d1fae5,stroke:#6ee7b7,color:#065f46
    style N stroke:#3b7dd8,color:#2b5fa8
    style C stroke:#3b7dd8,color:#2b5fa8
    style R stroke:#3b7dd8,color:#2b5fa8

  • Noul gibt die Wahrscheinlichkeit für yes zurück.
  • Choice wählt eine der angegebenen Optionen aus.
  • Score gibt einen wahrscheinlichkeitsgewichteten Wert über eine geordnete Bewertungsskala zurück.

Anwendungsfall 1: Routing, oder wann sollte der Agent antworten?

Unsere Agenten sind auf Slack und Github proaktiv. Sie antworten auf Slack-Nachrichten oder Github-Kommentare, wenn sie dem Nutzer eine sinnvolle Einschätzung geben können. Die Agenten müssen handeln, wenn ein Nutzer es verlangt, ohne auf jedes Ereignis überzureagieren. Das ist ein perfekter Anwendungsfall für Jevs Noul-Fragen.

flowchart LR
    E["New event"] --> M["PR comment<br/>Slack message"]
    M --> J["Jev Noul<br/>Triage?"]
    J -->|Yes| W["Wake agent<br/>to follow up"]
    J -->|No| N["No action"]
    style J fill:#77a52d,stroke:#5c8023,color:#ffffff
    style W stroke:#77a52d,color:#5c8023
    style N fill:#e5e5e8,stroke:#d1d2d6,color:#47484d

  • Kommentare zu Pull Requests, die unsere Agenten eingereicht haben: Wenn ein Reviewer eine Änderung verlangt, wacht der Agent auf. Ein CI-Status-Update oder ein „Danke“ tut das nicht.
  • Slack-Channels: Der Agent meldet sich ungefragt nur dann zu Wort, wenn er eindeutig helfen kann, etwa bei einer direkten Infrastrukturfrage. Er hält sich raus, wenn sich Menschen untereinander abstimmen.
  • Slack-Threads, in denen der Agent ist: Er beantwortet Nachrichten, die für ihn bestimmt sind, ignoriert Menschen, die miteinander reden, und verlässt den Thread, wenn jemand ihn darum bittet.

Hier ist ein Beispiel für eine Jev-Anfrage, um zu bestimmen, ob ein Agent auf eine Slack-Nachricht reagieren sollte.

{
  "model": "jev-1.13.0",
  "state": {
    "slack_channel": "#Deployment",
    "user_message": "Watch this PR until fully deployed"
  },
  "questions": {
    "respond": {
      "type": "noul",
      "instructions": {
        "question": "Should the agent follow up on this user message?"
      }
    }
  }
}

Wir haben Jev etwa eine Woche laufen lassen und mit dem LLM verglichen, das wir zuvor für diese Aufgabe verwendet haben.

P90 latency

ms
DeepSeek V4.1 Flash 1,466 ms
Jev 472 ms

Cost per 1,000 calls

USD
DeepSeek V4.1 Flash $0.238
Jev $0.123
Figure 1
Antwort-Routing: Latenz und Kosten pro 1.000 Aufrufe

Das Routing wurde bei P90 3-mal schneller, von 1,5 Sekunden auf unter 500 ms, und die Kosten sanken um fast die Hälfte.

Anwendungsfall 2: Klassifizierung, oder was bedeutet die Evidenz?

Wir führen außerdem einige Aufgaben aus, bei denen der Agent Dinge in verschiedene Kategorien einordnen muss. Soll der Agent zum Beispiel anhand der vorliegenden Evidenz beginnen, das Problem zu untersuchen, soll er es als verwandt mit einem bestehenden Problem einordnen, oder handelt es sich um ein Duplikat eines bereits gelösten Problems?

Eine Jev-Choice-Frage verwandelt diese Evidenz in ein Label aus von uns definierten Kriterien, und der nächste Schritt wird anhand dieses Labels entschieden. Das sieht so aus:

flowchart LR
    I["New incident"] --> E["Evidence from tool calls"]
    E --> J["Jev Choice"]
    J -->|Same root cause| D["Defer to the original"]
    J -->|Related| L["Link both incidents"]
    J -->|Independent| N["Investigate on its own"]
    style J fill:#77a52d,stroke:#5c8023,color:#ffffff
    style D stroke:#77a52d,color:#5c8023
    style L stroke:#77a52d,color:#5c8023
    style N fill:#e5e5e8,stroke:#d1d2d6,color:#47484d

Wir führen auf diese Weise drei Klassifizierungen durch. Jede verwendet eine Choice-Frage mit expliziten Kriterien, und jede hat ein anderes LLM ersetzt, daher haben wir sie einzeln gemessen.

Sind diese Incidents miteinander verbunden?

Wenn ein neuer Incident eröffnet wird, vergleicht der Agent ihn mit bestehenden Incidents: Teilen sie eine Root Cause, sind sie verwandt, oder sind sie unabhängig voneinander? Dieses veranschaulichende Beispiel zeigt einen Kandidaten; ein Produktionsaufruf vergleicht mehrere gegen denselben neuen Incident.

{
  "model": "jev-1.13.0",
  "state": {
    "incident": "Checkout cannot authenticate to the database.",
    "candidate_0": "Billing cannot authenticate to the same database.",
    "evidence": "Both services use a credential revoked at 14:00."
  },
  "questions": {
    "candidate_0": {
      "type": "choice",
      "instructions": "How is candidate_0 connected to the new incident?",
      "criteria": {
        "duplicate_same_root_cause": "One underlying problem explains both",
        "related": "Distinct problems share a trigger or blast radius",
        "independent": "No evidenced connection"
      }
    }
  }
}

Durch den Wechsel zu Jev für diesen Anwendungsfall wurde es bei P90 fast 8-mal schneller, von 2,9 Sekunden auf unter 400 ms, und 27 % günstiger.

P90 latency

ms
GPT-OSS 120B 2,859 ms
Jev 373 ms

Cost per 1,000 calls

USD
GPT-OSS 120B $0.388
Jev $0.285
Figure 2
Incident-Verbindung: Latenz und Kosten pro 1.000 Aufrufe

Warum wurde dieser von uns eingereichte Pull Request geschlossen?

Unsere Agenten reichen Pull Requests bei Entwicklern ein, und eine unserer wichtigsten Erfolgskennzahlen ist die Merge-Rate. Wir müssen verstehen, warum Pull Requests geschlossen werden, um das Produkt verbessern zu können.

Wenn einer unserer Pull Requests geschlossen wird, ohne gemergt zu werden, liest der Agent die Reviews, die Diskussion und Verweise auf andere Arbeiten und wählt dann den Grund aus: Der Fix war falsch, ein Mensch hat es anders gelöst, das Problem war ein Fehlalarm, der Pull Request ist veraltet, oder das Verhalten war beabsichtigt.

Durch den Wechsel zu Jev für diesen Anwendungsfall haben wir die Latenz bei P90 auf das 6-Fache verbessert, aber nur 17 % günstiger gemacht.

P90 latency

ms
GPT-OSS 120B 2,379 ms
Jev 416 ms

Cost per 1,000 calls

USD
GPT-OSS 120B $0.123
Jev $0.102
Figure 3
Fix-PR-Schließungsgrund: Latenz und Kosten pro 1.000 Aufrufe

Wie dringend ist dieser Pull Request?

Bevor unsere Agenten einen Pull Request bei Entwicklern einreichen, müssen sie ihn einstufen, damit Dinge mit höherer Schwere nach oben steigen. Für diese Klassifizierung bewertet der Agent das zugrunde liegende Problem auf einer Skala von kritisch bis info. Er bewertet die aktuelle Auswirkung, nicht ein hypothetisches Risiko.

P90 latency

ms
DeepSeek V4.1 Flash 1,456 ms
Jev 313 ms

Cost per 1,000 calls

USD
DeepSeek V4.1 Flash $0.197
Jev $0.081
Figure 4
Autofix-Schweregrad: Latenz und Kosten pro 1.000 Aufrufe

Der Wechsel zu Jev hat hier die Kosten deutlich gesenkt: 59 % günstiger als DeepSeek V4.1 Flash, und bei P90 fast 5-mal schneller.

Jev ist bei jeder Klassifizierung schneller. Wo es GPT-OSS 120B ersetzt hat, liegt der Gewinn vor allem in der Latenz. Wo es DeepSeek V4.1 Flash ersetzt hat, hat es die Kosten außerdem um mehr als die Hälfte gesenkt.

Anwendungsfall 3: Ranking, oder wie wichtig ist diese Cloud-Ressource?

Um das Beste aus Polylane herauszuholen, verbinden Teams ihre Cloud-Konten. Wir erstellen einen Context Graph aller Cloud-Ressourcen, damit die Agenten die Beziehung zwischen Compute-Knoten, Datenbanken, Queues usw. schnell verstehen können.

Auf der Plattform gibt es Teams mit extrem stark ausgelasteten Cloud-Konten mit Zehntausenden von Knoten. Jeder Server, jede Sandbox, jede Datenbank und jede Queue ist ein Knoten in unserem Context Graph. Es ist notwendig, jeden dieser Knoten einzustufen, damit die Agenten wissen, was für deine Anwendung kritisch ist und was im Grunde bedenkenlos ausfallen darf.

Wir weisen jeder Ressource eine von vier Prioritätsstufen zu: Critical, Standard, Low oder Minimal.

flowchart LR
    C["Cloud account"] --> G["Context graph"]
    G -->|Each node + metrics| J["Jev Choice"]
    J --> T1["Critical"]
    J --> T2["Standard"]
    J --> T3["Low"]
    J --> T4["Minimal: fine to fail"]
    style J fill:#77a52d,stroke:#5c8023,color:#ffffff
    style T1 stroke:#77a52d,color:#5c8023
    style T2 stroke:#77a52d,color:#5c8023
    style T3 stroke:#77a52d,color:#5c8023
    style T4 fill:#e5e5e8,stroke:#d1d2d6,color:#47484d

Jev wertet für jede Ressource eine Choice-Frage aus, mit Kontext basierend auf Konfiguration, Umgebung, aktuellen Metriken und Abhängigkeiten.

{
  "model": "jev-1.13.0",
  "state": {
    "instructions": "Assign importance relative to the other resources in this cohort.",
    "cohort": [
      {
        "id": "database-a",
        "environment": "production",
        "daily_queries": 80000,
        "dependents": 6
      },
      {
        "id": "database-b",
        "environment": "preview",
        "daily_queries": 0,
        "dependents": 0
      }
    ]
  },
  "questions": {
    "resource_0": {
      "type": "choice",
      "instructions": "Assign the importance tier for database-a.",
      "criteria": {
        "1": "Critical: substantial production traffic or blast radius",
        "2": "Standard: active and operationally relevant",
        "3": "Low: limited activity or importance",
        "4": "Minimal: idle or disposable, without meaningful dependents"
      }
    }
  }
}

Beim Ranking glänzt Jev am meisten: bei P90 mehr als 10-mal schneller, von 5,4 Sekunden auf etwa eine halbe Sekunde, und 34 % günstiger. Es ist außerdem unsere Entscheidung mit dem höchsten Volumen, daher treibt sie den Großteil der Gesamteinsparungen an.

P90 latency

ms
GPT-OSS 20B 5,445 ms
Jev 511 ms

Cost per 1,000 calls

USD
GPT-OSS 20B $0.817
Jev $0.542
Figure 5
Ressourcen-Ranking: Latenz und Kosten pro 1.000 Aufrufe

Zusammenfassung

Insgesamt hat Jev deutliche Reduktionen bei Latenz und geschätzten Kosten pro 1.000 Aufrufe geliefert:

  • Reduktion der P90-Latenz: 4.752 ms —> 508 ms.
  • Reduktion der Kosten pro 1.000 Aufrufe: $0.76199 —> $0.46369.

P90 latency

ms · lower is better
LLMs
4,752 ms
Jev
508 ms

Cost per 1,000 calls

USD · lower is better
LLMs
$0.76199
Jev
$0.46369
Figure 6
Jev vs LLMs on P90 latency and cost per 1,000 calls
89.3%
faster at P90
4,752 ms to 508 ms
39.1%
lower cost per 1,000 calls
$0.76199 to $0.46369 per 1,000 calls

Pro Modell ist Jev sowohl am schnellsten als auch am günstigsten: etwas günstiger als DeepSeek V4.1 Flash und deutlich unter beiden GPT-OSS-Modellen.

Swipe to see every point.

$0.00 0 ms $0.25 1,500 ms $0.50 3,000 ms $0.75 4,500 ms $1.00 6,000 ms P90 latency (lower is better) Cost per 1,000 calls (lower is better) OpenAI GPT-OSS 20B: P90 latency 5,445 ms, Cost per 1,000 calls $0.82 OpenAI GPT-OSS 20B DeepSeek V4.1 Flash: P90 latency 1,372 ms, Cost per 1,000 calls $0.51 DeepSeek V4.1 Flash OpenAI GPT-OSS 120B: P90 latency 2,255 ms, Cost per 1,000 calls $0.74 OpenAI GPT-OSS 120B TypeSafe AI Jev: P90 latency 508 ms, Cost per 1,000 calls $0.46 TypeSafe AI Jev
Figure 7
Latenz und Kosten pro 1.000 Aufrufe nach Modell

Überall dort, wo unsere Agenten aus einer festen Menge an Antworten wählen, ist Jev jetzt die Standardwahl: Es ist bei jeder Entscheidung, die wir umgestellt haben, schneller und günstiger.

Niemand sollte On-Call sein. Polylane beobachtet deine Infrastruktur, untersucht und repariert, was kaputtgeht.

Registrieren

Weiterlesen