Wenn jemand einen Prompt, ein Modell oder eine Tool-Konfiguration ändert, gibt es in den meisten KI-Projekten kein Signal ob das besser oder schlechter wurde. Entscheidungen basieren auf Bauchgefühl — oder auf zwei manuell geprüften Testausgaben, was auf dasselbe hinausläuft.
Das ist das Problem das wir lösen wollen. Und es hat eine Falle die man kennen muss bevor man anfängt.
Goodhart's Law — die Falle jeder Metrik
Die Reaktion auf fehlendes Feedback ist fast immer dieselbe: wir brauchen eine Metrik. Einen Score. Etwas Messbares.
Marilyn Strathern hat 1997 das strukturelle Risiko dabei benannt:
When a measure becomes a target, it ceases to be a good measure.
In KI-Systemen bedeutet das konkret: ein Team wählt Faithfulness als Qualitätsmaß — ob alle Aussagen im Output durch die Quelldokumente gedeckt sind. Sinnvoll. Nach einigen Prompt-Iterationen hat das System gelernt vorsichtige, quellennahe Formulierungen zu bevorzugen. Der Score steigt. Die Outputs werden kürzer, unvollständiger, weniger nützlich. Die Metrik sagt: besser. Die Nutzer sagen: schlechter.
Gao et al. haben das 2023 empirisch gemessen: Bei zunehmender Reward-Optimierung steigt der Proxy-Score zunächst — und fällt dann wieder, wenn die Optimierung zu weit geht. Score und echte Qualität entkoppeln sich.
Ein einzelner Score als alleiniges Gate ist damit kein Schutz, sondern ein Risiko.
Drei Signale statt einem
Die Antwort auf Goodhart ist keine bessere Metrik. Es sind mehrere unabhängige Signale aus verschiedenen Quellen — die alle gleichzeitig schwer zu spielen sind.
Signal 1 — Produktionsdaten
Was Nutzer tun, ohne dass sie etwas extra tun müssen. Wie oft wird ein Output regeneriert? Wie hoch ist das Rating? Wird der Output akzeptiert oder korrigiert?
Diese Daten sind in fast jeder Produktionsdatenbank bereits vorhanden — sie werden nur nicht ausgewertet. Das ist der erste Schritt: nicht neue Infrastruktur, sondern eine Abfrage auf vorhandene Daten.
SELECT
prompt_version,
model_name,
COUNT(*) AS total_runs,
AVG(user_rating) AS avg_rating,
AVG(regeneration_count) AS avg_regenerates,
AVG(was_accepted::int) AS acceptance_rate
FROM ai_outputs
WHERE created_at > NOW() - INTERVAL '30 days'
GROUP BY prompt_version, model_name
ORDER BY avg_rating DESC;Produktionssignale sind besonders robust gegen Goodhart, weil niemand bewusst schlechte Ratings gibt um eine Metrik zu verschlechtern. Das Signal entsteht durch echtes Nutzungsverhalten.
Signal 2 — Deterministisch
Automatische Prüfungen die kein zweites LLM brauchen — und bei jeder Änderung sofort laufen.
ExtractBench (ContextualAI, 2025) zeigt: 49% der LLM-Outputs bei komplexen Schemas sind kein valides JSON. Das ist kein Randproblem. Ist der Output strukturell korrekt? ist damit oft der wichtigste Check — und er kostet nichts.
Dazu: Sind alle Pflichtfelder vorhanden? Stimmen numerische Felder? Sind Felder untereinander logisch konsistent? Das alles ist Code, kein Modell. Schnell, billig, nicht manipulierbar.
Signal 3 — LLM-as-Judge
Für Fragen die Code nicht beantworten kann: Halluziniert das System? Sind alle Aussagen durch die Quelldokumente gedeckt?
Zwei Regeln die dabei nicht verhandelbar sind:
Generator ≠ Judge. Zheng et al. (NeurIPS 2023) haben gemessen: Modelle bewerten eigene Outputs 10–25% höher als fremde. GPT-4o bewertet Claude-Outputs, Claude bewertet GPT-4o-Outputs — nie dasselbe Modell.
Nur wo Code versagt. LLM-Judges laufen langsamer, kosten mehr und sind weniger deterministisch. Sie ergänzen — sie ersetzen nicht.
Erst wenn alle drei Signale in dieselbe Richtung zeigen, gilt eine Änderung als besser.
7 von 10 Evaluatoren kosten nichts
Der Großteil der relevanten Qualitätsprüfungen ist deterministisch. Kein zweites LLM, keine API-Kosten, keine Latenz:
| Evaluator | Typ | Kosten |
|---|---|---|
| JSON-Validierung | Deterministisch | $0 |
| Pflichtfeld-Prüfung | Deterministisch | $0 |
| Numerische Felder (mit Formatnormalisierung) | Deterministisch | $0 |
| Konsistenzprüfungen zwischen Feldern | Deterministisch | $0 |
| Dokumenttyp-Erkennung | Deterministisch | $0 |
| Produktionssignale (Rating, Regenerierungen) | Aus DB | $0 |
| Faithfulness | LLM-Judge | ~$0.002/Run |
| Halluzinationscheck | LLM-Judge | ~$0.002/Run |
| Semantische Ähnlichkeit | LLM-Judge | ~$0.002/Run |
LLM-Judges kommen erst ganz am Ende der Pipeline — wenn die deterministischen Gates bereits grün sind.
Der Schritt den fast alle überspringen
Bevor ein automatischer Evaluator kalibriert wird, muss eine Frage beantwortet sein: Sind sich Menschen darüber einig was "gut" bedeutet?
Die Methode heißt Inter-Annotator Agreement. Zwei Personen bewerten 30–50 reale Produktions-Outputs unabhängig. Dann wird die Übereinstimmung gemessen — Cohen's Kappa oder Krippendorff's Alpha.
Northcutt et al. (2021) haben gezeigt: selbst sorgfältig kuratierte ML-Benchmark-Datensätze enthalten durchschnittlich 3,4% fehlerhafte Labels — bei kontrollierten Annotierungsbedingungen. Unkalibrierte menschliche Bewertungen ohne explizite Kriterien liegen deutlich darüber.
- Unter κ = 0.6: die Bewertungskriterien sind unklar. Ein automatischer Judge der darauf kalibriert wird, lernt Inkonsistenz zu reproduzieren.
- Über κ = 0.6: die Kriterien tragen. Jetzt kann automatisiert werden.
Zeitaufwand: ein halber Tag. Wird fast immer übersprungen. Ist das Fundament auf dem alles andere aufbaut.
Die Reihenfolge
Zuerst: Produktionsdaten sichtbar machen. Rating, Regenerierungen, Acceptance-Rate — nach Prompt-Version und Modell gruppiert. Das gibt das erste echte Signal ohne neue Infrastruktur.
Parallel: IAA messen. Bevor irgendwas automatisiert wird.
Danach: Deterministisches Eval-Script im Repo. 20–50 Testfälle, läuft bei jeder PR. Kein LLM, kein externes System.
Zuletzt: LLM-Judge vor Releases — Faithfulness, Halluzinationscheck. Auf Basis der IAA-Baseline, nicht davor.
Nach vier Wochen sieht eine Entscheidung über Prompt v2 vs. v1 nicht mehr aus wie ein Bauchgefühl. Sie sieht aus wie drei unabhängige Signale die in dieselbe Richtung zeigen — oder eben nicht.