Auf seiner re:Invent-Konferenz kündigte AWS am Dienstag eine Reihe von Aktualisierungen an Q-Entwicklerseine Codierungsassistenten-Plattform, die mit GitHub Copilot konkurriert. Der Schwerpunkt liegt hier darauf, über die Code-Vervollständigung hinauszugehen und Entwicklern bei einem breiteren Spektrum an Routineaufgaben im End-to-End-Softwarelebenszyklus zu helfen.
Der Dienst, an den Sie sich vielleicht unter dem früheren Namen „CodeWhisperer“ erinnern, ist Teil der gesamten generativen KI-Plattform Amazon Q von AWS, zu der auch Q Business gehört (und die heute auch eine Reihe von Updates erhält).
„Was Entwickler brauchen, ist, dass sie Q tatsächlich als Kumpel haben wollen, der einige der undifferenzierten Schwerstarbeit löst, damit sie tatsächlich mehr Freiheit für Innovationen haben“, sagte mir Swaminathan „Swami“ Sivasubramanian, AWS-Vizepräsident für KI und Daten . „Deshalb ist es so wichtig, einen Assistenten – oder Kumpel – zu haben, der ihnen hilft, Dinge schneller und effizienter zu erledigen, und deshalb konzentrieren wir uns sehr darauf.“
Verwaltung des End-to-End-Softwarelebenszyklus
Sivasubramanian sagte mir, dass Q Developer seiner Meinung nach der Fokus auf den gesamten Lebenszyklus der Softwareentwicklung von konkurrierenden Plattformen unterscheidet. Bisher bedeutete das, Entwicklern dabei zu helfen, Probleme zu beheben und mehrstufige Aufgaben zu deren Behebung durchzuführen (oder völlig neue Apps zu erstellen) sowie den Code auf Sicherheitslücken zu scannen.
Bei re:Invent geht das Unternehmen noch einen Schritt weiter. Q kann jetzt beispielsweise automatisch Unit-Tests generieren. Aber was vielleicht noch wichtiger ist, ist, dass es jetzt das tun kann, was viele Entwickler am meisten hassen: die Dokumentation für diesen Code schreiben und pflegen. Um diesen Zyklus abzuschließen, kann Q jetzt eine erste Codeüberprüfung generieren, wenn Entwickler ihren Code einchecken.
„Bei Amazon haben wir die Regel, dass kein Code jemals ohne eine Codeüberprüfung eingecheckt wird“, sagte Sivasubramanian. „Wenn Sie also keine Codeüberprüfung durchführen, können Sie den Code nicht einchecken. Aber nicht viele Unternehmen haben tatsächlich entweder genug leitende Ingenieure, die überprüft werden müssen, oder der leitende Ingenieur sagt: „Ich komme mit so vielen Bewertungen nicht zurecht.“ Kann es jemand zuerst überprüfen, bevor wir das tun?‘ Q wird den Codeüberprüfungsprozess rationalisieren, indem es als erster Prüfer fungiert und sich um die automatische Überprüfung der Codequalität, Sicherheitslücken usw. kümmert.“
Sobald der Code dann in Produktion ist, kann ein neuer Betriebsagent für Q nun automatisch Daten von AWS CloudWatch, dem Überwachungsdienst des Unternehmens, abrufen und sofort mit der Untersuchung beginnen, wenn ein Alarm ausgelöst wird. „Es nutzt die [knowledge it has about an] Es nutzt die AWS-Ressourcen der Organisation und durchsucht dann Hunderte von Datenpunkten über verschiedene Ressourcen hinweg, die sich in CloudWatch befinden. Nach der Analyse erstellt Q dann eine mögliche Hypothese für die Grundursache und führt die Benutzer dann durch die Lösung des Problems“, erklärte Sivasubramanian.
Alles, was Sie sich zu Weihnachten gewünscht haben, war Hilfe bei Ihren Cobol- und .NET-Migrationen, oder?
Für Unternehmen mit älteren Codebasen erfordert der Übergang zur Cloud oft das Umschreiben eines Großteils ihres vorhandenen Codes. Eines der frühesten Unterscheidungsmerkmale von Amazon Q Developer war sein Agent für die Codetransformation. Damals lag der Schwerpunkt dieses Agenten auf Modernisierung älterer Java-Apps. Heute erweitert das Team dies, indem es auch Entwicklern hilft, ihre älteren .NET-basierten Anwendungen von Windows auf Linux zu aktualisieren.
Und obwohl dies zunächst wie eine Kuriosität erscheinen mag, bringt AWS auch einen Agenten zur Modernisierung von COBOL-Mainframe-Anwendungen auf den Markt. Viele große Unternehmen verlassen sich schließlich immer noch auf diesen alten Code, mit dem heute nur noch wenige Entwickler arbeiten können. Es handele sich um sehr komplexe Migrationen, betonte Sivasubramanian, und es gehe hier nicht darum, einfach den bestehenden Code 1:1 zu übersetzen.
„Unser Ziel ist es nicht, einfach nur das COBOL-Projekt komplett zu mögen und dann zu programmieren“, sagte er. „Die Realität ist, dass diese Projekte von Natur aus äußerst komplex sind. Man muss einen Menschen auf dem Laufenden haben, um davon profitieren zu können, aber ich habe Kunden sagen hören: „Hey, das dauert mehrere Jahre und die Kunden haben uns ausdrücklich gesagt, dass dies eine Wende darstellt und diesen Zeitrahmen erheblich verkürzen würde.“
Sivasubramanian stellte fest, dass das Team zwar weniger COBOL-Code zum Trainieren von Modellen zur Automatisierung der Codemigration benötigt, das Team jedoch die Gesamterfahrung von AWS bei der Modernisierung von Mainframe-Anwendungen sowie traditionellere Methoden zur Codeübersetzung nutzen konnte.
„Code von einer Sprache in eine andere zu übertragen, ist wohl der einfache Teil“, sagte er. „Aber der schwierigere Teil ist: Woher wissen Sie, dass Sie es richtig gemacht haben? Und woher weiß man überhaupt, was der Code macht? Und dann die Herausforderung darin [codebases] Sie sind in der Regel schlecht dokumentiert und die Abhängigkeiten sind nicht gut verstanden. Was wir also gebaut haben, ist wirklich äußerst innovativ [the system] Versteht auf Projektebene auch, was die Ziele der einzelnen Module sind, und plant und erstellt dann einen Zeitplan für die Migrationsplanung, um tatsächlich den Code und dann den Test zu generieren – und bringt Menschen auf den Laufenden, um zu sehen, wie Sie arbeiten validiere es.“