Generative-AI-Tools für Entwickler

CodeWhisperer, Bard und Copilot X im Test

30.06.2023
Von 
Martin Heller schreibt als freier Autor für die Schwesterpublikation InfoWorld.

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:

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:

Im Folgenden ein Screenshot des von CodeWhisperer generierten Codes auf Grundlage unseres eingangs gezeigten Outlines:

Amazon CodeWhisperer bei der (generativen) Arbeit.
Amazon CodeWhisperer bei der (generativen) Arbeit.
Foto: Martin Heller / Foundry

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).

Versuche, den von CodeWhisperer ausgegebenen Code zum Laufen zu bringen.
Versuche, den von CodeWhisperer ausgegebenen Code zum Laufen zu bringen.
Foto: Martin Heller / Foundry

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.