KI-Programmiergehilfe CodeWhisperer ist Amazons Alternative zu GitHub Copilot

Auf AWS ist mit CodeWhisperer ein Machine-Learning-Service zunächst als Preview verfügbar, der Code auf Basis von Kommentaren in natürlicher Sprache erstellt.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen

(Bild: sdecoret/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Kurz nach der öffentlichen Freigabe von GitHub Copilot startet Amazon Web Services (AWS) eine eigene KI-Programmierhilfe: Amazon CodeWhisperer wertet Kommentare in natürlicher Sprache aus und erstellt daraus Codevorschläge. Außerdem sucht der Service nach potenziellen Schwachstellen in Projekten.

Zunächst ist CodeWhisperer als Preview verfügbar, und zum Start flüstert er Hilfen zu Java, JavaScript und Python. Der Dienst lässt sich mit zahlreichen Entwicklungsumgebungen und Sourcecode-Editoren verbinden, darunter die JetBrains-IDEs IntelliJ, PyCharm und WebStorm sowie Visual Studio Code und AWS Cloud 9. Auch mit der AWS-Lambda-Konsole für Serverless Computing arbeitet er zusammen.

Die grundsätzliche Arbeitsweise erinnert an Copilot, den GitHub vor einem Jahr erstmals vorgestellt und vor Kurzem öffentlich freigegeben hat. Beide Systeme nutzen mit umfangreichen Sourcecodevorlagen trainierte Machine-Learning-Modelle. Ein AWS-Blogbeitrag spricht von mehreren Milliarden Codezeilen als Trainingsgrundlage. Dabei handelt es sich laut AWS um eine Mischung aus hauseigenem und Open-Source-Code. Die Verwendung von Letzterem führte gleich zum Start der Copilot-Preview zu Kritik und der Frage, ob der Dienst Urheberrechte verletzt.

Das in den Trainingsvorlagen Gelernte nutzt das Modell, um auf der Basis von Kommentaren in natürlicher Sprache passenden Code vorzuschlagen. Ein Beispiel auf der Produktseite erstellt <div>-Blöcke aus zwei Arrays für eine React-Anwendung. Neben den allgemeinen Trainingsdaten bezieht CodeWhisperer wohl den lokalen Code in der IDE für seine Codevorschläge ein, um sich der Programmierweise der Entwicklerin beziehungsweise des Entwicklers anzupassen.

CodeWhisperer kann wohl prüfen, ob seine Vorschläge zu nah an Code in den Trainingsdaten sind. Mit Blick auf das bei vielen Machine-Learning-Anwendungen vorhandene Problem des Bias achtet CodeWhisperer laut AWS darauf, dass die Codevorschläge nicht "vorurteilsbehaftet oder unfair" sind.

Der CodeWhisperer markiert seinen Codevorschlag, den er auf Grundlage des Kommentars erstellt hat.

(Bild: AWS)

Neben allgemeinen Codevorlagen kennt CodeWhisperer die Cloud-Dienste von AWS, um beispielsweise Code zu erstellen, der einen S3-Bucket anlegt. Anwendungen für AWS-Services finden sich explizit unter den Anwendungsfällen auf der Projektseite. Daneben soll er beim Generieren von Unit-Tests ebenso helfen wie beim Erstellen von Code zum Trainieren eigener ML-Modelle.

Das Erstellen eines S3-Bucket in Python gehört zum Basisrepertoire des Tools.

(Bild: AWS)

Darüber hinaus bietet CodeWhisperer Security-Scans an, um Schwachstellen in Projekten aufzuspüren. Interessanterweise sind diese Überprüfungen auf Java und Python begrenzt, während ausgerechnet JavaScript außen vor bleibt.

Weitere Details lassen sich der AWS-Ankündigung entnehmen. CodeWhisperer wird Bestandteil des AWS-IDE-Toolkits, ist aber derzeit nur im Rahmen einer geschlossenen Preview verfügbar. Interessierte können sich auf eine Warteliste eintragen. Offenbar ist ein AWS-Account nur für das Zusammenspiel mit AWS Cloud 9 und AWS Lambda erforderlich.

(rme)