Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

Bemutatkozik az Amazon CodeWhisperer, az ML-alapú kódolótárs

izgatottan jelentjük be Amazon Code Whisperer, egy gépi tanulással (ML) működő szolgáltatás, amely a fejlesztők természetes megjegyzései és korábbi kódja alapján kódjavaslatokkal segíti a fejlesztők termelékenységének javítását. A CodeWhisperer segítségével a fejlesztők egyszerűen írhatnak egy megjegyzést, amely egy konkrét feladatot vázol fel egyszerű angol nyelven, például „töltsön fel egy fájlt az S3-ba”. Ez alapján a CodeWhisperer automatikusan meghatározza, hogy mely felhőszolgáltatások és nyilvános könyvtárak a legalkalmasabbak a megadott feladathoz, menet közben felépíti a konkrét kódot, és közvetlenül az IDE-ben ajánlja a generált kódrészleteket.

Bár a felhő demokratizálja az alkalmazásfejlesztést azáltal, hogy igény szerinti hozzáférést biztosít a számításokhoz, tárolókhoz, adatbázisokhoz, elemzésekhez és ML-hez, a szoftveralkalmazások létrehozásának hagyományos folyamata továbbra is megköveteli a fejlesztőktől, hogy sok időt töltsenek a nem megfelelő kódrészletek írásával. közvetlenül kapcsolódik a megoldani kívánt alapvető problémához. Még a legtapasztaltabb fejlesztők is nehezen tudnak lépést tartani több programozási nyelvvel, keretrendszerrel és szoftverkönyvtárral, miközben gondoskodnak arról, hogy a megfelelő programozási szintaxist és a legjobb kódolási gyakorlatokat kövessék. Ennek eredményeként a fejlesztők jelentős időt töltenek az interneten található kódrészletek keresésével és testreszabásával. A CodeWhisperer segítségével a fejlesztők az IDE-re koncentrálhatnak, és kihasználhatják a valós idejű kontextuális ajánlásokat, amelyek már testreszabottak és használatra készek. Kevesebb zavaró tényező az IDE-től és a használatra kész, valós idejű ajánlások segítenek gyorsabban befejezni a kódolási feladatokat, és növelik a termelékenységet.

Ebben a bejegyzésben a CodeWhisperer előnyeiről és az indulásról beszélünk.

Az ML erejét a fejlesztők kezébe hozza

A CodeWhisperer az AWS Toolkit bővítmény részeként érhető el a főbb IDE-k számára, beleértve a JetBrains-t, a Visual Studio Code-ot és AWS Cloud9. A AWS Lambda konzolon a CodeWhisperer natív kódjavaslat funkcióként érhető el. Indításkor a CodeWhisperer segítségével kódjavaslatokat generálhat Python, Java és JavaScript számára. Az AWS Toolkit telepítéséhez nyissa meg az IDE beépülő modulját vagy bővítményét, és keressen rá az AWS Toolkit kifejezésre.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

A CodeWhisperer engedélyezése után automatikusan megkapja a kódjavaslatokat az IDE-ben, ahogy elkezdi írni a kódot vagy a megjegyzéseket. Azáltal, hogy ott találkozunk a fejlesztőkkel, ahol éppen tartózkodunk, a CodeWhisperert könnyen használhatóvá és kísérletezhetővé tesszük. Néhány percen belül elkezdheti, és azonnal élvezheti a termelékenység előnyeit.

Sokkal több, mint a hagyományos automatikus kiegészítés

A hagyományos automatikus kiegészítési eszközök egyszavas kiegészítéseket biztosítanak, például egy objektum tulajdonságainak vagy metódusainak listáját. A CodeWhisperer sokkal jobb termelékenységnövekedést biztosít azáltal, hogy teljes funkciókat és logikai kódblokkokat generál egyszerre. Ezenkívül a CodeWhisperer megérti a fejlesztő szándékát, amely az egyszerű angol megjegyzésekben fejeződik ki. A következő példa bemutatja, hogyan állítja elő a CodeWhisperer a teljes függvényt a JSON-fájl CSV-fájllá konvertálásához, miközben figyelembe veszi a fejlesztő szándékát, hogy a JSON-fájlban lévő kulcsokat a CSV-fájl fejléceként használja.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

Egyszerűbbé vált az alkalmazások készítése AWS-en

A CodeWhisperer megkönnyíti a fejlesztők számára az AWS-szolgáltatások használatát azáltal, hogy kódjavaslatokat ad az AWS-alkalmazásprogramozási felületekhez (API-k) a legnépszerűbb szolgáltatásokban, beleértve a Amazon rugalmas számítási felhő (Amazon EC2), Lambda és Amazon egyszerű tárolási szolgáltatás (Amazon S3). Miközben kódot ír az IDE-be, a CodeWhisperer automatikusan elemzi a megjegyzést, összeállítja a kódot a megfelelő felhőszolgáltatások és nyilvános szoftverkönyvtárak segítségével a kívánt funkcionalitás érdekében, és közvetlenül az IDE-ben ajánl kódrészleteket és akár teljes funkciókat, amelyek megfelelnek a legjobb gyakorlatoknak. A következő példa bemutatja, hogy a CodeWhisperer hogyan tudja létrehozni a teljes függvényt egy fájl Amazon S3-ra való feltöltéséhez szerveroldali titkosítással.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

Az AI erejének felelősségteljes hasznosítása

