Zum Inhalt springen
DutopilotDutopilot

Können KI-Agenten Pull Requests sicher prüfen?

· 8 Min. Lesezeit

Ja, wenn KI-Review eine Schicht unter mehreren ist und nicht die einzige Schranke. Ein KI-Reviewer kann jeden Pull Request zu jeder Uhrzeit lesen und übersehene Fälle, unsichere Muster und unklaren Code finden. Er kann aber auch irren oder in die Irre geführt werden, deshalb gehören zu einem sicheren Setup Tests, Branch-Schutz und eine Person für riskante Änderungen.

Ein Pull Request durchläuft Schutzringe: automatische Prüfungen, Reviewer-Agenten, eine Person und der Branch-Schutz.
Der Pull Request durchläuft mehrere Ebenen, bevor er gemergt wird, und jede Ebene fängt auf, was die anderen übersehen.

Was KI-Review gut kann und was Menschen besser können

AufgabeKI-ReviewerMensch
Übersehene Randfälle und kleine Fehler erkennenStarkGut, ermüdet aber
Jede Änderung jedes Mal an Ihren Regeln messenStarkSchwankt von Tag zu Tag
Beurteilen, ob die Änderung die richtige Produktentscheidung istSchwachStark
Ein Risiko erkennen, das nicht im Code steht, etwa ein Vertrag oder eine FristSchwachStark

Nutzen Sie diese Aufteilung, um zu entscheiden, wo eine Person dabei bleiben muss. Routineprüfungen gehen an die KI. Urteile bleiben bei Menschen.

Fünf Ebenen um jeden Pull Request

Keine einzelne Prüfung sollte die Entscheidung allein tragen. Ein sicheres Setup stapelt Ebenen, die jeweils etwas auffangen, was die anderen übersehen, und der Pull Request muss alle der Reihe nach bestehen.

Fünf Ebenen hintereinander: automatische Prüfungen, Reviewer-Agenten, eine automatische Korrekturschleife, die Freigabe durch eine Person und der Branch-Schutz.
Die fünf Ebenen, in der Reihenfolge, in der ein Pull Request sie durchläuft.
  1. Automatische Prüfungen: Lint, Build und Tests liefern ein Bestanden oder Durchgefallen, über das niemand streiten kann.
  2. Reviewer-Agenten: getrennte Agenten lesen die Änderung und kommentieren, was ihnen falsch erscheint.
  3. Korrekturschleife: Hinweise gehen an einen Korrektur-Agenten zurück, danach laufen Prüfungen und Reviewer erneut.
  4. Eine Person: jemand, den Sie benannt haben, gibt Änderungen in Bereichen frei, in denen ein Fehler teuer ist.
  5. Branch-Schutz: Ihr Code-Host erzwingt Pflichtprüfungen und Reviews, egal was ein Agent sagt.

Die Risiken, die Sie einplanen sollten

  • Eine falsche Freigabe: Der Reviewer sagt, die Änderung sei in Ordnung, obwohl sie es nicht ist.
  • In die Irre geführt werden: Versteckter Text in einem Ticket, Kommentar oder einer Datei kann versuchen, den Reviewer zu lenken. OWASP nennt Prompt Injection als erstes Risiko in seiner Liste der Risiken für Anwendungen auf Basis großer Sprachmodelle.
  • Zu viel Zugriff: Ein Reviewer, der Secrets lesen oder die Produktion ändern kann, kann Schaden anrichten, wenn er in die Irre geführt wird.
  • Die eigene Arbeit benoten: Ein Agent, der den von ihm geschriebenen Code prüft, neigt dazu, sich selbst zuzustimmen.

Ein sicheres Setup, Schritt für Schritt

  1. Trennen Sie Autor und Reviewer. Der Agent, der die Änderung geschrieben hat, gibt sie nie frei, und mehr als ein Reviewer ist besser als einer.
  2. Reviewer kommentieren, sie ändern nicht. Befunde gehen zur Korrektur an den Autor zurück, sodass jede Änderung genau einen Verantwortlichen hat.
  3. Automatisierte Prüfungen bleiben die Schranke. Tests, Typprüfungen und Qualitätsprüfungen müssen nach jeder Korrektur erneut bestehen. Auf GitHub kann der Branch-Schutz bestandene Prüfungen und freigebende Reviews verlangen, bevor etwas gemergt wird.
  4. Zugriff begrenzen. Lassen Sie die Agenten in einer Sandbox ohne Produktions-Secrets laufen, mit nur den Rechten, die die Arbeit braucht.
  5. Legen Sie fest, wo eine Person freigeben muss, etwa bei sensiblen Code-Bereichen und beim Produktions-Release.
  6. Führen Sie Protokoll. Jeder Review-Kommentar, jede Korrektur und jede Freigabe sollte am Pull Request sichtbar sein.

