Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter

Wir freuen uns bekannt zu geben Amazon Code Whisperer, ein auf maschinellem Lernen (ML) basierender Dienst, der zur Verbesserung der Entwicklerproduktivität beiträgt, indem Codeempfehlungen basierend auf den natürlichen Kommentaren und früheren Codes von Entwicklern bereitgestellt werden. Mit CodeWhisperer können Entwickler einfach einen Kommentar schreiben, der eine bestimmte Aufgabe in einfachem Englisch umreißt, z. B. „eine Datei in S3 hochladen“. Basierend darauf bestimmt CodeWhisperer automatisch, welche Cloud-Dienste und öffentlichen Bibliotheken für die angegebene Aufgabe am besten geeignet sind, baut den spezifischen Code on the fly und empfiehlt die generierten Code-Snippets direkt in der IDE.

Obwohl die Cloud die Anwendungsentwicklung demokratisiert hat, indem sie On-Demand-Zugriff auf Rechen-, Speicher-, Datenbank-, Analyse- und ML-Funktionen bietet, erfordert der traditionelle Prozess der Erstellung von Softwareanwendungen, dass Entwickler immer noch viel Zeit damit verbringen, vorgefertigte Codeabschnitte zu schreiben, die dies nicht sind in direktem Zusammenhang mit dem Kernproblem, das sie zu lösen versuchen. Selbst die erfahrensten Entwickler finden es schwierig, mit mehreren Programmiersprachen, Frameworks und Softwarebibliotheken Schritt zu halten und gleichzeitig sicherzustellen, dass sie die richtige Programmiersyntax und die besten Codierungspraktiken befolgen. Infolgedessen verbringen Entwickler viel Zeit mit der Suche und Anpassung von Code-Snippets aus dem Internet. Mit CodeWhisperer können sich Entwickler auf die IDE konzentrieren und kontextbezogene Empfehlungen in Echtzeit nutzen, die bereits angepasst und einsatzbereit sind. Weniger Ablenkungen von der IDE und sofort einsatzbereite Empfehlungen in Echtzeit helfen Ihnen, Ihre Codierungsaufgaben schneller zu erledigen und die Produktivität zu steigern.

In diesem Beitrag diskutieren wir die Vorteile von CodeWhisperer und wie man loslegt.

Bringen Sie die Leistungsfähigkeit von ML in die Fingerspitzen des Entwicklers

CodeWhisperer ist als Teil der AWS Toolkit-Erweiterung für wichtige IDEs verfügbar, einschließlich JetBrains, Visual Studio Code und AWS Cloud9. Am AWS Lambda -Konsole ist CodeWhisperer als native Codevorschlagsfunktion verfügbar. Beim Start können Sie CodeWhisperer verwenden, um Codeempfehlungen für Python, Java und JavaScript zu generieren. Sie können das AWS Toolkit installieren, indem Sie zum Plugin- oder Erweiterungsbildschirm Ihrer IDE gehen und nach AWS Toolkit suchen.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Nachdem CodeWhisperer aktiviert wurde, erhalten Sie automatisch Codeempfehlungen in Ihrer IDE, wenn Sie mit dem Schreiben Ihres Codes oder Ihrer Kommentare beginnen. Indem wir Entwickler treffen, wo Sie sind, machen wir CodeWhisperer einfach zu verwenden und damit zu experimentieren. Sie können innerhalb weniger Minuten loslegen und sofort die Produktivitätsvorteile genießen.

Viel mehr als herkömmliche Autovervollständigung

Herkömmliche Werkzeuge zur automatischen Vervollständigung bieten Einzelwortvervollständigungen, z. B. eine Liste von Eigenschaften oder Methoden für ein Objekt. CodeWhisperer bietet eine viel bessere Produktivitätssteigerung, indem ganze Funktionen und logische Codeblöcke gleichzeitig generiert werden. Außerdem versteht CodeWhisperer die Absicht des Entwicklers, wie sie durch einfache englische Kommentare ausgedrückt wird. Das folgende Beispiel zeigt, wie CodeWhisperer die gesamte Funktion zum Konvertieren einer JSON-Datei in eine CSV-Datei generiert, wobei die Absicht des Entwicklers berücksichtigt wird, die Schlüssel in der JSON-Datei als Header der CSV-Datei zu verwenden.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das Erstellen von Anwendungen auf AWS ist jetzt noch einfacher

CodeWhisperer macht es Entwicklern leicht, AWS-Services zu nutzen, indem es Codeempfehlungen für AWS-Anwendungsprogrammierschnittstellen (APIs) für die beliebtesten Services bereitstellt, einschließlich Amazon Elastic Compute-Cloud (Amazon EC2), Lambda und Amazon Simple Storage-Service (Amazon S3). Während Sie Code in Ihrer IDE schreiben, analysiert CodeWhisperer automatisch den Kommentar, stellt den Code mithilfe der relevanten Cloud-Dienste und öffentlichen Softwarebibliotheken für die gewünschte Funktionalität zusammen und empfiehlt Codeschnipsel und sogar ganze Funktionen direkt in der IDE, die Best Practices entsprechen. Das folgende Beispiel zeigt, wie CodeWhisperer die gesamte Funktion zum Hochladen einer Datei auf Amazon S3 mit serverseitiger Verschlüsselung generieren kann.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Die Kraft der KI verantwortungsvoll nutzen

