Amazon CodeWhisperer
Geht es darum Code zu generieren, kann Amazon CodeWhisperer Entwickler auf vielfältige Weise unterstützen. Details und Tutorials in Videoform sowie eine umfassende Dokumentation finden Sie auf der Ressourcen-Seite von Amazon Web Services.
Das Large Language Model (LLM), das CodeWhisperer zugrundeliegt, wurde laut Amazon auf Milliarden von Codezeilen trainiert (sowohl Amazon-eigener als auch Open-Source-Code). Das ermöglicht es dem AI-Coding-Tool zum Beispiel, Code-Vorschläge nicht nur auf Grundlage von Kommentaren, sondern auch unter Berücksichtigung des unmittelbaren Code-Kontextes (andere Inhalte, die in der IDE geöffnet sind) zu unterbreiten. Darüber hinaus ist CodeWhisperer in der Lage, Python-, Java- und JavaScript-Code auf Sicherheitslücken zu überprüfen und Maßnahmen vorzuschlagen, um diese zu beheben. Die dafür nötigen Daten beziehungsweise Schwachstellenlisten entstammen unter anderem dem OWASP und verschiedenen Best Practices.
CodeWhisperer generiert am zuverlässigsten Code in den Sprachen:
Java,
TypeScript und
C#.
Diese wurden am häufigsten im Trainingsdatenkorpus verwendet. In geringerem Umfang wurde CodeWhisperer auch trainiert auf:
Einen kurzen Überblick darüber, wie CodeWhisperer Developer im Alltag unterstützen kann, gibt folgender Tweet:
Get more done faster with Amazon CodeWhisperer. ??????
— Amazon Web Services (@awscloud) June 9, 2023
Here are 3 techniques to help you generate & document code so you can supercharge your productivity.
Learn more. ?? https://t.co/kR4H4Y0rVu #AWS #GenerativeAI pic.twitter.com/RIynl5aqE8
Im Folgenden ein Screenshot des von CodeWhisperer generierten Codes auf Grundlage unseres eingangs gezeigten Outlines:
Leider funktioniert der ausgegebene Code nicht - und CodeWhisperer lieferte mehrere Funktionen für mehr oder weniger den gleichen Zweck. Aber: das Generative-AI-Tool von Amazon war nahe an einer funktionierenden Lösung dran. Zudem konnte es mit Details überzeugen (Stichwort: Beautiful Soup).
Im Rahmen des Tests haben wir auch einen Sicherheitsscan für unser Projekt durchgeführt. Überraschenderweise wurden dabei keine Probleme entdeckt, obwohl der CodeWhisperer-Scan ein Ressourcenleck in einer anderen Datei fand (die von GitHub Copilot X generiert wurde).
Diese Datei löste keine Open-Source-Referenzen aus, allerdings findet sich im CodeWhisperer-Referenzprotokoll ein Link zu der Einstellung, die steuert, ob CodeWhisperer Code vorschlägt, der solche Referenzen aufweist. In den Amazon-Beispielen, die wir uns angesehen haben, wurde bei Codevorschlägen mit Referenzen der Lizenztyp angezeigt.
Amazon CodeWhisperer - Fazit
CodeWhisperer generiert Code in einer IDE und führt Sicherheitsüberprüfungen durch, lässt aber ein Chat-Fenster und Code-Erklärungen vermissen. Das Tool funktioniert mehr oder weniger wie beworben und ist für Einzelentwickler kostenlos. Unternehmen bezahlen mit 19 Dollar monatlich denselben Preis wie für GitHub Copilot.