Früher oder später musste es passieren.

Und hier sind Sie nun, der Albtraum ist wahr geworden: chatgpt hat seinen Weg auf Ihren Gerrit-Server gefunden!

Es ist dazu da, Sie bei Ihren Programmier-Dos und -Don'ts zu unterstützen, sich mit den Feinheiten zu befassen und Sie beharrlich zu unterweisen, nicht unähnlich einer Sheldon-ähnlichen Figur.

Bild erstellt von DALL·E nach Aufforderung des Autors

…oder nicht?

Eigentlich überhaupt nicht.

Tatsächlich ähnelt die Verwendung von ChatGPT von Gerrit der Handhabung jedes anderen leistungsstarken Tools – es ist so eher ein Traum als ein Albtraumsolange es effektiv genutzt wird.

Bild erstellt von DALL·E nach Aufforderung des Autors

Gerrit ist ein webbasiertes Codeüberprüfungs- und Projektmanagement-Tool für Git-Repositorys. Es erleichtert die kollaborative Codierung, indem es Entwicklern ermöglicht, ihre Änderungen an einen zentralen Server zu übermitteln, wo andere die Änderungen prüfen, diskutieren und schließlich genehmigen können, bevor sie in das Projekt integriert werden. Dieser Prozess ermöglicht Mehrere Augen prüfen jedes Stück Code.

Bei AmarulaWir nutzen Gerrit in großem Umfang für unsere Entwicklungsprozesse und nutzen seine robusten Codeüberprüfungs- und Kollaborationsfunktionen. Angesichts seiner Eigenschaften kamen wir zu dem Schluss, dass die Paarung von Gerrit und ChatGPT bereits im Entstehen begriffen war. In unserem unermüdlichen Streben nach verbesserter Codequalität und verbesserter Projektmanagementeffizienz glauben wir, dass die Integration von ChatGPT in Gerrit den Überprüfungsprozess verfeinern und eine einführen kann zusätzliche Dimension der KI-gestützten Intelligenz.

Als ein Virtueller Gerrit-BenutzerChatGPT sollte dazu befugt sein

  • Angebot Einblicke Und Vorschläge
  • Bieten Automatisierte Code-Analyse
  • Antworten auf Abfragen von Entwicklern

Apropos Werkzeuge: Der schmale Grat, der einen Traum vom Albtraum trennt, ist Kontrolle.

Unter Berücksichtigung dieses Grundprinzips ist es wichtig, dass Gerrit-Administratoren die Möglichkeit haben, die ChatGPT-Überprüfungsfunktion selektiv für bestimmte Projekte, Benutzer, Gruppen und Themen zu aktivieren.

Siehe auch  Die offizielle ChatGPT-App steht in Taiwan offiziell zum Download bereit! Früherer Zugriff für iPhone-Benutzer

Die Kontrolle liegt bei den Entwicklernwie im folgenden Workflow gezeigt:

  1. Ein Gerrit-Patch-Set, bei dem die ChatGPT-Überprüfungsfunktion aktiviert ist, wird an den Gerrit-Server übermittelt.
  2. ChatGPT bietet einen ersten Einblick in das Patch-Set und dieser Einblick wird in der Gerrit-Benutzeroberfläche angezeigt.
  3. Entwickler haben die Möglichkeit, die Erkenntnisse entweder zu ignorieren oder entsprechend zu handeln.
  4. Auch Entwickler können sich dafür entscheiden Setzen Sie den Dialog mit ChatGPT innerhalb der Gerrit-Benutzeroberfläche fort um zusätzliche Erkenntnisse zu gewinnen.

Alternativ kann der Prozess auch beginnen, wenn Entwickler verwenden die Gerrit-Benutzeroberfläche, um jede Konversation mit ChatGPT zu starten unabhängig davon, ob es sich um eine allgemeine Diskussion handelt oder auf einem bestimmten Abschnitt eines Patch-Set-Codes basiert.

Das so konzipierte Gerrit-Plugin ist als Open-Source-Projekt unter verfügbar https://github.com/amarula/chatgpt-code-review-gerrit-plugin/.

Diese Initiative ist nicht nur ein bloßes Experiment. Es handelt sich um eine vollwertige Implementierung, die in realen Produktionsumgebungen rigoros getestet wird. Dieses Echtzeit-Testszenario bietet uns die einmalige Gelegenheit, die Integration auf der Grundlage praktischer Rückmeldungen und Anforderungen an Funktionserweiterungen zu verfeinern.

Uns wurde klar, dass es der richtige Zeitpunkt war, in die Produktion überzugehen. Werfen wir einen Blick auf das Ergebnis.

ChatGPT überprüft als wachsamer Aufseher PatchSets ausgewählter Gerrit-Projekte, sobald diese eintreffen. Diese Funktion stellt sicher, dass jede Einreichung einer vorläufigen KI-gesteuerten Analyse unterzogen wird, wodurch von Anfang an ein hoher Standard an Qualität und Kohärenz gesetzt wird.

ChatGPTs Einblick in ein gepatchtes Codesegment in Kotlin

Hinter den Kulissen wurde der Weg zur Verbesserung der Qualität der ChatGPT-Antworten durch sorgfältiges Prompt-Engineering beschritten. Dieser bedeutende Fortschritt umfasste mehr als nur die Feinabstimmung von Algorithmen. Der Schwerpunkt lag auf dem Verständnis der heiklen Dynamik der Entwicklerinteraktionen und der Anpassung der Antworten an diese Nuancen.

Siehe auch  Beschwerde neuer Autoren gegen ChatGPT

