AWS Germany – Amazon Web Services in Deutschland

Die nächste Stufe KI-gestützter Workflows mit Amazon Q Developer Inline-Chat

Original von Jose Yapur, übersetzt von Tobias Nitzsche.

Am 29. Oktober 2024 haben wir die Unterstützung von Inline-Chats in Amazon Q Developer vorgestellt. Inline-Chats vereinen die Vorteile des IDE-integrierten Chats mit der Möglichkeit, Code direkt zu aktualisieren. Entwickelnde können Probleme oder Ideen direkt im Code-Editor beschreiben und erhalten KI-generierte Antworten, die nahtlos in ihre Codebasis integriert werden können. In diesem Beitrag stelle ich den neuen Inline-Chat vor und erläutere, wann Sie diese neue Funktion am besten einsetzen, um den maximalen Nutzen aus Amazon Q Developer zu ziehen.

Hintergrund

Ich begann mit der Nutzung von Amazon Q Developer (früher Amazon CodeWhisperer) bei dessen Einführung im Juni 2022. Diese erste Version enthielt Unterstützung für Inline-Vorschläge, die automatisch Code-Vervollständigungen basierend auf bestehendem Code und Kommentaren generierten. Die Inline-Vorschläge führten zu erheblichen Produktivitätssteigerungen.

Später im selben Jahr veröffentlichte OpenAI ChatGPT, und KI-gestützte Chatfunktionen wurden zum vieldiskutierten Thema. Ich persönlich fand die Chat-Erfahrung besonders hilfreich, wenn ich mir unsicher war, wie ich eine Aufgabe angehen sollte. Die Chat-Schnittstelle generierte nicht nur Code, sondern lieferte auch erklärenden Kontext. Bei vertrauten Aufgaben bevorzugte ich die Inline-Vorschläge. Wenn ich dagegen etwas Neues lernen musste, war mir der Chat lieber. Daher war ich begeistert, als Amazon Q Developer 2023 den Chat in die IDE integrierte. Damit konnte ich mir Coding-Konzepte erklären lassen, Code und Tests generieren und bestehenden Code verbessern. Der Chat in der IDE hilft mir, fokussiert zu bleiben und im Flow zu arbeiten.

Im vergangenen Jahr habe ich sowohl Inline-Vorschläge als auch Chat gleichermaßen genutzt. Obwohl ich beide Optionen schätze, sah ich noch Verbesserungspotenzial. Zum Beispiel eignen sich Inline-Vorschläge hervorragend für die Generierung von neuem Code, ermöglichen aber nicht ohne Weiteres die Aktualisierung bestehenden Codes. Chat erlaubt zwar die Aktualisierung bestehenden Codes, aber die Antwort wird im Chat-Fenster angezeigt, anstatt direkt in meinen Code integriert zu werden. Genau hier setzt Inline-Chat an, um den Workflow zu verbessern.

Einführung des Inline-Chats

Wir freuen uns, am 29. Oktober 2024 den Inline-Chat für Visual Studio Code (VS Code) und JetBrains angekündigt zu haben. Mit dem Inline-Chat kann ich zusätzlichen Kontext, wie beispielsweise die Beschreibung eines zu behebenden Fehlers, direkt im Code-Editor bereitstellen. Die KI-generierte Antwort wird dann nahtlos in meinen bestehenden Code integriert, ohne dass ich sie aus einem separaten Chat-Fenster kopieren und einfügen muss. Ich kann die vorgeschlagenen Änderungen einfach überprüfen und mit minimalem Aufwand annehmen oder ablehnen. Diese neue Funktion eignet sich ideal für die Bearbeitung bestehender Dateien zur Fehlerbehebung, Code-Optimierung, Refactoring und zum Hinzufügen von Kommentaren. Und sie ist im umfangreichen kostenlosen Kontingent von Amazon Q Developer enthalten.

