Definition Was ist Amazon CodeWhisperer?
Anbieter zum Thema
Amazon CodeWhisperer ist ein Programmcodegenerator mit Künstlicher Intelligenz. Er ist als Coding-Begleiter und Programmierhilfe einsetzbar. CodeWhisperer basiert auf einem mit Milliarden von Codezeilen trainierten künstlichen neuronalen Netzwerk und beherrscht 15 verschiedene Programmiersprachen wie Java, JavaScript oder Python. Die Nutzung der Programmierhilfe ist für Einzelpersonen kostenlos. Für Unternehmen gibt es eine kostenpflichtige Professional-Version des KI-Coding-Begleiters.

Unter dem Produktnamen CodeWhisperer bietet Amazon Web Services (AWS) einen Programmcodegenerator mit Künstlicher Intelligenz an. CodeWhisperer wurde 2022 als Preview veröffentlicht und ist inzwischen für die Allgemeinheit verfügbar. Amazon bezeichnet CodeWhisperer selbst als „KI-Coding-Begleiter“. Der Codegenerator steht in Konkurrenz mit vergleichbaren Lösungen wie GitHub Copilot und basiert auf einem künstlichen neuronalen Netzwerk, das mit Milliarden von Codezeilen trainiert wurde. Im Grunde genommen handelt es sich um ein generatives Large Language Model (großes Sprachmodell) speziell für Programmcode.
Amazon CodeWhisperer beherrscht 15 verschiedene Programmiersprachen wie Java, JavaScript und Python und diverse Entwicklungsumgebungen wie AWS Cloud9, Amazon SageMaker Studio, VS Code und andere. Beim Programmieren liefert Amazon CodeWhisperer auf Basis eingefügter Kommentare und des bereits vorhandenen Codes in Echtzeit Programmcodevorschläge in Form von einzelnen oder mehreren Programmzeilen. Der vorgeschlagene Programmcode kann direkt übernommen, angepasst oder verworfen werden. Darüber hinaus findet CodeWhisperer Sicherheitsprobleme in vorhandenem oder generierten Programmcode und markiert Open-Source-Bestandteilen ähnelnde Codevorschläge. Amazon CodeWhisperer soll mit den bereitgestellten Funktionen die Arbeit von Programmierern erleichtern und beschleunigen.
Das Preismodell von Amazon CodeWhisperer
Amazon bietet CodeWhisperer in zwei verschiedenen Stufen an. Für Einzelentwickler ist das Tool kostenlos nutzbar. Zur Nutzung der Individualstufe genügt die Registrierung einer AWS Builder ID mit einer E-Mail-Adresse. Zum Funktionsumfang der Individualstufe gehören unbegrenzte Programmcodevorschläge, eine begrenzte Anzahl von Programmcode-Sicherheitsscans pro Monat und die Referenznachverfolgung von Open-Source-Bestandteilen.
Für Unternehmen gibt es eine kostenpflichtige Professional-Stufe des Amazon CodeWhisperer. Sie wird in einem Abonnementmodell pro Benutzer und Monat abgerechnet und bietet Unternehmen zusätzliche zentrale Verwaltungsfunktionen für den Zugriff der Entwickler auf die Programmierhilfe. Darüber hinaus lassen sich Einstellungen konfigurieren, die Codevorschläge mit bestimmten Referenzen zulassen oder ausschließen.
Funktionsweise, zugrundeliegendes KI-Modell und Training
Amazon CodeWhisperer nutzt ein großes generatives Sprachmodell (Large Language Model – LLM) als Funktionsgrundlage. Es ist von seiner grundsätzlichen Funktionsweise vergleichbar mit generativen Sprachmodellen wie die GPT-Sprachmodelle (Generative Pretrained Transformer) und andere, wurde aber speziell für das Erstellen von Programmcode angepasst. Das künstliche neuronale Netzwerk des Sprachmodells wurde mit Milliarden von Programmcodezeilen trainiert. Das Trainingsmaterial setzt sich aus Open Source Code verschiedener Quellen und Programmcode von Amazon zusammen.
In der Inferenzphase analysiert Amazon CodeWhisperer in Echtzeit die eingegebenen englischsprachigen Kommentare des Programmierers und den bereits vorhandenen Programmcode. Aus diesen Informationen und dem im Training erworbenen Programmierwissen erstellt CodeWhisperer in Echtzeit ein oder mehrere Programmcodevorschläge. Sie können aus einzelnen Zeilen, aber auch aus Blöcken mit mehreren Zeilen Programmcode bestehen.
Die von CodeWhisperer bereitgestellten Funktionen
Der Amazon CodeWhisperer stellt diese drei Grundfunktionen zur Verfügung:
- Codevorschläge
- Sicherheitsscans
- Referenz-Tracking
Codevorschläge liefert CodeWhisperer im Code-Editor für integrierte Entwicklungsumgebungen (IDE). Sie entsprechen dem jeweiligen Programmierstil und halten die Namenskonventionen ein. Die Codevorschläge sind für die Verwendung mit AWS-Services und -APIs wie Amazon EC2, Amazon S3 oder AWS Lambda optimiert.
Derzeit (Stand Juli 2023) unterstützt Amazon CodeWhisperer 15 Programmiersprachen (Python, Java, JavaScript, TypeScript, C#, C, C++, Go, Rust, PHP, Ruby, Kotlin, Shell-Scripting, SQL und Scala). Der CodeWhisperer lässt sich von verschiedenen Entwicklungsumgebungen (JetBrains-IDEs, Visual Studio (VS) Code, AWS Cloud9, AWS-Lambda-Konsole, JupyterLab und Amazon SageMaker Studio) aus nutzen.
Im Rahmen der Sicherheitsscans untersucht Amazon CodeWhisperer vorhandenen oder von CodeWhisperer vorgeschlagenen Programmcode nach Sicherheitsproblemen und -lücken. Die Scans finden in der Entwicklungsumgebung statt und liefern Vorschläge zur Behebung des Sicherheitsproblems.
Der Referenz-Tracker des Amazon CodeWhisperer erkennt, ob Codevorschläge Open-Source-Code-Bestandteilen der Trainingsdaten ähneln und kennzeichnet diese. Auf Basis von Informationen wie Repository-URL, Dateireferenz und Lizenzinformation des Open-Source-Projekts kann der Entwickler prüfen, ob er den vorgeschlagenen Code übernehmen möchte. Für die übernommenen Vorschläge lassen sich die entsprechenden Lizenzzuordnungen hinzufügen.
Vorteile von Amazon CodeWhisperer
Nach Aussage von Amazon steigert die Verwendung des CodeWhisperer die Produktivität des Entwicklers und die Qualität des erstellten Programmcodes. Programmier- und Entwicklungsaufgaben sollen sich mit dem CodeWhisperer schneller und erfolgreicher erledigen lassen. Entwickler erhalten mehr Zeit für die eigentliche Ideenfindung und das Lösen komplexer Problemstellungen. Dank der Unterstützung zahlreicher Programmiersprachen und Entwicklungsumgebungen ist der CodeWhisperer vielseitig einsetzbar. Durch Sicherheitsscans lassen sich Sicherheitslücken und -schwachstellen im Programmcode automatisiert finden und durch die bereitgestellten Vorschläge schneller beheben.
Schwächen und Risiken von Amazon CodeWhisperer
Die Codevorschläge des CodeWhisperer können Fehler enthalten und dürfen auf keinen Fall einfach übernommen werden. Entwickler müssen prüfen, ob der Programmcode tatsächlich das ausführt, was er soll, und ihn gegebenenfalls anpassen. Auch auf potenzielle Sicherheitsprobleme, Verwendung von vorhandenen Open-Source-Code-Bestandteilen oder Voreingenommenheit des Codes muss geprüft werden. Darüber hinaus entstehen im Vergleich zu einer rein lokalen Programmierung unter Umständen Sicherheits- und Datenschutzprobleme durch die Übertragung von Informationen während des Programmierens zum CodeWhisperer-Dienst oder durch die Speicherung von Daten auf der AWS-Plattform.
(ID:49616951)