Zum Inhalt springen
MULTI-AGENTEN-CODE-REVIEW

Code-Review mit Belegen und einem Verlauf

Die Entwicklerteams erhalten eine Überprüfung jeder Änderung, zusammen mit den entsprechenden Belegen und der Korrektur. Diese Überprüfung läuft sowohl über das Terminal als auch über den Editor, die API und einen unbeaufsichtigten Dienst ab, sodass eine Überprüfung überall dasselbe bedeutet, unabhängig davon, wo sie gestartet wird.

  • BrancheEntwicklerwerkzeuge
  • Art der ArbeitEin Produkt von Koca Ventures, das intern entwickelt wurde und sich im firmeneigenen Besitz befindet
  • StatusIm aktiven Einsatz, wird kontinuierlich weiterentwickelt
  • Multi-Agenten-Systeme
  • Code-Review
  • Sicherheitsüberprüfung
  • Entwicklerwerkzeuge

Hinter jeder Art der Anforderung einer Bewertung steht eine einzige Engine

Die Entwicklungsteams erhalten Erkenntnisse zu Sicherheit, Leistung und Qualität einer vorgeschlagenen Änderung, jeweils mit einem Lösungsvorschlag, in Form einer geordneten Warteschlange, die von oben nach unten abgearbeitet wird.

Es wird immer dieselbe Engine ausgeführt, unabhängig davon, ob die Anfrage von einem Terminalbefehl, einem Editor, der API oder einem Hintergrunddienst stammt, der ein Repository nach einem festgelegten Zeitplan überwacht. Alle vier nutzen denselben Verlauf, sodass eine am Computer gestartete Überprüfung später auch im Dashboard angezeigt wird und ein Pull-Request einen einzigen Kommentar enthält, der an Ort und Stelle aktualisiert wird. Koca Ventures hat die Plattform entwickelt und ist deren Eigentümer. Sie läuft sowohl mit lokal gehosteten Modellen auf der eigenen Hardware einer Organisation als auch bei externen Anbietern, sodass ein Kunde sie nutzen kann, ohne ein eigenes Überprüfungssystem aufbauen und ohne eigene Modelle für die Überprüfer feinabstimmen zu müssen.

Die Konsole für die kontradiktorische Überprüfung, in der eine Codeänderung bearbeitet wird, wobei der Fortschritt des Durchlaufs darunter angezeigt wird
Der Adversarial-Modus läuft gerade für eine Codeänderung.
DIE HERAUSFORDERUNG

Automatisierte Überprüfung, die Ingenieure nicht mehr lesen

Technische Unternehmen, die automatisierte Überprüfungen einführen, sehen sich mit drei Problemen konfrontiert. Die Plattform wurde speziell zur Bewältigung jedes einzelnen dieser Probleme entwickelt.

Lärm, der mehr kostet, als er einbringt

Ein Tool, das Formatierungsänderungen, neu angeordnete Importe und unbestätigte Vermutungen kennzeichnet, bringt einem Team bei, seine Ergebnisse nur zu überfliegen. Sobald die Ergebnisse der Überprüfung überflogen werden, geht dabei auch der einzige wichtige Befund unter.

Befund ohne Korrekturen werden zu Tickets

Ein Review-Kommentar, der ein Problem beschreibt und die Arbeit an einen Entwickler zurückgibt, der ohnehin schon ausgelastet ist. Der korrigierte Code muss noch ausgearbeitet werden, und die Behebung des Fehlers wird oft aufgeschoben.

Uneinheitliches Verhalten auf verschiedenen Oberflächen

Die Überprüfung im Terminal, im Editor, bei einem Pull-Request und nach einem Zeitplan erfolgte über separate Tools mit unterschiedlichem Verhalten und unterschiedlichem Verlauf. Dieselbe Änderung konnte in einem Fall erfolgreich sein und in einem anderen fehlschlagen.

DIE LÖSUNG

Was die Plattform leistet

Eine Überprüfung, wann immer sie angefordert wird, mit den Nachweisen, die ein Ingenieur benötigt, um jedes Ergebnis zu beurteilen.