Der Inline-Chat ist äußerst leistungsfähig und hilft mir, komplexere Aufgaben schnell und präzise zu bewältigen. Hinter einem Assistenten steckt viel Technologie, aber eine wichtige Komponente ist das zugrundeliegende Modell. Der Inline-Chat ist die erste Amazon Q Developer-Funktion, die von der neuesten Version von Anthropics Claude 3.5 Sonnet unterstützt wird, welche am 22. Oktober eingeführt wurde. Dieses neue Modell „zeigt umfassende Verbesserungen bei Branchen-Benchmarks, mit besonders starken Fortschritten im Bereich des agentischen Programmierens.“ [EN, Extern] Zum Zeitpunkt dieses Artikels ist das verbesserte Claude 3.5 Sonnet das leistungsstärkste Modell auf SWE-bench [EN, Extern] und löst 49% des verifizierten Datensatzes, der aus 500 realen GitHub-Issues besteht. Dies demonstriert die beeindruckenden Fähigkeiten des neuesten Anthropic-Modells.

Amazon Q Developer basiert auf Amazon Bedrock, einem vollständig verwalteten Service zur Entwicklung generativer KI-Anwendungen, der eine Auswahl an leistungsstarken Grundlagenmodellen (engl. Foundation Models, FMs) von Amazon und führenden KI-Unternehmen bietet. Amazon Q nutzt mehrere FMs, einschließlich FMs von Amazon, und leitet Aufgaben an das FM weiter, das am besten dafür geeignet ist. Amazon Q wird kontinuierlich verbessert, und wir aktualisieren oder verfeinern regelmäßig die zugrundeliegenden Modelle, um die Leistung zu steigern und die neuesten Technologien zu nutzen.

Durch die Nutzung dieses hochmodernen Anthropic-Modells für die neue Inline-Chat-Funktion bietet Amazon Q Developer einen KI-Assistenten, der Ihnen Zeit spart und Sie bei der Bewältigung Ihrer komplexesten Programmierherausforderungen mit unübertroffenen Fähigkeiten unterstützt. Und dank der nahtlosen Modell-Updates im Hintergrund können Sie sicher sein, dass sich Ihre Erfahrung kontinuierlich verbessern wird. Lassen Sie uns einen Blick darauf werfen, wie der Inline-Chat funktioniert.

Code-Refactoring

Schauen wir uns den Inline-Chat in Aktion an. Stellen Sie sich vor, ich habe eine Klasse, die Nachrichten auf einer Webseite anzeigt. Sie war anfangs einfach, aber im Laufe der Zeit habe ich einige Varianten hinzugefügt, um die Farbe zu ändern sowie Warn- und Fehlermeldungen anzuzeigen. Ich möchte nicht immer weitere Varianten hinzufügen, daher bitte ich Amazon Q Developer um ein Refactoring. Ich wähle alle vier Methoden aus und drücke + I auf dem Mac oder Strg + I unter Windows. Dann gebe ich Q Developer die Anweisung „refactor these into a single method with optional parameters for the color and message type“ (diese Methoden in eine einzige Methode mit optionalen Parametern für Farbe und Nachrichtentyp umwandeln).

Wie im vorherigen Video zu sehen ist, hat Amazon Q Developer meinen Code in eine einzige Methode umgewandelt. Beachten Sie, dass Q mir anzeigt, welche Zeilen hinzugefügt werden (in Grün) und welche entfernt werden (in Rot). Ich bin mit diesem Vorschlag zufrieden und bestätige ihn mit der Eingabetaste. Q Developer führt dann die Änderungen in meinem Code zusammen.

Während ich dies auch im Chat-Fenster hätte tun können, hätte ich dort die Antwort kopieren und manuell in meinen Code einfügen müssen. Der Inline-Chat liefert einen Diff, sodass ich genau sehen kann, welche Teile hinzugefügt und welche entfernt werden. Alternativ hätte ich auch Inline-Vorschläge nutzen können, um eine neue Methode zu generieren. Allerdings hätte ich dann die alten Methoden manuell aufräumen müssen. Die neue Inline-Chat-Funktion eignet sich besonders gut für die direkte Aktualisierung von Code.

