Zephyrnet-logotyp

Vi presenterar Amazon CodeWhisperer, den ML-drivna kodningskompanjonen

Datum:

Vi är glada att kunna meddela Amazon Code Whisperer, en maskininlärningsdriven tjänst (ML) som hjälper till att förbättra utvecklarens produktivitet genom att tillhandahålla kodrekommendationer baserade på utvecklarnas naturliga kommentarer och tidigare kod. Med CodeWhisperer kan utvecklare helt enkelt skriva en kommentar som beskriver en specifik uppgift på vanlig engelska, till exempel "ladda upp en fil till S3." Baserat på detta avgör CodeWhisperer automatiskt vilka molntjänster och publika bibliotek som är bäst lämpade för den angivna uppgiften, bygger den specifika koden i farten och rekommenderar de genererade kodsnuttarna direkt i IDE.

Även om molnet har demokratiserat applikationsutveckling genom att ge on-demand tillgång till datorer, lagring, databas, analys och ML, kräver den traditionella processen att bygga mjukvaruapplikationer fortfarande att utvecklare lägger ner mycket tid på att skriva kodavsnitt som inte är direkt relaterat till kärnproblemet som de försöker lösa. Även de mest erfarna utvecklarna har svårt att hålla jämna steg med flera programmeringsspråk, ramverk och programbibliotek, samtidigt som de säkerställer att de följer korrekt programmeringssyntax och bästa kodningspraxis. Som ett resultat av detta lägger utvecklare en betydande tid på att söka och anpassa kodavsnitt från webben. Med CodeWhisperer kan utvecklare hålla fokus på IDE och dra nytta av kontextuella rekommendationer i realtid, som redan är anpassade och redo att användas. Färre distraktioner borta från IDE och färdiga att använda realtidsrekommendationer hjälper dig att slutföra dina kodningsuppgifter snabbare och ge en produktivitetshöjning.

I det här inlägget diskuterar vi fördelarna med CodeWhisperer och hur du kommer igång.

Ta med kraften i ML till utvecklarens fingertoppar

CodeWhisperer är tillgänglig som en del av AWS Toolkit-tillägget för stora IDE:er, inklusive JetBrains, Visual Studio Code och AWS Cloud9. På AWS Lambda konsol, CodeWhisperer är tillgänglig som en inbyggd kodförslagsfunktion. Vid lanseringen kan du använda CodeWhisperer för att generera kodrekommendationer för Python, Java och JavaScript. Du kan installera AWS Toolkit genom att gå till plugin- eller tilläggsskärmen på din IDE och söka efter AWS Toolkit.

Efter att CodeWhisperer har aktiverats börjar du automatiskt ta emot kodrekommendationer i din IDE när du börjar skriva din kod eller kommentarer. Genom att träffa utvecklare där du är gör vi CodeWhisperer lätt att använda och experimentera med. Du kan komma igång inom några minuter och börja dra nytta av produktivitetsfördelarna direkt.

Mycket mer än traditionellt autoslutförande

Traditionella autoslutförandeverktyg tillhandahåller kompletteringar med ett ord, till exempel en lista med egenskaper eller metoder för ett objekt. CodeWhisperer ger en mycket bättre produktivitetsökning genom att generera hela funktioner och logiska kodblock åt gången. CodeWhisperer förstår också utvecklarens avsikt som uttrycks genom vanliga engelska kommentarer. Följande exempel visar hur CodeWhisperer genererar hela funktionen för att konvertera en JSON-fil till en CSV-fil, samtidigt som man tar hänsyn till utvecklarens avsikt att använda nycklarna i JSON-filen som rubriker för CSV-filen.

Att bygga applikationer på AWS har precis blivit enklare

CodeWhisperer gör det enkelt för utvecklare att använda AWS-tjänster genom att tillhandahålla kodrekommendationer för AWS-applikationsprogrammeringsgränssnitt (API) över de mest populära tjänsterna, inklusive Amazon Elastic Compute Cloud (Amazon EC2), Lambda och Amazon enkel lagringstjänst (Amazon S3). När du skriver kod i din IDE, analyserar CodeWhisperer automatiskt kommentaren, sätter ihop koden med hjälp av relevanta molntjänster och offentliga programbibliotek för önskad funktionalitet, och rekommenderar kodsnuttar och till och med hela funktioner direkt i IDE som uppfyller bästa praxis. Följande exempel visar hur CodeWhisperer kan generera hela funktionen för att ladda upp en fil till Amazon S3 med hjälp av kryptering på serversidan.

Utnyttja kraften i AI på ett ansvarsfullt sätt