Ein Beispiel aus der Praxis: ein Erstattungs-Endpoint

Ein beispielhaftes Ticket, PAY-301, "Rückerstattungs-Endpunkt hinzufügen": Ein Agent baut es und öffnet einen Pull Request. So geht jede Schicht damit um.

EbeneWas sie getan hatErgebnis
Automatische PrüfungenLint, Typprüfung und Tests liefen. Ein Test für einen negativen Erstattungsbetrag schlug fehl.An den Korrektur-Agenten geschickt. Einen Commit später bestand der zweite Lauf.
Reviewer-AgentenEin Reviewer bemerkte, dass der Endpoint nie prüft, ob die Person diese Zahlung erstatten darf. Ein anderer versuchte, ihn zu brechen, und fand, dass eine Erstattung höher sein konnte als die ursprüngliche Zahlung.Zwei Hinweise, als Kommentare am Pull Request geschrieben.
KorrekturschleifeDer Korrektur-Agent ergänzte die Berechtigungsprüfung und die Betragsgrenze. Die Prüfungen liefen erneut und die Reviewer lasen die neue Version.Beide Hinweise geschlossen, alle Prüfungen grün.
Eine PersonDie Änderung betrifft den Zahlungsordner, der auf der Liste der Freigebenden steht. Die freigebende Person sieht Hinweise, Korrekturen und bestandene Prüfungen an einem Ort.Freigegeben oder mit einem Kommentar zurückgeschickt.
Branch-SchutzIhr Code-Host verlangt weiterhin seine Prüfungen und sein Review.Der Merge ist nur erlaubt, weil alle bestanden wurden.

Beachten Sie, dass die Reviewer den Code nie bearbeitet haben und dass keine einzelne Schicht die Änderung allein freigegeben hat. In einem solchen Fall sind die beiden Funde von der Sorte, die eine müde Person an einem Freitagnachmittag überliest.

Was in der Korrekturschleife passiert

Ein Hinweis geht mit dem genauen Kommentar oder dem fehlgeschlagenen Log an einen Korrektur-Agenten. Er ändert den Code, die Prüfungen laufen erneut und die Reviewer lesen die neue Version. Das wiederholt sich, bis alles grün ist.

Eine Schleife: Reviewer finden ein Problem, ein Korrektur-Agent behebt es, die Prüfungen laufen erneut und die Reviewer lesen die neue Version.
Die Korrekturschleife. Sie wiederholt sich, bis die Prüfungen grün sind und die Reviewer keine offenen Hinweise mehr haben.

Zwei Sicherungen halten die Schleife ehrlich. Kommt eine Korrektur dem Grün nicht mehr näher oder steigt das Risiko der Änderung, stoppt der Lauf und fragt eine Person, statt es erneut zu versuchen. Und ein Test, der zufällig fehlschlägt, wird automatisch wiederholt und repariert, damit ein unzuverlässiger Test keine gute Änderung blockiert.

So geht Dutopilot vor

In Dutopilot liest jeden Pull Request ein separates virtuelles Dutopilot-Teammitglied, das den Code nicht geschrieben hat. Was es findet, geht an einen automatischen Korrekturschritt, und Tests und Qualitätsprüfungen laufen erneut, bevor etwas gemergt wird. Der Code wird in einer abgeschotteten Sandbox verarbeitet, und Ihr eigener Branch-Schutz samt Pflicht-Reviews gilt unverändert weiter.

Menschen entscheiden über die Architektur, bevor Code entsteht, und über das Produktions-Release, und Sie können überall sonst Freigaben ergänzen. Jeder Lauf hinterlässt eine Spur in Ihren Pull Requests. Wie Sie wählen, zeigt der Ratgeber Welche Schritte brauchen eine Freigabe.

