diffox
Blog

Wie wir Jev im KI-Code-Review für zwei Aufgaben einsetzen

Das Entscheidungsmodell Jev antwortet mit Zahlen statt Text. Wir nutzen es für zwei Aufgaben; die Messung ergibt: Es vergleicht, es urteilt nicht.

TeilenXLinkedIn

Zusammenfassung. Ein Entscheidungsmodell (Decision Model) ist ein KI-Modell, das keinen Text schreibt und typisierte Fragen mit einer Zahl beantwortet. diffox ultra nutzt das Modell Jev von TypeSafe in der vierten Phase eines Reviews, in der es entscheidet, welche Feststellungen veröffentlicht werden. Wo es hilft und wo nicht, haben wir im September 2026 gemessen; dieser Beitrag beschreibt die Messungen und was wir daraus gelernt haben.

  • Zwei Aufgaben. Vor der Auswahl beantwortet es zehn Fragen zu jeder Kandidaten-Feststellung; nach der Auswahl findet es die Feststellungen, die auf dieselbe Ursache zurückgehen, und fasst sie zu einer zusammen.
  • Wo es hilft: beim Vergleichen. Auf die Frage, ob zwei Feststellungen denselben Fehler beschreiben, markierte es 47 Paare, und 46 davon waren tatsächlich derselbe Fehler.
  • Wo es nicht hilft: beim Urteilen. Bei der Frage „Ist diese Feststellung echt?“ unterschied es nicht besser als die Konfidenz des Modells, das die Feststellung geschrieben hat.
  • Die Regel. Lassen Sie ein Entscheidungsmodell wählen, nicht urteilen: „Sind diese beiden gleich?“, „Welche?“, „Welche Stufe?“.

Wie ein Entscheidungsmodell antwortet

2Aufgaben in diffox ultra
10Fragen pro Kandidaten-Feststellung
46/47richtig markierte Duplikate
374gemessene Feststellungspaare

Die ersten drei Beiträge haben die Ergebnisse von diffox, seinen Preis und die vier Phasen eines Reviews beschrieben. Dieser Beitrag handelt von einem Modell, das in einer dieser Phasen läuft und keinen einzigen Satz schreibt.

Wer einem Sprachmodell eine Frage stellt, bekommt einen Text zurück. Ein Entscheidungsmodell bekommt dagegen einen Zustand und typisierte Fragen und beantwortet jede mit einer einzigen Zahl: einer Ja-Wahrscheinlichkeit, einer Verteilung über Optionen oder einer Stufe auf einer Skala. Alle Fragen einer Anfrage beantwortet es gemeinsam. Jev von TypeSafe ist ein solches Modell; TypeSafe nennt es ein „System One“-Modell.

BEISPIEL. Ein Entscheidungsmodell antwortet mit Zahlen statt Text. Eingabe: Titel des Pull Requests: Wiederholungsgrenze auf 3 gesenkt; Agent, der die Feststellung schrieb: ➗ Logic Agent; Feststellung: Grenzbedingung lässt einen Versuch zu viel zu; Änderung in der Datei: retry.ts, 12 Zeilen. Drei Arten von Antwort: Ja / Nein, Kommt das Problem aus den Zeilen dieser Änderung? 0,91 ja. Auswahl, Was behauptet die Feststellung? falsches Ergebnis 0,72, Absturz 0,18, Härtung 0,10. Stufe, Würde ein Reviewer das kommentieren? 4 / 5, sicher.
Was ein Entscheidungsmodell bekommt und seine drei Arten von Antwort, an einer Beispiel-Feststellung.

Weil die Antwort kein Text ist, wird zweierlei einfacher: mit einer Schwelle entscheiden und die Antwort mit anderen Signalen verrechnen. Etwas anderes wird schwerer: Das Modell beantwortet nur die gestellte Frage und sagt nie, dass sie falsch gestellt war. Welche Fragen sich lohnen, mussten wir deshalb durch Messen herausfinden.

Was Jev in diffox ultra tut

Ein Review durchläuft vier Phasen: Kontext, Spezialistenprüfung, Belegprüfung sowie Auswahl und Ausgabe. Jev läuft nur in diffox ultra und nur in der vierten Phase. Die Belegprüfungen bleiben einfacher Code; das Hauptprodukt diffox nutzt kein Entscheidungsmodell.