Vi har tränat CodeWhisperer-modellen på stora mängder allmänt tillgänglig kod för att förbättra rekommendationernas noggrannhet. Enkelt uttryckt är noggrannheten hos modellen direkt proportionell mot storleken på träningsdata. Och även om detta har hjälpt oss på precisionsfronten, kan dessa typer av modeller också lära sig några oönskade mönster. Vi tror att även om AI utan tvekan kan öka produktiviteten, måste vi utnyttja denna kraft på ett ansvarsfullt sätt. Det finns några enastående funktioner som gör CodeWhisperer unik i detta utrymme.

På AWS vill vi säga att säkerhet är noll på jobbet. Det är därför CodeWhisperer också ger möjlighet att köra skanningar på din kod (genererad av CodeWhisperer såväl som skriven av dig) för att upptäcka säkerhetsbrister. Följande skärmdump illustrerar säkerhetsskanningsfunktionen hos CodeWhisperer. Vi har inkluderat ett kodavsnitt som kan orsaka resursläckage. När du väljer Kör säkerhetsskanning, CodeWhisperer upptäcker denna sårbarhet och visar problemet.

För det andra tillhandahåller vi en referensspårare som kan upptäcka när genererade utdata kan likna specifika träningsdata. Även om modellen har lärt sig hur man skriver kod och genererar helt ny kod baserat på inlärningen, kan en oberoende genererad kodrekommendation i mycket sällsynta fall likna ett unikt kodavsnitt i träningsdatan. Genom att meddela dig när detta händer, och ge dig arkivet och licensinformationen, gör CodeWhisperer det enklare för dig att bestämma om du vill använda koden i ditt projekt och göra de relevanta källkodstillskrivningarna som du tycker är lämpliga.

CodeWhisperer berättar i realtid att den aktuella kodrekommendationen du ser kan likna en referenskod genom att visa ett meddelande i rekommendationspopupen. I följande skärmdump visar sig den genererade koden likna en referenskod som är under MIT-licensen. Om utvecklaren accepterar rekommendationen loggar CodeWhisperer godkännandet och motsvarande licensinformation. Du kan sedan se referensloggen genom att välja Öppna CodeWhisperer Reference Panel under CodeWhisperer-noden.

Slutligen implementerar vi tekniker för att upptäcka fördomar baserat på vanliga stereotyper. Vi har implementerat filter som upptäcker uppenbara fördomar i den genererade koden och tar bort kodrekommendationer som kan anses vara partiska och orättvisa. Föreställ dig till exempel en rekryteringsprogramvara som hjälper till att anställa chefer genom att automatiskt nominera kandidater. I händelse av oavgjort beror mjukvaran på en oavgjort logik. När du genererar en rekommendation för det här scenariot är det möjligt att en AI-modell kan generera kod som gynnar kandidater baserat på olämpliga parametrar. CodeWhisperer kan upptäcka bias i sina rekommendationer och filtrera bort det innan de någonsin visar rekommendationer för utvecklaren.

Lås upp produktivitetsvinster med CodeWhisperer

“Distraktioner är en ständig utmaning vid kodning, särskilt när det är nödvändigt att byta kontext för att söka upp kodexempel och dokumentation på webben. Amazon CodeWhisperer håller mig fokuserad på koden genom att automatiskt erbjuda användbara förslag precis när jag behöver dem, så jag behöver aldrig lämna min redigerare.”

– Ryan Grove, Staff Software Engineer på SmugMug.

"Vi är glada över att arbeta med AWS för att föra Amazon CodeWhisperer till IntelliJ-plattformen. På JetBrains strävar vi efter att göra mjukvaruutveckling till en smidig och njutbar upplevelse. Tillgängligheten av plugin för våra verktyg kommer att hjälpa utvecklare att hålla fokus på sin IDE och minska behovet av att söka och anpassa kodavsnitt från webben. Från och med idag kan användare av IntelliJ IDEA, PyCharm och WebStorm börja arbeta med Amazon CodeWhisperer direkt i sin IDE, med fler IDE:er som kommer att stödjas inom en snar framtid."

– Max Shafirov, JetBrains VD.

Komma igång

Under förhandsvisningsperioden är CodeWhisperer tillgängligt för alla utvecklare över hela världen gratis. För att komma åt tjänsten i förhandsgranskning, gå med på väntelistan senast registrerar dig. För mer information om tjänsten, besök Amazon Code Whisperer.


Om författarna

Ankur Desai är en huvudproduktchef inom AWS AI Services-teamet.

Atul Deo är chef för produkthantering med AWS AI Services-teamet.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?