Die gleiche Überprüfung, unabhängig davon, wo das Team arbeitet

Ein Team führt eine Überprüfung über das Terminal, den Editor, die API oder einen geplanten Dienst durch und erhält dabei dasselbe Ergebnis mit demselben Verlauf. Eine Überprüfung, die über die Tastatur gestartet wurde, ist genau die Überprüfung, die später im Dashboard angezeigt wird.

  • Terminalbefehl, Editor-Integration, API mit Live-Updates und Hintergrunddienst führen dasselbe Review aus
  • Eine gemeinsame Historie: Das an der Tastatur gestartete Review ist genau das, was das Dashboard später zeigt
  • Läuft mit lokal gehosteten Modellen auf der kundeneigenen Hardware oder bei externen Anbietern, die in der Konfiguration ausgewählt werden

Befunde, die mit der Korrektur kommen

Jeder Befund ist mit einem Schweregrad und einer von drei Maßnahmen versehen, „sofort beheben“, „bald beheben“ oder „später prüfen“, sodass das Team den Bericht von oben nach unten abarbeitet. Der korrigierte Code wird angehängt, sodass ein Befund als erledigte Aufgabe gilt und kein neues Ticket erstellt wird.

  • Jeder Befund enthält einen Ersatzcode
  • Jeder Fund deutet auf einen echten Pfad im Repository hin
  • Ein Befund bleibt auch bei Formatierungsänderungen erkennbar

Befunde, die ein Ingenieur beurteilen kann

Die Ergebnisse werden zusammen mit den entsprechenden Belegen und ihrem Überprüfungsstatus bereitgestellt, sodass Ingenieure erkennen können, was bestätigt wurde und was die Plattform nicht bestätigen konnte.

  • Geringfügige Änderungen verursachen keine Überprüfungsstörgeräusche
  • Jeder Befund enthält die dazugehörigen Befunde und den Überprüfungsstatus
  • Ein Befund, der nicht bestätigt werden konnte, bleibt im Bericht stehen und wird niemals stillschweigend gestrichen.

Schwachstellen, die entdeckt und behoben werden, bevor ein Angreifer sie findet

Auf Anfrage durchsucht die Plattform eine Codebasis nach einer ausnutzbaren Schwachstelle, schlägt einen Patch vor und überprüft, ob dieser die Schwachstelle behebt. Jeder Eintrag wird als „verifiziert“, „teilweise behoben“, „noch offen“ oder „Fehlalarm“ zurückgemeldet, und ein Entwickler entscheidet, was umgesetzt wird.

  • Ein einziger Durchgang deckt mehrere Perspektiven ab, von der Geschäftslogik bis hin zur Compliance
  • Patches werden als Vorschläge eingereicht; es wird nichts in das Repository geschrieben
  • Agenten werden unter Einschränkungen ausgeführt, die destruktive Operationen blockieren
DIE WIRKUNG

Was ändert sich in der Praxis?

Die Ingenieure prüfen die Ergebnisse anhand von Belegen und vorgeschlagenen Abhilfemaßnahmen.

Eine Arbeitsliste

Was ein Review erzeugt

Die Ergebnisse aller Agenten werden als eine geordnete Liste geliefert, die von oben nach unten abgearbeitet wird.

Belege beigefügt

Was einen Befund begleitet

Ingenieure prüfen die Belege und den Überprüfungsstatus, die jedem Befund beigefügt sind, bevor sie entsprechende Maßnahmen ergreifen.

Ein Ingenieur entscheidet

Wie Änderungen landen

Korrekturen und Patches werden als Vorschläge mit einer Vorschau eingereicht. Nichts wird in ein Repository geschrieben, ohne dass ein Entwickler dies genehmigt hat.

Zuletzt überprüft:

Sprechen Sie mit uns über Code-Reviews in Ihrem Unternehmen

Erzählen Sie uns, wie Code derzeit überprüft wird und wo es dabei zu Engpässen kommt. Wir sagen Ihnen dann, was sich zu automatisieren lohnt und was nicht.

Projekt besprechen