News
Code-Sloppiness messen: Warum AI-as-Judge fuer Codequalitaet versagt
LLMs schreiben heute fast perfekten Code — formal korrekt, testsicherbar, belastbar. Doch korrekt heißt nicht sauber: unnötige Abstraktionen, Duplikate und schlechte Architekturentscheidungen bleiben. Wer schon mal ein Projekt durch Vibe-Coding erweitert hat, kennt die Zeilen-Code-Explosion pro Feature. Ein Forscher von Earendil hat sich jetzt systematisch der Frage gewidmet, wie man diese “Sloppiness” überhaupt messbar macht.
Warum die gängigen Methoden versagen
- AI-as-Judge: Modelle nach Codequalität auf einer Skala von 1-10 zu fragen kommt einem Zufallsgenerator gleich. Der ausgefeiltere A/B-Vergleich scheitert daran, dass Modelle ihre Präferenz ändern, sobald man die Lösungen umbenennt.
- Menschen als Juroren: Die beste Qualitätssicherung, aber nicht skalierbar für Trainings oder Multi-Provider-Benchmarks.
- LOC-Delta: Überraschend effektiv als simple Metrik — mit der ironischen Einschränkung der Goodhart’s Law: Wer darauf optimiert, entwertet sie.
Die Metriken aus SlopCodeBench
Zwei Messgrößen trennen Legacy-Codebasen von LLM-Slop erstaunlich gut:
- Verbosity: Anteil duplizierter und überflüssiger Zeilen, via AST-Grep-Heuristiken und Clone-Detection
- Erosion: Wie viel Codemasse sich in wenigen großen, komplexen Funktionen konzentriert (zyklomatische Komplexität über 10)
Die Zahlen sind deutlich: Etablierte Repos erreichen eine Verbosity von 0.15 ± 0.06 und Erosion 0.31 ± 0.17 — Agenten-Code liegt bei 0.33 ± 0.10 beziehungsweise 0.68 ± 0.20. Der Code der Agents ist im Schnitt rund doppelt so “sloppy” wie menschlicher. Eigene Vibe-Coding-Projekte des Autors bestätigen das: Verbosity bis 0.4, Erosion bis 0.75.
Der Kernbefund
Agenten können mit dem Slop selbst nicht umgehen: Auf dem iterativen SlopCodeBench-Setup — bei dem der Kontext zwischen Checkpoints gelöscht wird und sich Anforderungen ändern — erreichen selbst State-of-the-Art-Modelle eine strict pass rate von 0%. Schlechte Entscheidungen kumulieren. Das ist eine deutliche Warnung an alle, die täglich zehntausende Zeilen per Agent generieren: Menschliche Intuition und Taste bleiben fester Bestandteil jeder sinnvollen Code-Evaluation.
Link: earendil.com