Vergleich von KI-Modellen in einer konkreten Situation
Ich habe geplant, ein Code-Review für mein Projekt mithilfe eines LLMs durchzuführen. Dieses Mal war das Experiment an einem Projekt, das ich im Rahmen meiner bezahlten Arbeit auf Auftragsbasis geschrieben habe. Die Aufgabe des LLMs bestand darin, jede Datei zu prüfen. Bei Bedarf sollten verwandte Dateien gelesen werden, um den Kontext besser zu verstehen. Für jede Datei wurde ein separater Agent gestartet, da es in der lokalen Version nicht nötig ist, Token zu sparen 👌. Zu Beginn wusste ich nicht genau, was mich erwarten würde. Aber nach Abschluss des Prozesses fiel mir ein ganz bestimmtes Code-Stück ins Auge: siehe 🖼️ auf dem beigefügten Screenshot.
Der Code ist im Großen und Ganzen korrekt: Wir versuchen etwas
zu tun, und wenn es nicht funktioniert – werfen wir die letzte
Exception aus. Wir rufen onSuccess() nur für
erfolgreiche Operationen auf. Aber einige KI-Modelle sind hier
über Schwierigkeiten gestolpert:
-
Qwen 3.6 27B 🔴
-
Gab sofort eine kritische Anmerkung ab, ohne überhaupt
den Code der Funktion
retryWithCatch()zu lesen.
-
Gab sofort eine kritische Anmerkung ab, ohne überhaupt
den Code der Funktion
-
Qwen 3.5 27b Claude Opus 4.6 reasoning distilled
🔴
-
Hat den Code von
retryWithPatch()gelesen, aber trotzdem eine kritische Anmerkung abgegeben. Gelesen und trotzdem nicht verstanden? Hm…
-
Hat den Code von
-
Gemma 4 31B QAT 🟢
-
Hat den Code von
retryWithCatch()gelesen, alles okay. Arbeitet langsam, aber gründlich.
-
Hat den Code von
-
Qwen 3.6 35B A3B 🟢
-
Hat den Code von
retryWithCatch()gelesen, alles okay. Arbeitet schnell, macht aber auch schnell Fehler…
-
Hat den Code von
Wie man sieht, hat Qwen 27B einige Probleme beim Verständnis
von Code… Ich denke, ein Mensch könnte in dieser
Situation aufgrund von Unaufmerksamkeit leicht denselben
Fehler machen: mal kurz über den Code schauen und denken, dass
onSuccess() nach
retryWithCatch() alle Operationen pauschal als
„erfolgreich“ markiert 🥴.
Dabei hat Qwen 27B eine hohe Bewertung im Artificial Analysis Intelligence Index 🤔💭 Aber meiner Meinung nach ist die Logik der anderen beiden Modelle in der Liste besser. Letztlich ist das nicht überraschend – schließlich haben sie mehr Parameter: 27B < 31B < 35B.
Weiteres Coding in der Freizeit
Neben dem LLM-Test habe ich letzte Woche in meiner Freizeit noch weitere Dinge an meinen Projekten erledigt:
- Neues Refactoring der persönlichen Website: Ich habe den Zwischen-Webserver für die Generierung von statischem HTML-Inhalt entfernt. Es wird etwas weniger unnötigen Code geben – das ist gut…
- Einrichtung einer Sandbox für pi.dev: Ausführung ohne Internetzugriff. Der Zugriff auf das lokale Dateisystem ist ebenfalls eingeschränkt: nur ein Ordner mit dem Projekt. Der Agent kann nun nicht mehr auf andere Dateien zugreifen, selbst wenn er wollte…
P.S.: Der leitende Entwickler im Team des Kunden sagte, dass KI-Code-Reviews jetzt eine obligatorische Entwicklungsphase für jedes Feature sind. Zudem muss dies sofort erfolgen, noch vor dem Öffnen eines PRs: Man schreibt den Code selbst, startet das LLM selbst, liest und korrigiert die Anmerkungen selbst 💻🧐 Erst danach wird der PR geöffnet, und für die Person, die den Code liest, bleibt nur noch zu prüfen, ob das Häkchen „LLM-Check bestanden“ gesetzt ist ☑️🛫.