Q Developer - AI Coder Built for Scale - Code, Review, Ship

A walkthrough of Amazon Q Developer, an AI coding assistant for VS Code. The demo builds a Python web app that generates images using the Flux model, then uses Q Developer's slash-commands to review code, auto-generate tests, and add new features by modifying the existing codebase.
Chapters
Heute schauen wir uns Q Developer an, einen Code Assistenten von Amazon, dem Sponsor des heutigen Videos. Sie fragen sich, warum schon wieder ein Key Codierungsassistent? Nun, dieser ist ganz anders wie bei anderen Codierungsassistenten und AIDS können Sie ihn in natürlicher Sprache anweisen, Codes für Sie zu schreiben und Sie können mit Ihrer Codebasis chatten. Er hilft Ihnen aber auch bei der Durchführung von Code Reviews, was eine der Funktionen ist, die mir daran sehr gefällt und die besonders im Zeitalter der Webcodierung von entscheidender Bedeutung ist. Azure bietet verschiedene Funktionen von Q Developer, indem Sie eine Web App erstellen und ändern, die Texteingaben vom Benutzer empfängt und Bilder generiert. Sie können kostenlos mit einem Q Developer mit einer ID Ihrer Wahl loslegen. Ich werde eine Variante von Visual Studio Code verwenden. Bevor wir damit experimentieren, schauen wir uns diesen Schnellstart an. Q Developer hat die höchsten gemeldeten Code Akzeptanzraten in der Branche für Assistenten, die mehrzeilige Codevorschläge machen und er bietet Sicherheitsscan Funktionen, die im Zeitalter der Keycodierung von entscheidender Bedeutung sind. OK, um zu beginnen, verwende ich einen Klon von Visual Studio Code. Hier suchen wir also nach Erweiterungen. Wenn Sie also in Visual Studio Code nach Amazon suchen, sehen Sie den Q Entwickler, den wir installieren können. Sie können kostenlos loslegen. Ich wähle also die kostenlose Option aus. Klicken wir auf Fortfahren. Dann wird mein Amazon Konto geöffnet. Wenn Sie noch kein Amazon Konto haben, registrieren Sie sich einfach und erstellen Sie eine AWS Bilder ID. Nachdem ich mein Konto erstellt und ihm Zugriff gewährt habe, wird diese Meldung angezeigt. Anfrage genehmigt und jetzt kann ich die AWS ID Erweiterungen in Visual Studio Code verwenden. OK, wir sind also fertig und jetzt kann ich Ihnen zeigen, wie qentwickler aussieht. Als erstes sollten Sie sich die verschiedenen verfügbaren Befehle ansehen. Wenn Sie einen Schrägstrich eingeben, wird eine Liste der verschiedenen Agentenfunktionen angezeigt. Die erste ist definitiv. Dies ist äußerst hilfreich, wenn Sie mit vorhandenem Code arbeiten oder wenn Sie möchten, dass der Agent Sie beim Erstellen eines Features von Grund auf unterstützt. Wir werden die meiste Zeit in diesem Video mit dem Befehl dev verbringen. Dann gibt es den Befehl test, der Unittests für ausgewählten Code generiert. Im Moment konzentriert er sich auf Java und Python. Die Funktion, die mir persönlich am besten gefällt, ist die Review Funktion. Damit können Codeprobleme identifiziert und behoben werden. Es gibt auch eine Doc Funktion. Damit kann Dokumentation hinzugefügt oder deine Java spezifischen Projekte transformiert werden. Es gibt noch ein paar andere Optionen. Eine ist die Hilfe und die andere ist das Löschen einer Sitzung. Also beginnen wir zuerst mit der def Funktion. Wenn du dir gerade mein Projekt ansiehst, gibt es keine Dateien. Nehmen wir an, wir möchten eine Funktion von Grund auf neu implementieren und unsere Funktion besteht darin, eine HTML basierte Webanwendung zu erstellen, die über ein Python Backend verfügt, das die Replicate API und das Flux Modell nutzt. Die App sollte es dem Benutzer ermöglichen, eine Textbeschreibung einzugeben und entsprechende Bilder zu generieren. Nach dem Laden wird ein zentriertes Eingabefeld mit dem Platzhaltertext angezeigt. Stellen Sie sich vor, der Benutzer sendet einen Text, dann wird das auf der Replicate API gehostete Flux Modell aufgerufen, um Bilder zu generieren. Anschließend kann der Benutzer das Bild entweder herunterladen oder über dieselbe Eingabeaufforderung neu generieren. Es gibt noch ein paar weitere Anforderungen für die Für diese Anwendung möchte ich die REST API verwenden. Die Dokumentation ist auf der Replicate Website verfügbar. Ich kopiere diese Dokumentation zusammen mit meinen Anforderungen und stelle sie Q Developer zur Verfügung. Ich lasse es seine Magie entfalten. In diesem Fall muss es diese Funktion oder Anwendung von Grund auf implementieren. Es gibt keine vorhandene Codebasis. Später zeige ich Ihnen, wie Sie die Funktionen des Q Developers Agent nutzen können, um die vorhandene Codebasis durch Hinzufügen einer neuen Funktion zu ändern. QDeveloper zeigt Ihnen tatsächlich den Fortschritt an und dann gibt es diese In the loop Komponente, bei der der Mensch alle durchgeführten Vorgänge akzeptieren muss, was meiner Meinung nach im Zeitalter von V Coding sehr wichtig ist. Okay, es wird also fünf verschiedene Dateien für uns entwickeln und immer wenn Sie den def Befehl ausführen, wird Ihnen angezeigt, welche Dateien geprüft werden, erstellt, geändert oder gelöscht wurden. OK, hier sind also alle Dateien, die generiert wurden. Jetzt werden dir auch die Unterschiede zwischen den verschiedenen Dateien angezeigt. Richtig? Wir haben diese Dateien noch nicht erstellt, denn wenn du dir deinen Arbeitsbereich ansiehst, gibt es da noch nichts. Wir müssen also jede einzelne Datei überprüfen und dann die Änderungen akzeptieren. Ich werde also alle Änderungen auf einmal akzeptieren. Wenn wir jetzt zurückgehen und hier nachsehen, befinden sich alle Dateien hier in unserem Arbeitsbereich. Ich habe das Programm angewiesen, eine Projektstruktur zu erstellen, was es auch tun konnte. Außerdem habe ich Schritt für Schritt Anweisungen zum Ausführen dieser App erhalten. Ich habe bereits eine virtuelle Umgebung namens Q erstellt, daher werde ich mein repliziertes API Token bereitstellen und dann können wir diese App wahrscheinlich ausführen. OK, Für mein repliziertes API Token gehe ich zu meinem replizierten Konto, kopiere einfach dieses Token und führe es dann im Terminal aus. OK, ich denke, wir sind fertig. Mal sehen, ob die App tatsächlich läuft. Alles klar. Okay. Es gibt also eine andere App, die denselben Port verwendet. Ich schließe das mal und wir führen es noch einmal aus. Wir können hier tatsächlich eine Webansicht sehen. Das ist ziemlich praktisch, weil ich die Generierung direkt sehen kann. Lassen Sie es uns also bitten, ein Bild eines Lamas zu erstellen. Okay, das ist ziemlich praktisch. Es kann das Bild generieren. Wenn wir auf Herunterladen klicken, kann es das Bild meiner Meinung nach auch herunterladen. Wenn wir auf Neu generieren klicken, kann es das Bild ebenfalls neu generieren. Es hat also alle verschiedenen Funktionen implementiert, die wir wollten. OK. Und wenn Sie sich diese Nachricht ansehen, steht für die zukünftige Aufgabe. In diesem Projekt kann ich eine Entwicklungsdatei erstellen, um Codes zu entwickeln und zu testen, während ich sie generiere. Dies kann die Qualität des generierten Codes verbessern, sodass ich eine Entwicklungsdatei erstellen kann. Wählen Sie Entwicklungsdatei generieren, um Code zu erstellen. Lassen Sie uns das tun und es wird die Codebasis für uns aktualisieren. Alles klar. Währenddessen gehen wir zu dieser Datei. Roots py. Dies ist im Grunde die Hauptimplementierung des REST API Aufrufs. Wie die anderen Key Codierungsassistenten verfügt auch dieser über eine Reihe integrierter Funktionen. Wenn ich ihn beispielsweise bitte, Kommentare hinzuzufügen, um die Funktionsweise des Codes zu dokumentieren, kann er das tatsächlich ziemlich effektiv tun. Die Key denkt also gerade nach und hier zeigt sie mir tatsächlich, welche Kommentare sie hinzufügen wird. Dies basiert auf der IDE, die Sie verwenden werden. Ich verwende die Tray Key, die ein Klon von Visual Studio Code ist. Ich kann nun jeden einzelnen Kommentar akzeptieren. Oder ich klicke einfach auf Akzeptieren. Dadurch werden alle Kommentare auf einmal hinzugefügt. Wie bei anderen IDEs kann ich ihn auch einfach bitten, diesen Code zu erläutern. Richtig. Er wird also wieder einige Kommentare zur Codebasis hinzufügen. Aber die Funktion, die mir persönlich am besten gefällt, ist diese Überprüfungsfunktion. Wenn Sie ihn also bitten, die Codebasis für Sie zu überprüfen, haben Sie zwei Möglichkeiten. Arbeitsbereich überprüfen. Das bedeutet, dass er alle Dateien im Arbeitsbereich prüft und eine gründliche Codeüberprüfung durchführt. Oder Sie können nur eine aktive Datei überprüfen. Wir bitten das Programm also, den Arbeitsbereich zu überprüfen. Es hat also die erste Codeüberprüfung gestartet. Dann wird es den Code überprüfen und uns dann die Ergebnisse anzeigen. Alles klar. Hier sind also die Ergebnisse. Es wurde ein kritisches Problem gefunden, Das andere hat einen mittleren Schweregrad. Sie können sich hier alle Probleme ansehen. Wenn Sie beispielsweise Hier klicken, steht Paket 1 Flask ist ein schlankes Webanwendungsframework. Richtig. Es wird Ihnen auch ein Lösungsvorschlag angezeigt. Wir können diesen fix hier also akzeptieren. Es gibt ein Problem mit mittlerem Schweregrad. Sie können sich das auch hier ansehen. Sie können das Programm einfach bitten, das Problem zu erläutern. Hier wird die Q Agent Funktion zur Erklärung verwendet. Es wird Ihnen das Problem erläutern und Ihnen mögliche Lösungen dafür anzeigen. Außerdem werden Ihnen Folgefragen vorgeschlagen, Fragen, die sehr hilfreich sind, insbesondere wenn Sie mehr über bewährte Methoden erfahren möchten. Das Programm kann Ihnen auch beim Schreiben von Komponententests helfen. Diese Funktion funktioniert so, dass Sie eine bestimmte Funktion angeben können. Ich kopiere das einfach und gebe die Funktion an, für die wir einen Unittest schreiben möchten. Jetzt muss der Agent herausfinden, wo sich diese Funktion befindet und dann einen Unittest dafür schreiben. Sie sehen hier, dass in roots py unittest for the following method steht. Er konnte diese spezifische Funktion finden und schreibt jetzt einen Unittest. Entschuldigung, das ist extrem leistungsstark, da Sie beim Testen Ihres gesamten Codes eine sehr gute Abdeckung haben möchten. Nehmen wir also an, wir akzeptieren dies und dann können Sie diese Unit Tests ausführen, um sicherzustellen, dass der Code das tut, wofür er entwickelt wurde. Q Developer ist wirklich gut darin, neue Funktionen hinzuzufügen. Nehmen wir also an, wir starten eine komplett neue Chatsitzung und jetzt verwende ich den Befehl dev, um eine neue Funktion in unserer App zu implementieren. Diesmal möchte ich der Benutzeroberfläche eine neue Schaltfläche mit der Bezeichnung Bild bearbeiten hinzufügen. Wenn darauf geklickt wird, sollte der Benutzer über die Schaltfläche eine neue Eingabeaufforderung zum Bearbeiten des zuvor generierten Bildes bereitstellen, können Nach Erhalt der neuen Eingabeaufforderung sowohl das Originalbild als auch die aktualisierte Eingabeaufforderung an die angegebene API senden, um das bearbeitete Bild zu erhalten und ich werde ihr den Rest zur Verfügung stellen. API für dieses Bildbearbeitungstool. Hier habe ich also diese und die restliche API bereitgestellt. Jetzt muss sie die Codebasis tatsächlich verstehen und dann diese neue Funktion implementieren, da wir ihr keinen Kontext gegeben haben. Sie muss also identifizieren, welche Datei genau sie aktualisieren muss. Das bedeutet, dass sie die gesamte Codebasis indizieren muss. Hier hat sie also eine Liste der Änderungen und dann die Dateien, die sie ändern möchte, angezeigt. Okay, hier hat sie also diese Änderungen vorgenommen und wir können hier den Unterschied sehen. Ich werde also einfach alles akzeptieren und dies ausführen und sehen, was passiert. Nach einigem Hin und Her habe ich folgendes Wir können auf Bild generieren klicken. Es zeigt uns das Bild des Lamas und wenn ich jetzt auf Bild bearbeiten klicke, wird mir ein anderes Textfeld angezeigt. Mal sehen, was passiert, wenn man dem Hintergrund Wasser und dem Himmel Wolken hinzufügt. OK, Wir senden das jetzt ab und schauen, was passiert. Okay, das ist schon ziemlich cool. Es hat im Hintergrund Wasser hinzugefügt und auch ein paar Wolken. OK. Und genau wie andere Keycode-Entwickler oder Ideengeber hat. Es auch die Möglichkeit, dem Agenten entweder Ordner, Dateien oder vorhandene Eingabeaufforderungen als Kontext hinzuzufügen. Amazon Q Developer ist also ein leistungsstarkes Agentensystem für Code Unterstützung und ich empfehle dringend, es sich mal anzusehen. Der Link befindet sich in der Videobeschreibung. Man kann kostenlos loslegen und es gibt auch eine Developer pro Stufe. Also schaut es euch an und lasst mich wissen, was ihr damit bauen konntet. Wie auch immer, ich hoffe, ihr fandet dieses Video hilfreich. Danke fürs Zuschauen und wie immer bis zum nächsten Mal.










