Wie das Leaderboard zustande kommt.
Diese Seite beschreibt das Bewertungs-Verfahren in vollem Umfang. Die Standalone-Pipeline produziert pro Lauf einen reproduzierbaren JSONL-Datensatz; dieser ist im Audit-Trail öffentlich zugänglich und ersetzt jede Behauptung, die nicht durch Daten belegt ist.
Bootstrap-Konfidenzintervalle & Rang-Gleichstand
Pro (Modell × Domäne) werden 1000 Bootstrap-Resamples auf den Cell-Scores gezogen, das 95-%-Perzentil-Intervall publiziert. Kein Punktwert ohne Unsicherheits-Angabe — eine Score-Differenz, die innerhalb der CI-Bänder liegt, ist statistisch nicht differenzierbar und wird auch nicht als Ranking-Differenz behauptet.
Konkret: Der aktuelle Lauf umfasst 126 Items (Steuerrecht 31 · Medizin 30 · Jura 35 · Wirtschaftsrecht 30). Die halbe Breite des 95-%-Bootstrap-CI liegt über alle Modelle im Median bei ±3 Punkten gesamt, pro Domäne: Steuerrecht ±6 (N=31), Medizin ±5 (N=30), Jura ±6 (N=35), Wirtschaftsrecht ±7 (N=30). Abstände unterhalb der halben CI-Breite einer Domäne sind dort nicht belastbar; die Ranglisten markieren solche Gruppen als „statistisch gleichauf". Zwei Modelle, deren CI-Bänder sich überlappen, werden auf der Ranking-Seite nur dann als geteilter Rang gezeigt, wenn ihr top100-Score exakt identisch ist; ansonsten steht die Reihenfolge, aber der Abstand ist innerhalb des CI nicht belastbar. Mit wachsender Item-Bank verengen sich die Bänder — die Item-Zahl pro Domäne steht auf jeder Lauf-Seite unter /runs.
Empfehlung bei unvollständiger Abdeckung: Antwortet ein Modell wegen technischer Ausfälle (Timeouts, leere Antworten) nicht auf jedes Item, bleibt die Rangliste so, wie sie gemessen wurde — nur die Empfehlungs-Plakette folgt zwei Prüfungen. Erstens: Wer mindestens 95 % der Items beantwortet hat, ist ohne Abschlag empfehlbar; eine Handvoll Transportfehler ist kein Qualitätssignal. Zweitens, für Modelle darunter: Werden alle fehlenden Items pessimistisch mit 0 gewertet und das Modell liegt dann immer noch vor dem bestabgedeckten Modell, ist der Vorsprung kein Artefakt der Lücke und die Empfehlung bleibt beim Führenden. Nur wenn beides scheitert, wandert die Plakette zum besten Modell mit ausreichender Abdeckung — mit Begründung und beiden Zahlen direkt unter dem Treppchen. Bis September 2026 galt starr „nur volle Abdeckung", was im Lauf vom 10. September ein um zehn Punkte schwächeres Modell wegen eines einzigen fehlenden Items auf die Empfehlung gehoben hätte.
Konsequenz für Leser: Wenn die Ranking-Grafik zwei Modelle als gleichauf zeigt, dann ist jedes der beiden eine gleich gut belegte Wahl. Wer eine harte Tie-Break-Regel braucht, findet die Halluzinations-Rate und das Inter-Rater-Agreement pro Cell im Audit-Trail — beides Tie-Breaker, die nicht auf einer Schein-Genauigkeit des Mittelwerts beruhen.
Die folgenden Abschnitte dokumentieren das Verfahren im Detail.
Jeder Punkt ist eingeklappt — klick zum Aufklappen oder folge einem
direkten Anchor-Link (z. B. /methodik#triple-judge).
Anchor-Links öffnen den jeweiligen Abschnitt automatisch.
Wie ist die Frage-Bank pro Domäne aufgebaut?
Jede der vier Domänen hat eine versionierte Frage-Bank im Repository. Die Bank trennt zwei Arten:
- Öffentliche Items — direkt aus zugänglichen Quellen abgeleitet (BFH-Urteile, BGH-Entscheidungen, medizinische Leitlinien, juristische Standardliteratur). Diese messen, wie gut ein Modell etablierte Inhalte beherrscht.
- Synthetische Items — von einem Proposer-Modell erstellt, von einem Reviewer-Modell kritisiert, vom Inhaber human-freigegeben. Realitätsnahe Mandatsfälle mit verflochtenen Faktoren — keine Lehrbuch-Aufgaben. Diese messen, wie gut ein Modell unbekannte Konstellationen bewältigt, und eliminieren den Trainings-Effekt sowie den Tool-Such-Vorteil.
Frage-Bank-Versionierung über Git: ein zweiter Lauf gegen dieselbe
question_bank_version produziert byte-identische
Antworten. Methodik-Änderungen triggern eine neue Version; alte
Datenpunkte bleiben unter ihrer Original-Version sichtbar.
raw.jsonl
werden außerdem die Modell-Antwort-Texte und die wörtlich
extrahierten Halluzinationen entfernt, weil daraus die
Original-Items rekonstruierbar wären.
Die aggregierten Cross-Domain-Validations-Resultate
sind dagegen vollständig offen im
öffentlichen Validations-Gist
(10 Files: Methodik, Legal Study, Medical Study, Limitations,
Critique Response, …) — kein einzelner Item-Text darin
enthalten. Roh-Antworten gibt es ausschließlich auf direkte
NDA-Anfrage.
Welche Modelle werden bewertet — und wie ist die Tool-Konfiguration?
Bewertet werden alle aktivierten Spitzen-Modelle der vier
Provider — typischerweise Anthropic, OpenAI, Google, Mistral.
Plug-in-Pattern via models.json: neue Anbieter werden
per Konfig-Eintrag aktiviert, kein Code-Eingriff nötig.
Pro Cell wird das Modell zweimal getestet: einmal solo (kein
Tool-Zugriff) und einmal mit aktivierter Tool-Registry
(web_search, doc_retrieval,
pubmed_search, arxiv_search,
url_fetch). Beide Reihen werden separat publiziert,
weil die Modell-Reihenfolge sich zwischen den beiden Modi spürbar
verschieben kann.
Wichtiger noch: das beste Modell wechselt von Frage zu Frage — auch innerhalb derselben Domäne. Warum eine einzelne Ranking-Prozentzahl deshalb täuscht (und was das „Orakel" / Bester-pro-Frage bedeutet): Ranking → Kein Modell ist überall vorn.
Wie wird bewertet — Closed-Items, Open-Items, Halluzinations-Erkennung?
Items kennen zwei Antworttypen:
- Closed-Items erwarten eine konkrete Antwort (Zahl, Multiple-Choice, exakter Wert). Bewertet via Regex- oder Range-Match: 1 oder 0 pro Item.
- Open-Items erwarten eine ausformulierte
Begründung. Bewertet von einem dedizierten Open-Rubric-Judge
der für jeden hinterlegten Soll-Fakt entscheidet:
entail(im Modell-Output enthalten),missing(fehlt) odercontradict(widerspricht).
Zusätzlich erfasst der Judge in jeder Antwort Extra-False-Claims — frei erfundene Behauptungen jenseits der Soll-Rubric. Erfundene Aktenzeichen, falsche Paragraphen-Nummern, frei erfundene Studien, falsche Zahlen werden wortwörtlich extrahiert, intern archiviert, und in aggregierter Form pro Lauf als Halluzinations-Rate publiziert.
Halluzinationsrate — was genau wird gezählt?
Zähleinheit ist die Behauptung, nicht die Antwort. Jeder
Judge liest die Antwort gegen die hinterlegten Soll-Fakten und liefert zwei
Listen: (1) Soll-Fakten, denen die Antwort aktiv widerspricht
(contradicted), und (2) Behauptungen außerhalb der Rubrik, die
faktisch falsch oder unbelegt sind (extra_false_claims),
insbesondere erfundene Aktenzeichen, falsche Paragraphen, falsche Zahlen,
erfundene Studien oder Personen. Beide Listen zusammen ergeben die
Falschbehauptungen einer Antwort.
Getrennt ausgewiesen (seit 2026-09-08): Die Kopfzahl
ist der Widerspruch zu Soll-Fakten (contradicted,
nachweislich falsch gegen den hinterlegten Schlüssel). Die
zusätzlichen Behauptungen (extra) werden separat
gezeigt; bis einschließlich Lauf 2026-09-07 sind darin „falsch" und
„unbelegt" nicht unterscheidbar, ab code_version 0.2.10 ordnet jeder
Judge jede Behauptung als falsch oder unbelegt
ein, und beide Anteile werden publiziert. Für ältere Läufe wurde der
Widerspruchs-Anteil aus den öffentlichen Roh-Daten nachberechnet
(dort als Maximum über die Judges, also leicht konservativ).
Publizierte Kennzahlen pro Modell und Domäne: der Anteil der Antworten mit mindestens einer Falschbehauptung (auf der Ranking-Seite als Prozent unter dem Score), die mittlere Zahl Falschbehauptungen pro Antwort und daraus das Band 0–100 (100 = keine, 75 = eine, 50 = zwei, 0 = vier oder mehr pro Antwort).
Konservativ, nicht mild: Über die Judges wird die Vereinigung gebildet — eine Behauptung zählt, sobald ein Judge sie markiert. „Unbelegt" zählt mit, auch wenn die Aussage zufällig wahr sein könnte, weil ein Berufsträger eine unbelegte Aussage ebenfalls nicht übernehmen darf. Die Prüfung erfolgt aus dem Wissen der Judge-Modelle, nicht per Datenbank-Abgleich; deshalb ist ein hoher Wert ein Signal für Nachprüfungsbedarf, keine Zählung gerichtsfester Fehler. Die Roh-Listen liegen im lokalen Archiv und sind auf NDA-Anfrage einsehbar — im öffentlichen JSONL fehlen sie, weil sie Item-Text paraphrasieren.
Wer bewertet — und wie unabhängig sind die Judges?
Jede Open-Item-Antwort wird von 4 Judge-Modellen bewertet: GPT-5 · Claude Opus 4.8 · Claude Opus 4.7 · Mistral Large 2. Die Antworten erreichen den Judge source-label-blinded: kein Judge weiß, welches Modell die zu bewertende Antwort produziert hat. Aggregiert wird über den Mittelwert der Judge-Scores; das Inter-Rater-Agreement wird pro Zelle publiziert.
Ursprünglich waren es drei Judges aus drei Anbieter-Familien (Anthropic, OpenAI, Mistral). Seit Mai 2026 bewertet zusätzlich Claude Opus 4.8, seit dem Wechsel auf Opus 4.7 + 4.8 stellt Anthropic also zwei der vier Judges. Die Judge-Besetzung wird nicht mitten in der Serie geändert, weil sie die Skala aller historischen Läufe definiert.
Warum die Judge-Übereinstimmung heute bei ~70 % liegt und in der Validierungs-Phase bei ρ ≥ 0,84: Es sind zwei verschiedene Maße. Der Validierungswert war ein Korrelationsmaß (ρ) zwischen Judge-Paaren auf der Pilot-Bank; der publizierte Wert ist der Anteil der Soll-Fakten, bei denen alle vier Judges dasselbe Urteil fällen — ein strengeres Kriterium, das mit jedem zusätzlichen Judge sinkt und auf der V1-Bank (6–10 Soll-Fakten pro Item, längere Antworten mit mehr Grenzfällen) zwischen 0,67 und 0,72 liegt. Beide Zahlen sind nicht vergleichbar; die 0,84 gilt nicht für den Regelbetrieb.
Judge-Overlap & Self-Preference — bewerten Modelle sich selbst?
Ja, teilweise, und das ist der wichtigste methodische Vorbehalt dieses Rankings. Vier der bewerteten Modelle sind zugleich Judges (Opus 4.7, Opus 4.8, GPT-5, Mistral Large), und alle Anthropic-Modelle im Panel (Opus 4.7, 4.8, Opus 5, Fable 5.1) werden von zwei Anthropic-Judges mitbewertet. Source-Label-Blinding verhindert, dass ein Judge weiß, wessen Antwort er liest — es verhindert nicht, dass ein Modell den Stil seiner eigenen Familie bevorzugt (Self-Preference-Bias).
Gemessen, nicht versprochen: Seit code_version 0.2.8
speichert der Runner die Einzelscores jedes Judges pro Zelle und
publiziert pro Modell self_judge_delta = Score mit allen
Judges minus Score nur mit anbieterfremden Judges (in Punkten; positiv
= die eigene Familie bewertet großzügiger). Aktueller Lauf:
Anthropic: +1,3 … +2,6 · OpenAI: -4,2 … -2,5 · Mistral: +4,4 Punkte. Die Anthropic-Modelle
gewinnen die Domänen also auch ohne Anthropic-Judges, mit 2–3 Punkten
weniger Abstand; der Headline-Score bleibt bewusst der All-Judge-
Mittelwert, damit die Skala der Serie stabil bleibt. Werte pro Modell
stehen auf jeder Lauf-Seite („Δ eigene Familie").
Für Läufe vor 0.2.8 ist die Kennzahl nicht rückwirkend berechenbar.
Ein fünfter Judge aus einer bisher unbeteiligten Familie (z. B. Google) würde die Skala aller bisherigen Läufe verschieben und ist nur mit einem Kalibrierungslauf (alte und neue Besetzung bewerten dieselben Zellen) vorgesehen.
Wie ist Reproduzierbarkeit gesichert?
Sampling-Parameter sind deterministisch: temperature=0
(außer bei Reasoning-Modellen, die das nicht akzeptieren). Frage-Bank
ist git-versioniert. Modell-Konfig (models.json) ist
git-versioniert. Tool-Konfig ist git-versioniert. Ein zweiter Lauf
gegen dieselbe Version + dieselben Modelle muss innerhalb der
dokumentierten Toleranz dieselben Scores produzieren — Abweichungen
werden als Audit-Befund vermerkt.
Laufen die Modelle mit oder ohne Denkmodus (Reasoning)?
So, wie der Hersteller sie ausliefert. Der Runner schaltet nichts ab
und dreht nichts auf: Ein Modell, das standardmäßig „denkt" (versteckte
Reasoning-Tokens vor der Antwort), tut das auch hier; ein Modell ohne
Denkmodus läuft ohne. Wo der Hersteller eine Stufe vorgibt, setzen wir
genau diese Stufe explizit (z. B. reasoning_effort=medium
bei GPT-5, GPT-5.6 Sol und GPT-6 Astra, high bei Grok), damit ein
stiller Wechsel des Herstellerdefaults den Verlauf nicht verfälscht.
Damit die Stufen vergleichbar bleiben, tragen alle Modelle dieselbe
Skala: aus · low · medium · high · adaptiv · Standard.
„Adaptiv" heißt, das Modell wählt die Denktiefe pro Anfrage selbst
(Claude Opus 5, Fable 5.1, Gemini 3.1 Pro); „Standard" heißt Denkmodus
an, aber ohne wählbare Stufe (Kimi K3, GLM-5.3, DeepSeek V4 Pro).
Ohne Denkmodus laufen derzeit Claude Opus 4.7, Opus 4.8 und Mistral
Large 2. Das Kürzel R in der Rangliste und in den
Domänen-Karten zeigt die Stufe je Modell; ein * markiert
eine Abweichung vom Hersteller-Standard.
Konsequenz für die Lesart: Ein Denkmodus-Modell bekommt mehr Rechenzeit
pro Antwort. Innerhalb der Anthropic-Linie vergleicht die Rangliste also
Opus 4.8 ohne gegen Opus 5 mit Thinking — ein Vergleich
der Produkte im Auslieferungszustand, nicht der Architekturen.
Korrektur im September 2026: GPT-5 lief von Mai bis September mit
reasoning_effort=low, GPT-5.6 Sol und GPT-6 Astra mit
high — beides nicht der OpenAI-Default, der laut
OpenAI-Dokumentation medium ist (für Astra nennt OpenAI
keinen Default und empfiehlt medium als Baseline). Seit dem
Lauf vom 1. Oktober 2026 laufen alle drei mit medium;
ältere Läufe zeigen im Archiv weiterhin die damalige Stufe.
Wie funktioniert die Append-Only-Historie?
Einmal publizierte Lauf-Ergebnisse werden niemals modifiziert oder gelöscht — auch nicht bei späteren Methodik-Änderungen. Wer in drei Jahren den Lauf vom Juni 2026 auditieren möchte, findet das identische JSONL unter derselben URL wie heute.
Methodik-Veränderungen (neue Frage-Bank-Version, geänderter
Judge-Modell-Mix, neuer Tool-Slot) erzeugen eine neue
question_bank_version. Datenpunkte in den Charts
werden mit ihrer Version annotiert; ein Methodik-Wechsel ist im
Trend-Diagramm als eigene Marke sichtbar.
Was bewusst NICHT im Leaderboard steht — und warum?
Bewusste Auslassungen, weil sie das Bewertungs-Bild verfälschen würden:
- Keine Latenz-/Kosten-Balance — Kosten und Antwortzeiten variieren je nach Tarif des Konsumenten und sind keine Modell-Eigenschaft.
- Keine Ranglisten ohne Konfidenz-Angabe — wenn zwei Modelle innerhalb der CI-Bänder liegen, werden sie als gleichauf dargestellt.
- Keine Marketing-Modelle — beworbene Modell-Varianten ohne API-Zugang werden nicht aufgenommen.