Dokumentation hinzufügen

Ich möchte eine weitere praktische Anwendung des Inline-Chats demonstrieren. Kürzlich arbeitete ich an einem komplexen Datenverarbeitungsalgorithmus, den ich vor einiger Zeit geschrieben hatte. Obwohl der Code korrekt funktionierte, fehlte eine angemessene Dokumentation. Da dies die zukünftige Wartung und das Verständnis im Team erschweren könnte, beschloss ich, eine umfassende Dokumentation hinzuzufügen.

Ich wählte die gesamte Funktion aus und aktivierte den Inline-Chat mit + I auf dem Mac (oder Strg + I unter Windows). In der Chat-Oberfläche gab ich die Anweisung „Add documentation including descriptive comments throughout the code“ (Füge Dokumentation einschließlich beschreibender Kommentare im gesamten Code hinzu) ein. Amazon Q Developer analysierte den Code umgehend und generierte passende Dokumentation. Die Vorschläge erschienen mit in Grün hervorgehobenem neuen Text, der die Ergänzungen kennzeichnete.

Amazon Q Developer erstellte einen detaillierten Kommentarblock am Anfang des Skripts, einschließlich Parameterbeschreibungen und Informationen zu Rückgabewerten. Zusätzlich wurden im gesamten Code Inline-Kommentare eingefügt, die komplexe Logik und Berechnungen erklären. Nach einer gründlichen Überprüfung der vorgeschlagenen Dokumentation bestätigte ich die Änderungen durch Drücken der Eingabetaste oder Klicken auf „Akzeptieren“. Amazon Q Developer integrierte die neue Dokumentation dann nahtlos in den bestehenden Code.

Diese Funktion erweist sich als besonders nützlich beim Umgang mit Legacy-Code oder bei der Vorbereitung auf neue Teammitglieder, die einem Projekt beitreten. Sie hilft dabei, einen einheitlichen Dokumentationsstil in der gesamten Codebasis zu wahren und reduziert den Zeitaufwand im Vergleich zur manuellen Dokumentation erheblich. Der resultierende, gut dokumentierte Code ist selbsterklärend, was den Entwicklungsprozess beschleunigen kann. Der Inline-Chat hat es effizienter gemacht, Codebasen gut dokumentiert und wartbar zu halten.

Fazit

Mit der Einführung des Inline-Chats hat Amazon Q Developer den nächsten Schritt in der KI-gestützten Entwicklung vollzogen und vereint dabei die Vorteile des IDE-integrierten Chats mit der Möglichkeit, Code direkt zu aktualisieren. Diese neue Funktion, die von Anthropics neuestem Claude 3.5 Sonnet angetrieben wird, ermöglicht es Entwickelnden, komplexe Programmierherausforderungen effizient zu bewältigen. Ob es um die Generierung neuer Funktionen, das Refactoring bestehenden Codes oder das Hinzufügen umfassender Dokumentation geht – der Inline-Chat optimiert den Workflow und eliminiert die Notwendigkeit, zwischen separaten Chat- und Editor-Fenstern zu wechseln. Durch die kontinuierliche Integration der neuesten Fortschritte bei KI-Sprachmodellen stellt Amazon Q Developer sicher, dass Entwickelnde stets Zugriff auf den fortschrittlichsten und leistungsfähigsten KI-gestützten Assistenten haben. Dieser übernimmt die undifferenzierte Schwerstarbeit und ermöglicht es ihnen, sich auf das zu konzentrieren, was sie am besten können – qualitativ hochwertigen, innovativen Code zu schreiben.

Sie können diese Funktion noch heute ausprobieren, indem Sie Ihre Amazon Q Developer-Erweiterung für VS Code oder JetBrains aktualisieren oder neu installieren.