A CodeWhisperer modellt hatalmas mennyiségű nyilvánosan elérhető kódra oktattuk, hogy javítsuk az ajánlások pontosságát. Egyszerűen fogalmazva, a modell pontossága egyenesen arányos a betanítási adatok méretével. És bár ez segített nekünk a pontosság terén, az ilyen típusú modellek néhány nem kívánt mintát is megtanulhatnak. Hiszünk abban, hogy bár az AI kétségtelenül növelheti a termelékenységet, ezt az erőt felelősségteljes módon kell kihasználnunk. Van néhány kiemelkedő képesség, amelyek egyedivé teszik a CodeWhisperert ezen a téren.

Az AWS-nél szeretjük azt mondani, hogy a biztonság nulla feladat. Ez az oka annak, hogy a CodeWhisperer lehetővé teszi a kód (a CodeWhisperer által generált és Ön által írt) ellenőrzések futtatását a biztonsági rések észlelése érdekében. A következő képernyőkép a CodeWhisperer biztonsági szkennelési funkcióját mutatja be. Beépítettünk egy kódrészletet, amely erőforrásszivárgást okozhat. Amikor választasz Futtassa a Biztonsági vizsgálatot, a CodeWhisperer észleli ezt a biztonsági rést, és megjeleníti a problémát.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

Másodszor, biztosítunk egy referenciakövetőt, amely képes észlelni, hogy a generált kimenetek mikor hasonlítanak bizonyos tanítási adatokhoz. Bár a modell megtanulta a kódírást, és a tanulás alapján teljesen új kódot generál, nagyon ritka esetekben egy önállóan generált kódjavaslat hasonlíthat egy egyedi kódrészletre a betanítási adatokban. Azáltal, hogy értesíti Önt, ha ez megtörténik, és megadja a tárhely- és licencinformációkat, a CodeWhisperer megkönnyíti annak eldöntését, hogy használja-e a kódot a projektben, és a megfelelő forráskód-attribútumokat úgy végezze el, ahogy jónak látja.

A CodeWhisperer valós időben közli, hogy az aktuális kódjavaslat hasonló lehet egy referenciakódhoz azáltal, hogy értesítést jelenít meg az ajánlások előugró ablakában. A következő képernyőképen a generált kód hasonló az MIT licence alá tartozó referenciakódhoz. Ha a fejlesztő elfogadja az ajánlást, a CodeWhisperer naplózza az elfogadási és a kapcsolódó licencinformációkat. Ezután megtekintheti a referencianaplót a CodeWhisperer-csomópont alatti Open CodeWhisperer referenciapanel kiválasztásával.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.

Végül pedig olyan technikákat vezetünk be, amelyek a gyakori sztereotípiákon alapulnak az elfogultság kimutatására. Olyan szűrőket vezettünk be, amelyek észlelik a nyilvánvaló torzítást a generált kódban, és eltávolítják a torzítottnak és tisztességtelennek ítélt kódjavaslatokat. Képzeljünk el például egy toborzószoftvert, amely segít menedzserek felvételében azáltal, hogy automatikusan kiválasztja a jelölteket. Döntetlen esetén a szoftver egy döntetlen logikától függ. Az erre a forgatókönyvre vonatkozó ajánlás generálásakor lehetséges, hogy egy mesterséges intelligencia modell olyan kódot generál, amely nem megfelelő paraméterek alapján előnyben részesíti a jelölteket. A CodeWhisperer észleli az elfogultságot az ajánlásaiban, és kiszűri azokat, mielőtt javaslatokat jelenítene meg a fejlesztőnek.

Növelje a termelékenységet a CodeWhisperer segítségével

„A zavaró tényezők állandó kihívást jelentenek kódolás közben, különösen akkor, ha kontextust kell váltani, hogy kódmintákat és dokumentációt keressünk a weben. Az Amazon CodeWhisperer folyamatosan a kódra összpontosít azáltal, hogy automatikusan kínál hasznos javaslatokat, amikor szükségem van rájuk, így soha nem kell elhagynom a szerkesztőmet.”

– Ryan Grove, a SmugMug személyzeti szoftvermérnöke.

„Izgatottak vagyunk, hogy az AWS-szel együtt dolgozhatunk azon, hogy az Amazon CodeWhisperert az IntelliJ platformra hozzuk. A JetBrainsnél az a célunk, hogy a szoftverfejlesztés zökkenőmentes és élvezetes élmény legyen. A beépülő modul elérhetősége eszközeinkhez segít a fejlesztőknek abban, hogy az IDE-jükre összpontosítsanak, és csökkenti az interneten található kódrészletek keresésének és testreszabásának szükségességét. Mától az IntelliJ IDEA, a PyCharm és a WebStorm felhasználói megkezdhetik az Amazon CodeWhispererrel való együttműködést közvetlenül az IDE-jükben, és a közeljövőben további IDE-k támogatására is sor kerül.”

– Max Shafirov, a JetBrains vezérigazgatója.

Elkezdeni

Az előnézeti időszakban a CodeWhisperer ingyenesen elérhető minden fejlesztő számára szerte a világon. A szolgáltatás előnézetben való eléréséhez csatlakozzon a várólistához Feliratkozás. A szolgáltatással kapcsolatos további információkért látogasson el ide Amazon Code Whisperer.


A szerzőkről

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.Ankur Desai az AWS AI Services csapatának fő termékmenedzsere.

Bemutatjuk az Amazon CodeWhisperert, a PlatoBlockchain Data Intelligence ML-alapú kódolási társát. Függőleges keresés. Ai.Atul Deo az AWS AI Services csapatának termékmenedzsment igazgatója.

Időbélyeg:

Még több AWS gépi tanulás