2 Aufgaben, ein Entscheidungsmodell. In diffox ultra, in der vierten Phase: Auswahl und Ausgabe. 1. Vor der Auswahl: zehn Fragen. Zehn Antworten je Kandidat; sie fließen in die Bewertung ein. 2. Nach der Auswahl: dieselbe Ursache? Eine zweite Feststellung zum selben Fehler entfällt.
Die zwei Aufgaben des Entscheidungsmodells in diffox ultra, beide in der vierten Phase.

Die erste Aufgabe kommt vor der Auswahl. In diffox ultra lesen zwei getrennte Modelle die Änderung. Zu jeder Kandidaten-Feststellung aus diesen beiden Reviews bekommt das Entscheidungsmodell zwei Runden Fragen, und seine zehn Antworten fließen zusammen mit den eigenen Signalen der Feststellung in die Bewertung der Auswahl ein. Eine Feststellung, deren Bewertung die Schwelle überschreitet, wird veröffentlicht. Allein veröffentlicht das Entscheidungsmodell keine Feststellung und entfernt auch keine; seine Antworten sind eine der Eingaben der Bewertung.

Die zweite Aufgabe kommt nach der Auswahl. Die Feststellungen, die veröffentlicht werden sollen, gehen paarweise an das Entscheidungsmodell: „Beschreiben diese beiden dieselbe Ursache?“ Liegt die Antwort bei 0,5 oder darüber, entfällt die spätere, und die höher bewertete bleibt. Ein Kandidat, der auf den frei gewordenen Platz wartet, rückt nach, wenn er dieselbe Prüfung besteht. In der Belegprüfung führt Second Witness denselben Einwand an derselben Stelle zusammen; das Entscheidungsmodell dagegen findet Feststellungen, die in verschiedenen Zeilen stehen, aber auf denselben Fehler zurückgehen.

Antwortet das Entscheidungsmodell nicht, läuft das Review weiter: Die Auswahl geschieht ohne seine Antworten, die Duplikatprüfung entfällt, und das Protokoll des Reviews hält das fest.

Was wir das Entscheidungsmodell fragen

Die Fragen der ersten Aufgabe prüfen nicht, ob eine Feststellung stimmt, sondern was für eine Behauptung sie aufstellt und worauf sie sich stützt. Zu jeder Kandidaten-Feststellung bekommt das Entscheidungsmodell vier Dinge: den Titel des Pull Requests, den Agenten, der die Feststellung geschrieben hat, samt seiner Beschreibung, die Änderung in der Datei der Feststellung (höchstens 15.000 Zeichen) und den Text der Feststellung.

Die zehn Fragen, die das Entscheidungsmodell zu jeder Kandidaten-Feststellung beantwortet
FrageWorauf sie achtetAntwort
Auf dem Hauptpfad?Tritt der Fehler bei gewöhnlicher, gültiger Eingabe auf oder nur, wenn etwas anderes ausfällt, bei bösartiger Eingabe oder bei einer ungewöhnlichen Einstellung?Ja-Wahrscheinlichkeit
Eine Vorsichtsmaßnahme?Meldet die Feststellung ein falsches Ergebnis oder schlägt sie eine Vorsichtsmaßnahme vor: eine Validierung, eine Schutzprüfung, einen anderen Fehlertyp?Ja-Wahrscheinlichkeit
Sichtbare Wirkung?Würde ein Nutzer oder Aufrufer einen Unterschied merken, wenn es unbehoben bleibt? Toter Code, ein ungenutzter Import oder veraltete Doku machen keinen.Ja-Wahrscheinlichkeit
Stützt sich auf nicht Gezeigtes?Stützt sich die Behauptung auf Code, einen Aufrufer oder eine Einstellung, die hier nicht gezeigt werden?Ja-Wahrscheinlichkeit
Von dieser Änderung verursacht?Kommt das Problem aus Zeilen, die dieser Diff hinzufügt oder ändert, oder bestand es schon vorher?Ja-Wahrscheinlichkeit
Würde ein Reviewer kommentieren?Würde ein erfahrener Reviewer diesen Punkt kommentieren? Die Skala reicht vom Nicht-Erwähnen bis zum Blockieren des Merges.Stufe von 1 bis 5
Vergleich mit Geschwistercode?Stützt sich die Feststellung auf Geschwistercode in derselben Änderung, der dasselbe anders macht und die beabsichtigte Form zeigt?Ja-Wahrscheinlichkeit
Kleine Korrektur?Würde es genügen, einen Namen, Wert, Operator oder eine Bedingung zu ändern?Ja-Wahrscheinlichkeit
Vorsichtig formuliert?Sagt die Behauptung „könnte, vielleicht“, oder sagt sie bestimmt, was schiefgeht?Ja-Wahrscheinlichkeit
Beabsichtigt?Ist das beanstandete Verhalten, gemessen am Titel des Pull Requests und an der Form des Diffs, der Zweck dieser Änderung: etwas bewusst Entferntes, eine neue Grenze?Ja-Wahrscheinlichkeit