Wir haben das CodeWhisperer-Modell mit großen Mengen an öffentlich verfügbarem Code trainiert, um die Genauigkeit der Empfehlungen zu verbessern. Einfach ausgedrückt ist die Genauigkeit des Modells direkt proportional zur Größe der Trainingsdaten. Und obwohl uns dies an der Genauigkeitsfront geholfen hat, können diese Arten von Modellen auch einige unerwünschte Muster lernen. Wir glauben, dass KI zwar zweifellos die Produktivität steigern kann, wir diese Macht jedoch auf verantwortungsvolle Weise nutzen müssen. Es gibt einige herausragende Funktionen, die CodeWhisperer in diesem Bereich einzigartig machen.

Bei AWS sagen wir gerne, dass Sicherheit Job Zero ist. Aus diesem Grund bietet CodeWhisperer auch die Möglichkeit, Ihren Code (von CodeWhisperer generiert und von Ihnen geschrieben) zu scannen, um Sicherheitslücken zu erkennen. Der folgende Screenshot veranschaulicht die Sicherheitsscanfunktion von CodeWhisperer. Wir haben ein Code-Snippet eingefügt, das zu einem Ressourcenleck führen kann. Wenn Sie wählen Sicherheitsscan ausführen, erkennt CodeWhisperer diese Schwachstelle und zeigt das Problem an.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Zweitens stellen wir einen Referenz-Tracker bereit, der erkennen kann, wann generierte Ausgaben bestimmten Trainingsdaten ähneln. Obwohl das Modell gelernt hat, Code zu schreiben, und basierend auf dem Lernen völlig neuen Code generiert, kann eine unabhängig generierte Codeempfehlung in sehr seltenen Fällen einem eindeutigen Codeschnipsel in den Trainingsdaten ähneln. Indem CodeWhisperer Sie benachrichtigt, wenn dies geschieht, und Ihnen die Repository- und Lizenzinformationen zur Verfügung stellt, erleichtert Ihnen CodeWhisperer die Entscheidung, ob Sie den Code in Ihrem Projekt verwenden und die relevanten Quellcodezuordnungen nach eigenem Ermessen vornehmen möchten.

CodeWhisperer teilt Ihnen in Echtzeit mit, dass die aktuelle Codeempfehlung, die Sie sehen, einem Referenzcode ähneln könnte, indem eine Benachrichtigung im Popup-Fenster mit Empfehlungen angezeigt wird. Im folgenden Screenshot ähnelt der generierte Code einem Referenzcode, der unter der MIT-Lizenz steht. Wenn der Entwickler die Empfehlung akzeptiert, protokolliert CodeWhisperer die Annahme und entsprechende Lizenzinformationen. Sie können dann das Referenzprotokoll anzeigen, indem Sie Open CodeWhisperer Reference Panel unter dem CodeWhisperer-Knoten auswählen.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Zu guter Letzt implementieren wir Techniken zur Erkennung von Voreingenommenheit basierend auf gängigen Stereotypen. Wir haben Filter implementiert, die offensichtliche Voreingenommenheit im generierten Code erkennen und Codeempfehlungen entfernen, die als voreingenommen und unfair angesehen werden könnten. Stellen Sie sich zum Beispiel eine Recruiting-Software vor, die Einstellungsmanagern hilft, indem sie automatisch Kandidaten in die engere Wahl zieht. Bei Gleichstand ist die Software auf eine Tie-Breaker-Logik angewiesen. Beim Generieren einer Empfehlung für dieses Szenario ist es möglich, dass ein KI-Modell Code generiert, der Kandidaten aufgrund ungeeigneter Parameter bevorzugt. CodeWhisperer kann Verzerrungen in seinen Empfehlungen erkennen und herausfiltern, bevor dem Entwickler jemals Empfehlungen angezeigt werden.

Erschließung von Produktivitätsgewinnen mit CodeWhisperer

„Ablenkungen sind eine ständige Herausforderung beim Programmieren, insbesondere wenn es notwendig ist, den Kontext zu wechseln, um Codebeispiele und Dokumentation im Internet nachzuschlagen. Amazon CodeWhisperer sorgt dafür, dass ich mich auf den Code konzentrieren kann, indem er automatisch hilfreiche Vorschläge macht, wenn ich sie brauche, sodass ich meinen Editor nie verlassen muss.“

– Ryan Grove, Softwareingenieur bei SmugMug.

„Wir freuen uns, mit AWS zusammenzuarbeiten, um Amazon CodeWhisperer auf die IntelliJ-Plattform zu bringen. Bei JetBrains möchten wir die Softwareentwicklung zu einem reibungslosen und angenehmen Erlebnis machen. Die Verfügbarkeit des Plugins für unsere Tools hilft Entwicklern, sich auf ihre IDE zu konzentrieren, und reduziert die Notwendigkeit, Code-Snippets aus dem Internet zu suchen und anzupassen. Ab heute können Benutzer von IntelliJ IDEA, PyCharm und WebStorm direkt in ihrer IDE mit Amazon CodeWhisperer arbeiten, wobei in naher Zukunft weitere IDEs unterstützt werden.“

– Max Shafirov, CEO von JetBrains.

Erste Schritte

Während der Vorschauphase steht CodeWhisperer allen Entwicklern auf der ganzen Welt kostenlos zur Verfügung. Um auf den Service in der Vorschau zuzugreifen, treten Sie der Warteliste bei bei Anmeldung. Weitere Informationen zum Service finden Sie unter Amazon Code Whisperer.


Über die Autoren

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Ankur Desai ist Principal Product Manager im AWS AI Services-Team.

Wir stellen Amazon CodeWhisperer vor, den ML-gestützten Programmierbegleiter PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Atul Deo ist Director of Product Management beim AWS AI Services-Team.

Zeitstempel:

Mehr von AWS Maschinelles Lernen