Was Reviewer tun dürfen

  • Sie lesen die Änderung und den Code drumherum und schreiben Kommentare. Sie pushen keinen Code.
  • Sie laufen in einer abgeschotteten Sandbox ohne Produktions-Secrets.
  • Es sind andere virtuelle Dutopilot-Teammitglieder als das, das die Änderung geschrieben hat: Keines korrigiert seine eigene Arbeit.
  • Die Meinung eines einzelnen Reviewers mergt nie allein etwas. Freigaben und Merge passieren nur dort, wo Sie sie gewählt haben, und die automatischen Prüfungen und Ihr Branch-Schutz entscheiden.

Was Sie einrichten

  • Branch-Schutz auf Ihrem Hauptbranch, mit den Prüfungen, die Sie bereits ausführen, als Pflicht markiert.
  • Eine Liste von Freigebenden und die Teile des Codes, etwa Zahlungen oder Anmeldung, die immer eine Freigabe brauchen.
  • Die gewünschte Strenge: bei welchen Problemarten Reviewer blockieren und welche sie nur erwähnen sollen.

Was Ihr Forward Deployed Engineer tut

Jeder Dutopilot-Kunde bekommt einen Forward Deployed Engineer: einen Ingenieur von Dutopilot, der mit Ihrem Team arbeitet. Er schreibt nicht den Code Ihres Produkts. Er sorgt dafür, dass das Review zu Ihrem Code und Ihren Gewohnheiten passt.

  • Er stimmt ab, worauf die Reviewer in Ihrem Code achten, etwa Ihre Sicherheitsregeln und Namenskonventionen.
  • Er legt mit Ihnen fest, welche Teile des Codes einen benannten Freigebenden brauchen.
  • Er geht mit Ihnen die Review-Ergebnisse des ersten Monats durch: was die Reviewer gemeldet haben, was Personen danach gemeldet haben und was durchgerutscht ist.
  • Er verschärft oder lockert Freigaben anhand dieser Bilanz und stimmt weiter ab, wenn sich Code und Team ändern.

Woran Sie erkennen, ob es funktioniert

Führen Sie im ersten Monat eine einfache Liste. Notieren Sie je Pull Request, was der KI-Reviewer gemeldet hat, was danach eine Person gemeldet hat und ob etwas bis zu einer späteren Korrektur durchgerutscht ist. Finden Menschen immer wieder echte Probleme, die die KI übersehen hat, ziehen Sie das Setup enger. Besteht die KI-Ausgabe überwiegend aus Rauschen, passen Sie an, wonach Sie sie suchen lassen, bevor Sie ihr mehr anvertrauen.

Klein anfangen und ausweiten

Beginnen Sie mit KI-Review in einem risikoarmen Teil des Codes, wobei weiter eine Person jeden Merge freigibt. Schauen Sie nach einigen Wochen, wie oft die KI echte Probleme gefunden hat und wie oft sie eines übersah, das eine Person bemerkte. Lockern Sie Freigaben, wo die Bilanz sauber ist, und behalten Sie sie, wo nicht.

Häufig gestellte Fragen

Soll KI-Review das Review durch Menschen ersetzen?

Nicht bei Änderungen, die teuer oder schwer rückgängig zu machen sind. Lassen Sie die KI die Routinefehler finden, damit Menschen ihre Zeit für Urteile einsetzen, etwa ob die Änderung die richtige ist.

Darf ein KI-Reviewer selbst freigeben und mergen?

Nur dort, wo Sie es wählen, und nur bei Änderungen mit geringem Risiko. Freigaben und Merge passieren nur dort, wo Sie sie gewählt haben, und die Meinung eines einzelnen Reviewers mergt nie allein: Die automatischen Prüfungen und Ihr Branch-Schutz bleiben die Schranke. Starten Sie streng und lockern Sie erst, wenn Sie die Ergebnisse gesehen haben.

Was ist mit Secrets und Kundendaten?

Halten Sie sie außerhalb der Reichweite des Reviewers. In Dutopilot wird Code in einer abgeschotteten Sandbox verarbeitet, wir speichern nie eine Kopie Ihres Repositorys, und Laufprotokolle und Prüfergebnisse werden nach 90 Tagen gelöscht.

Smarter arbeiten, nicht härter

Setzen Sie Dutopilot auf einen Teil Ihres Backlogs an.

Buchen Sie ein Gespräch, und wir legen gemeinsam einen Pilot für ein Projekt fest. Ein Forward Deployed Engineer von Dutopilot richtet ihn dann mit Ihrem Team ein. Oder starten Sie kostenlos mit dem Solo-Tarif.