Dev News Daily ENDE

Alibaba öffnet den Code-Reviewer aus zwei Jahren internem Einsatz

Alibaba hat OpenCodeReview unter Apache-2.0 veröffentlicht: https://github.com/alibaba/open-code-review. Das in Go geschriebene Kommandozeilenwerkzeug liest einen Git-Diff, schickt die geänderten Dateien über einen werkzeugfähigen Agenten an ein konfigurierbares Modell und liefert Kommentare zurück, die an einzelnen Zeilen hängen. Ein zweiter Modus, ocr scan, prüft ganze Dateien statt eines Diffs — für Verzeichnisse, die lange niemand gelesen hat, oder für ein Repository, das ohne Änderungsgeschichte ankommt.

Dem Repository zufolge war das Werkzeug rund zwei Jahre lang Alibabas interner Review-Assistent, bevor es veröffentlicht wurde. Um eine Wochenendfreigabe handelt es sich ebenfalls nicht: Das Projekt ist seit Mai öffentlich, trägt das OpenSSF-Best-Practices- Abzeichen in Gold und hat am 19. September v1.12.7 ausgeliefert — die dritte Freigabe in drei Tagen.

Bemerkenswert ist die Aufteilung: Der Agent soll nicht alles tun. Dateiauswahl, Bündelung und Regelabgleich laufen als deterministische Pipelines; das Modell kommt dort zum Einsatz, wo geurteilt werden muss, und kann dann eine ganze Datei lesen, das Projekt durchsuchen und die übrigen Dateien derselben Änderung heranziehen — Zusammenhang, den ein Diff allein nicht trägt. Mitgelieferte Regelsätze decken die üblichen Verdächtigen ab: Nullzeiger, Threadsicherheit, XSS, SQL-Injektion. Der Endpunkt ist konfigurierbar, OpenAI- und Anthropic-kompatible Schnittstellen werden beide unterstützt.

Alibaba öffnet den Code-Reviewer aus zwei Jahren internem Einsatz
Alibaba öffnet den Code-Reviewer aus zwei Jahren internem Einsatz — Dev News Daily

Was das bedeutet

Übertragbar ist die Trennlinie, nicht das Werkzeug. Welche Dateien anzusehen sind ist eine Frage mit richtiger Antwort, die ein Programm ausrechnen kann. Ob dieses Schloss auf dem falschen Objekt gehalten wird ist es nicht. Wer beides dem Modell überlässt, bezahlt Token für Arbeit, die git diff bereits erledigt hat, und handelt sich Nichtdeterminismus genau in dem Teil ein, der reproduzierbar sein sollte. Wer Review-Automatisierung selbst baut, kann diese Grenze übernehmen und den Rest liegen lassen.

Zwei Jahre interner Einsatz sind die prüfbare Behauptung — und sie ist prüfbar. Ein Werkzeug, das quer durch eine große Entwicklungsorganisation läuft, sammelt Regeln, die von den dort tatsächlich aufgetretenen Defekten geformt sind; das ist mehr wert als die Modellwahl. Die Regeln liegen im Repository. Sie zu lesen sagt einem, was ein sehr großer Java- und Go-Betrieb immer wieder falsch macht — ein nützlicheres Artefakt als die Review-Kommentare selbst.

Und über die Benutzung entscheidet die Zeilengenauigkeit. Ein Prüfer, der einen Absatz über einen Merge Request schreibt, wird einmal gelesen. Einer, der einen Satz an die Zeile hängt, die den Nullzeiger auslösen wird, wird befolgt — weil der Leser nicht erst suchen muss, was gemeint ist. Mit Modellen hat dieser Unterschied nichts zu tun, und an ihm scheitern die meisten dieser Werkzeuge.