Neun der zehn sind Ja-Nein-Fragen, beantwortet mit einer Ja-Wahrscheinlichkeit; die übrige, die Reviewer-Frage, verlangt eine Stufe von 1 bis 5. Die zehn Antworten fließen zusammen mit den eigenen Signalen der Feststellung in die Bewertung der Auswahl ein: Schwere, Art, Ergebnis der Belegprüfungen und ob weitere Feststellungen auf dieselbe Stelle zeigen. Die Bewertung entscheidet dann, welche Feststellungen veröffentlicht werden. Jeder Agent bekommt außerdem ein, zwei Fragen zu seinem eigenen Thema; in die Bewertung gehen aber nur diese zehn Antworten ein.

Diesen Fragen ist gemeinsam, dass die Antwort schon vor dem Modell liegt. Ob ein Fehler auf dem Hauptpfad liegt, steht im Szenario der Feststellung; ob sie vorsichtig formuliert ist, zeigt der Satz selbst. Wir verlangen vom Entscheidungsmodell nicht, die Feststellung neu zu beurteilen. Es soll nur den Text vor sich lesen und einordnen.

Wo das Entscheidungsmodell hilft

Im September 2026 haben wir gemessen, wo das Entscheidungsmodell hilft. Grundlage waren Feststellungen, die vier verschiedene Review-Konfigurationen in Pull Requests von Open-Source-Projekten fanden; jede wurde mit Fehlern abgeglichen, die Menschen vorab markiert hatten. Das klarste Ergebnis gab es bei der Frage, ob zwei Feststellungen denselben Fehler beschreiben. Diese Frage verhindert, dass ein Fehler einen zweiten Kommentar bekommt.

BEISPIEL. Ein Fehler bekommt keine zwei Kommentare. Logic Agent: Grenzbedingung lässt einen Versuch zu viel zu (retry.ts, Zeile 41). Safety Net Agent: Der Test wertet den vierten Versuch als Erfolg (retry.test.ts, Zeile 58). Beschreiben diese beiden Feststellungen dieselbe Ursache? 0,97 ja. Die zweite entfällt; die erste, höher bewertete, bleibt.
Die Duplikatprüfung an einem Beispielpaar von Feststellungen.

Für 374 Paare von Feststellungen haben wir gefragt: „Dieselbe Ursache?“ 58 davon beschrieben tatsächlich denselben Fehler. Bei einer Schwelle von 0,5 markierte das Entscheidungsmodell 47 Paare, 46 davon zu Recht. Sein Trennwert lag bei 0,99; eine Regel, die nur „dieselbe Datei?“ fragt, erreicht 0,73. Der Trennwert ist die Wahrscheinlichkeit, dass ein zufälliges Paar mit demselben Fehler vor einem zufälligen Paar mit verschiedenen Fehlern landet: 0,5 entspricht einem Münzwurf, 1 ist fehlerfrei.

Dieselbe Art von Frage half auch an anderer Stelle: die Schwere einer Feststellung einer von vier Stufen zuzuordnen. Die genaue Übereinstimmung mit der von Menschen vergebenen Schwere lag beim eigenen Urteil der Engine bei 49,5 % und mit der Korrektur des Entscheidungsmodells bei 56,8 % (222 Feststellungen). Gemessen haben wir das, aber heute ist es in keinem der beiden Produkte eingeschaltet.