Eine zusätzliche Funktion ermöglicht die Prüfung der Kongruenz der Nachrichten festschreiben mit den Änderungen der Patch-Sets, um sicherzustellen, dass die Beschreibung des Commits mit den tatsächlich vorgenommenen Änderungen übereinstimmt.

ChatGPTs Einblick in eine Patch-Set-Commit-Nachricht

ChatGPT ist mehr als nur ein Tool, sondern verhält sich eher wie ein virtueller Kollege. Es ist bereit, auf Benutzeranfragen zu antworten, Vorschläge zu unterbreiten und etwaige Zweifel zu klären. Diese Funktion ähnelt einem zusätzlichen Teammitglied, das immer zur Verfügung steht, um Einblicke und Erläuterungen zu geben, ähnlich wie ein sachkundiger menschlicher Kollege.

Die Möglichkeit, Gespräche mit ChatGPT direkt aus einem Inline-Kommentar zu starten, verleiht der Interaktion eine zusätzliche Dynamik. Benutzer können Rezensionen zu bestimmten Teilen des Codes anfordern, die sogar über das aktuelle Patch-Set hinausgehen, oder nach Verbesserungsvorschlägen fragen. Diese Funktion bringt im Wesentlichen einen On-Demand-Code-Review-Assistenten in den Workflow, der auf Knopfdruck verfügbar ist.

Im folgenden Beispiel erkundigt sich der Autor weiter nach der Implementierung einer von ChatGPT empfohlenen Änderung und demonstriert die interaktiven und reaktionsfähigen Funktionen der Funktion.

ChatGPTs Interaktion mit dem Autor an einem gepatchten Codesegment in Java

Im nächsten Beispiel wird ChatGPT nach einem anderen Implementierungsansatz für ein Codesegment gefragt steht nicht in direktem Zusammenhang mit den Änderungen im Patch-Set.

ChatGPT-Interaktion mit dem Autor als Antwort auf eine Anfrage zu einer Codezeile aus einem Python-Projekt

Der Ausführlichkeitsgrad kann durch die gezielte Anforderung mehrerer Alternativen und Codebeispiele weiter erhöht werden.

ChatGPT-Interaktion mit dem Autor als Antwort auf eine Anfrage zu einer Codezeile aus einem Python-Projekt

Es ist auch möglich, umfassendere Anfragen zum Thema zu stellen gesamtes Patch-Set.

ChatGPT-Antwort auf eine allgemeine Anfrage zu einem Kotlin-Projekt

Nicht zuletzt legen wir größten Wert auf Sicherheit und Datenschutz.

Um Szenarien zu erkennen, in denen die Vertraulichkeit des Codes von größter Bedeutung ist, haben wir eine neue Konfigurationsoption eingeführt (gptFullFileReview), was, wenn es auf „false“ gesetzt ist, den von ChatGPT überprüften Code auf nur die vorgenommenen Änderungen beschränkt, ohne die gesamte Datei einzubeziehen. Diese Funktion stellt sicher, dass vertrauliche Informationen innerhalb der Grenzen der Organisation bleiben, wodurch geistiges Eigentum geschützt und Datenschutzstandards eingehalten werden.

Siehe auch  Die Plug-In-Funktion des ChatGPT-Plugins ermöglicht das Unterrichten und die vollständige Klassifizierung und Zusammenfassung des aktuellen Plug-Ins – Computer King Ada

Unsere Untersuchung der Integration von ChatGPT in Gerrit hat mehrere wichtige Punkte hervorgehoben:

  • Virtueller Gerrit-Mitarbeiter: Wir haben die bahnbrechende Integration von ChatGPT in ein Gerrit-Plugin besprochen und gezeigt, wie es nicht nur als Werkzeug, sondern auch als virtueller Mitarbeiter im Entwicklungsprozess fungiert.
  • Kontrolle und Anpassung: Wir haben die Bedeutung der Kontrolle betont, die es Gerrit-Administratoren ermöglicht, ChatGPT selektiv für bestimmte Projekte, Benutzer, Gruppen und Themen zu aktivieren, und es Entwicklern ermöglicht, die Kontrolle fest im Griff zu behalten. Dadurch wird sichergestellt, dass die Erkenntnisse von ChatGPT relevant sind und auf die Bedürfnisse der Entwickler abgestimmt sind.
  • Interaktive und reaktionsfähige Natur: Die Funktion, die es Entwicklern ermöglicht, Konversationen basierend auf ersten Erkenntnissen fortzusetzen oder selbstständig neue zu starten, unterstreicht die interaktive und reaktionsfähige Natur des Plugins.
  • Sicherheit und Privatsphäre: Wir haben Best Practices zur Aufrechterhaltung von Sicherheit und Datenschutz bei der Verwendung von ChatGPT innerhalb von Gerrit geteilt.

Durch die Integration von ChatGPT in Gerrit wollen wir die Codequalität verbessern, das Projektmanagement rationalisieren und KI-gesteuerte Intelligenz in den Softwareentwicklungslebenszyklus einführen. Diese Integration ist ein Schritt hin zu einer effizienteren, kollaborativeren und intelligenteren Programmierumgebung und unterstreicht unser Engagement für Innovation und Exzellenz in der Softwareentwicklung.

Für alle, die das Plugin testen möchten, gibt es eine Version dieses Artikels, einschließlich a Schnellstart Die Anleitung finden Sie unter https://wiki.amarulasolutions.com/opensource/chatgpt-gerrit.html

Anzeige
Nina Weber
Nina Weber is a renowned Journalist, who worked for many German Newspaper's Tech coloumns like Die Zukunft, Handelsblatt. She is a contributing Journalist for futuriq.de. She works as a editor also as a fact checker for futuriq.de. Her Bachelor degree in Humanties with Major in Digital Anthropology gave her a solid background for journalism. Know more about her here.