News

Code-Sloppiness messen: Warum AI-as-Judge fuer Codequalitaet versagt

llm code-quality benchmark slopcodebench coding-agents

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