Wo es nicht hilft

Bei der Frage „Ist diese Feststellung echt?“ war dasselbe Modell schwach. 315 von 656 Feststellungen entsprachen einem bekannten Fehler. Der Trennwert des Entscheidungsmodells lag bei 0,64, die Konfidenz des Modells, das die Feststellung geschrieben hat, bei 0,65. Es war also nicht besser als ein Signal, das wir schon hatten.

Gut im Vergleichen, nicht im Urteilen. Zwei Feststellungen, ein Fehler? 46 / 47 der markierten Paare waren derselbe Fehler; Trennwert 0,99, die Regel „dieselbe Datei?“: 0,73. Ist diese Feststellung echt? Trennwert 0,64, Konfidenz des Modells, das sie schrieb: 0,65. Gemessen im September 2026 an 374 Paaren und 656 Feststellungen. Ein Trennwert von 0,5 ist ein Münzwurf, 1 ist fehlerfrei.
Wie gut dasselbe Modell bei zwei Fragen trennt: beim Vergleichen und beim Urteilen.

Die Frage enger zu fassen, änderte daran nichts: zwölf enge Fragen und ein gelerntes Modell, das sie kombiniert, hoben den Trennwert nur auf 0,67.

Der Unterschied liegt in der Frage selbst. Wer zwei Texte vergleicht, hat alle Belege vor sich. Ob sich Code wirklich so verhält, steht dagegen nirgends im Text; um das zu wissen, muss man den Code lesen und ein Szenario durchspielen. In diffox ist das die Arbeit der spezialisierten Agenten, und die Behauptung wird mit einem Zitat aus der Datei belegt.

Welches Werkzeug für welche Aufgabe?

In einem Review arbeiten vier Arten von Werkzeugen, und jede eignet sich für eine andere Aufgabe.

Die vier Arten von Werkzeug in einem Review: was sie liefern, ob dieselbe Eingabe dieselbe Antwort bekommt und ihre Aufgabe in diffox
WerkzeugLiefertGleiche Eingabe, gleiche AntwortAufgabe in diffox
Einfacher Codeein eindeutiges Ja oder NeinimmerBelegprüfungen, regelbasierte Detektoren
Entscheidungsmodelleine Wahrscheinlichkeit, eine Wahl oder eine Stufefast: erneut gefragt, höchstens 0,07 Abweichungin diffox ultra zehn Fragen und die Duplikatprüfung
Sprachmodell (LLM)Textneinspezialisierte Agenten; Titel und Korrekturvorschläge
Gelernter Selektoreine Bewertungimmerwelche Feststellungen veröffentlicht werden

Die Arbeitsteilung ergibt sich aus der Tabelle. Eine Frage, die eine feste Regel beantworten kann, geht an Code. Zwei vorliegende Dinge vergleichen oder eine von wenigen Optionen wählen: Das übernimmt das Entscheidungsmodell. Code lesen, ein Szenario durchspielen und es einem Leser erklären: Das übernimmt das Sprachmodell. All diese Signale in eine einzige Entscheidung „veröffentlichen oder nicht“ zu übersetzen, ist Sache des gelernten Selektors.

Sieben Lehren aus dem Einsatz eines Entscheidungsmodells

