- In KI-gestützten Entwicklungsumgebungen häufen sich Fälle, in denen unerfahrene Engineers ungeprüfte, sehr große PRs einreichen
- Die Kernaufgabe von Entwickler:innen besteht nicht einfach im Schreiben von Code, sondern darin, Code zu liefern, dessen Funktion nachgewiesen ist
- Dafür müssen zwingend zwei Schritte durchgeführt werden: manuelle Tests und automatisierte Tests
- Auch Coding Agents sollten so konfiguriert werden, dass sie die von ihnen vorgenommenen Änderungen selbst verifizieren
- Letztlich liegt die Verantwortung beim menschlichen Entwickler, und nur Code mit Nachweisen der Verifikation hat echten Wert
Das Problem beim Einreichen ungeprüften Codes
- Es wird auf Fälle verwiesen, in denen Junior Engineers mit LLM-Tools riesige, ungeprüfte PRs einreichen und sich auf das Code Review verlassen
- Das wird als unhöflich und ineffizient bezeichnet und als Vernachlässigung der Verantwortung eines Entwicklers kritisiert
- Die Rolle von Software Engineers besteht nicht in der bloßen Produktion von Code, sondern darin, Code zu liefern, dessen Funktion nachgewiesen ist
- Ungeprüfter Code wird als Abwälzen der Last auf die Reviewer betrachtet
Zwei Schritte, um nachzuweisen, dass der Code funktioniert
- Der erste Schritt ist der manuelle Test: Man muss selbst überprüfen, dass der Code korrekt funktioniert
- Dazu gehört, das System in einen Ausgangszustand zu versetzen, die Änderung anzuwenden und anschließend das Ergebnis zu verifizieren
- Terminal-Befehle und Ausgaben können als Kommentar im Code Review beigefügt oder durch eine Bildschirmaufnahme nachgewiesen werden
- Nach der Bestätigung des Normalfalls sollten durch Tests von Edge Cases mögliche Probleme gesucht werden
- Der zweite Schritt ist der automatisierte Test, der dank der Fortschritte bei LLM-Tools als unverzichtbarer Prozess hervorgehoben wird
- Zusammen mit der Änderung sollten automatisierte Tests enthalten sein, und wenn man die Implementierung zurücknimmt, müssen diese Tests fehlschlagen
- Das Schreiben von Tests folgt demselben Verfahren wie der manuelle Test, und die Fähigkeit zur Integration in eine Test Harness ist dabei wichtig
- Es wird darauf hingewiesen, dass es ein falscher Ansatz ist, manuelle Tests wegzulassen, nur weil automatisierte Tests allein für ausreichend gehalten werden
Rolle und Verifikation von Coding Agents
- Ein wichtiger Trend im LLM-Bereich im Jahr 2025 ist das rasante Wachstum von Coding Agents; repräsentative Beispiele sind Claude Code und Codex CLI
- Sie können Code ausführen und Probleme selbstständig beheben
- Auch Coding Agents müssen ihre eigenen Änderungen nachweisen und sowohl manuelle als auch automatisierte Tests durchführen
- Bei CLI-Tools kann man den Agenten darauf trainieren, diese selbst auszuführen, oder dies mit Systemen wie Clicks CLIRunner automatisieren
- Bei CSS-Änderungen kann man sie so einrichten, dass sie das Ergebnis per Screenshot-Erfassung prüfen
- Wenn in einem Projekt bereits Tests vorhanden sind, kann der Agent diese erweitern oder bestehende Muster wiederverwenden
- Struktur und Qualität des Testcodes beeinflussen direkt die Qualität der vom Agenten erzeugten Tests
- Ein ästhetisches Gespür für Testcode wird als zentrale Fähigkeit genannt, die Senior Engineers auszeichnet
Die Verantwortung des Menschen und der Wert von Code
- Computer können keine Verantwortung übernehmen; diese Rolle muss der Mensch übernehmen
- Dass LLMs große Patches erzeugen, ist inzwischen nichts mehr, das an sich Wert stiftet
- Der eigentliche Wert liegt darin, Code zu liefern, dessen Funktionsfähigkeit nachgewiesen ist
- Beim Einreichen eines PRs sollte man unbedingt Belege dafür beifügen, dass der Code korrekt funktioniert
Noch keine Kommentare.