Was uns unsere eigenen Experimente gezeigt haben, als wir ein Entscheidungsmodell ins Produkt geholt haben:

  • Lassen Sie es wählen, nicht urteilen. Die Antwort auf „Sind diese beiden gleich?“, „Welche Stufe?“, „Welche?“ liegt vor ihm; die Antwort auf „Stimmt das?“ nicht.
  • Schicken Sie Fragen, die denselben Zustand teilen, in einer Anfrage. Eine weitere Frage verzögert die Antwort kaum. Eine unserer Phasen tat das nicht: Sie schickte eine Anfrage pro Feststellung und jedes Mal denselben Diff. Mit einer einzigen Anfrage schrumpfte der gesendete Zustand um 55 %.
  • Legen Sie die Version fest. Schwellen werden an den Wahrscheinlichkeiten einer Version gemessen. diffox ultra nutzt eine feste Version, keinen „latest“-Alias; ändert sich die Version, wird die Schwelle neu gemessen.
  • Vergleichen Sie ein neues Signal erst mit dem, was Sie schon haben. Ein neues Signal ist so viel wert, wie es zu den vorhandenen hinzufügt. Unsere Frage „Ist sie echt?“ fügte der eigenen Konfidenz der Feststellung nichts hinzu.
  • Nutzen Sie es als Eingabe, nicht als Schranke. In diffox ultra entfernen oder veröffentlichen die Antworten des Entscheidungsmodells allein keine Feststellung; sie gehen in die Bewertung der Auswahl ein. Das Einzige, was es entfernt, ist ein zweiter Kommentar zum selben Fehler.
  • Wählen Sie die Schwelle mit Blick auf den Leser. Die Schwelle der Duplikatprüfung ist 0,5: 46 der 47 markierten Paare sind richtig. Bei 0,9 gäbe es gar keinen Fehler, aber nur 36 % der Duplikate würden gefunden.
  • Kommt keine Antwort, soll das Review ohne sie weiterlaufen. Und es soll das im Protokoll festhalten: Eine fehlende Phase ist besser als eine still übersprungene.

Häufige Fragen

Was ist ein Entscheidungsmodell (Decision Model)?

Ein KI-Modell, das keinen Text schreibt. Sie geben ihm einen Zustand und typisierte Fragen, und es beantwortet jede mit einer Zahl: einer Ja-Wahrscheinlichkeit, einer Verteilung über Optionen oder einer Stufe auf einer Skala. Alle Fragen einer Anfrage beantwortet es gemeinsam. Jev von TypeSafe ist ein solches Modell; diffox ultra nutzt es in der Auswahlphase eines Reviews.

Worin unterscheidet sich ein Entscheidungsmodell von LLM-as-a-judge?

Bei LLM-as-a-judge liest ein Sprachmodell eine Ausgabe und schreibt sein Urteil als Text, oft mit Begründung. Ein Entscheidungsmodell schreibt keinen Text: Es liefert zu jeder Frage eine Ja-Wahrscheinlichkeit, eine Wahl oder eine Stufe und beantwortet alle Fragen einer Anfrage gemeinsam. Deshalb lässt sich seine Antwort leicht mit einer Schwelle vergleichen und mit anderen Signalen verrechnen; so nutzt diffox ultra es.

Nutzt auch diffox ein Entscheidungsmodell?

Nein. Das Entscheidungsmodell läuft nur in diffox ultra. In diffox entscheiden die eigenen Signale der Feststellungen, welche veröffentlicht werden, und einfacher Code führt denselben Einwand an derselben Stelle zusammen.

Sieht das Entscheidungsmodell meinen Code?

Zu jeder Kandidaten-Feststellung sieht es deren Text, die Änderung in ihrer Datei (höchstens 15.000 Zeichen), den Titel des Pull Requests und die Beschreibung des Agenten, der sie geschrieben hat. Das geht an TypeSafe, das das Modell bereitstellt, direkt oder über OpenRouter; welche Dienste genutzt werden, steht auf unserer Datenschutzseite.

Kann das Entscheidungsmodell eine Feststellung entfernen?

Allein nicht. Seine Antworten gehen in die Bewertung der Auswahl ein, und die Bewertung entscheidet, welche Feststellungen veröffentlicht werden. Das Einzige, was es entfernt, ist die zweite Feststellung zu derselben Ursache; die höher bewertete wird veröffentlicht.

Warum fragen Sie das Entscheidungsmodell nicht, ob eine Feststellung echt ist?

Wir haben es gemessen: Bei dieser Frage unterschied es nicht besser als die Konfidenz des Modells, das die Feststellung geschrieben hat. Ob sich Code wirklich so verhält, weiß man erst, wenn man ihn liest und ein Szenario durchspielt; in diffox tun das die spezialisierten Agenten, und die Behauptung wird mit einem Zitat aus der Datei belegt.

Gibt es auf dieselbe Frage immer dieselbe Antwort?

Fast. Erneut gefragt, wichen seine Antworten um höchstens 0,07 ab. Deshalb messen wir Schwellen an den Wahrscheinlichkeiten einer Version und legen die Version fest.