Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

Представляємо Amazon CodeWhisperer, супутник для кодування на базі ML

Ми раді оголосити Amazon Code Whisperer, сервіс на основі машинного навчання (ML), який допомагає підвищити продуктивність розробників, надаючи рекомендації щодо коду на основі природних коментарів розробників і попереднього коду. За допомогою CodeWhisperer розробники можуть просто написати коментар, який викладає конкретне завдання простою англійською, наприклад «завантажити файл на S3». На основі цього CodeWhisperer автоматично визначає, які хмарні сервіси та загальнодоступні бібліотеки найкраще підходять для зазначеного завдання, на льоту створює конкретний код і рекомендує згенеровані фрагменти коду безпосередньо в IDE.

Хоча хмара демократизувала розробку додатків, надаючи доступ на вимогу до обчислень, сховища, бази даних, аналітики та машинного навчання, традиційний процес створення програмних додатків все ще вимагає від розробників витрачати багато часу на написання типових розділів коду, які не є безпосередньо пов’язані з основною проблемою, яку вони намагаються вирішити. Навіть найдосвідченішим розробникам важко йти в ногу з кількома мовами програмування, фреймворками та програмними бібліотеками, при цьому переконавшись, що вони дотримуються правильного синтаксису програмування та найкращих методів кодування. У результаті розробники витрачають значну кількість часу на пошук і налаштування фрагментів коду з Інтернету. За допомогою CodeWhisperer розробники можуть залишатися зосередженими в IDE та користуватися перевагами контекстних рекомендацій у реальному часі, які вже налаштовані та готові до використання. Менше відволікання від IDE та готові до використання рекомендації в режимі реального часу допоможуть вам швидше завершити завдання кодування та підвищити продуктивність.

У цій публікації ми обговорюємо переваги CodeWhisperer і як почати.

Перенесення можливостей ML на кінчики пальців розробника

CodeWhisperer доступний як частина розширення AWS Toolkit для основних IDE, включаючи JetBrains, Visual Studio Code та AWS Cloud9. З AWS Lambda консолі, CodeWhisperer доступний як функція пропозиції коду. Під час запуску ви можете використовувати CodeWhisperer для створення рекомендацій щодо коду для Python, Java та JavaScript. Ви можете встановити AWS Toolkit, перейшовши на екран плагіна або розширення вашої IDE та знайшовши AWS Toolkit.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

Після ввімкнення CodeWhisperer ви автоматично починаєте отримувати рекомендації щодо коду у вашій IDE, коли починаєте писати код або коментарі. Зустрічаючись з розробниками там, де ви перебуваєте, ми робимо CodeWhisperer простим у використанні та експериментуванні. Ви можете розпочати роботу за кілька хвилин і відразу насолоджуватися перевагами продуктивності.

Набагато більше, ніж традиційне автозаповнення

Традиційні інструменти автозаповнення забезпечують завершення одним словом, наприклад, список властивостей або методів для об’єкта. CodeWhisperer забезпечує набагато краще підвищення продуктивності, генеруючи цілі функції та логічні блоки коду за раз. Крім того, CodeWhisperer розуміє наміри розробника, виражені через прості коментарі англійською мовою. У наступному прикладі показано, як CodeWhisperer генерує всю функцію для перетворення файлу JSON у файл CSV, враховуючи намір розробника використовувати ключі у файлі JSON як заголовки файлу CSV.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

Створення програм на AWS стало простіше

CodeWhisperer полегшує розробникам використання служб AWS, надаючи рекомендації щодо коду для програмних інтерфейсів (API) AWS для найпопулярніших служб, у тому числі Обчислювальна хмара Amazon Elastic (Amazon EC2), лямбда та Служба простого зберігання Amazon (Amazon S3). Коли ви пишете код у своїй IDE, CodeWhisperer автоматично аналізує коментар, збирає код, використовуючи відповідні хмарні служби та публічні бібліотеки програмного забезпечення для отримання бажаної функціональності, і рекомендує фрагменти коду та навіть цілі функції безпосередньо в IDE, які відповідають найкращим практикам. У наступному прикладі показано, як CodeWhisperer може створити всю функцію для завантаження файлу в Amazon S3 за допомогою шифрування на стороні сервера.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

Відповідально використовуйте можливості ШІ

Ми навчили модель CodeWhisperer на величезній кількості загальнодоступного коду, щоб підвищити точність рекомендацій. Простіше кажучи, точність моделі прямо пропорційна розміру навчальних даних. І хоча це допомогло нам на фронті точності, ці типи моделей також можуть вивчати деякі небажані моделі. Ми віримо, що, хоча ШІ, безсумнівно, може підвищити продуктивність, ми повинні використовувати цю силу відповідально. Є кілька видатних можливостей, які роблять CodeWhisperer унікальним у цьому просторі.

У AWS ми хочемо сказати, що безпека — це нульова робота. Ось чому CodeWhisperer також надає можливість виконувати сканування вашого коду (згенерованого CodeWhisperer, а також написаного вами) для виявлення вразливостей безпеки. Наступний знімок екрана ілюструє функціональні можливості сканування безпеки CodeWhisperer. Ми включили фрагмент коду, який може спричинити витік ресурсів. Коли вибираєте Запустіть сканування безпеки, CodeWhisperer виявляє цю вразливість і відображає проблему.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

По-друге, ми надаємо еталонний трекер, який може визначити, коли згенеровані вихідні дані можуть бути подібними до конкретних навчальних даних. Хоча модель навчилася писати код і генерує абсолютно новий код на основі навчання, у дуже рідкісних випадках незалежно згенерована рекомендація коду може нагадувати унікальний фрагмент коду в навчальних даних. Повідомляючи вас, коли це станеться, і надаючи вам сховище та інформацію про ліцензії, CodeWhisperer полегшує вам рішення, чи використовувати код у вашому проекті, і надавати відповідні атрибути вихідного коду, як ви вважаєте за потрібне.

CodeWhisperer повідомляє вам у режимі реального часу, що поточна рекомендація коду, яку ви бачите, може бути схожа на довідковий код, показуючи сповіщення у спливаючому вікні рекомендацій. На наступному знімку екрана згенерований код схожий на довідковий код, який знаходиться під ліцензією MIT. Якщо розробник приймає рекомендацію, CodeWhisperer реєструє прийняття та відповідну інформацію про ліцензування. Потім ви можете переглянути журнал посилань, вибравши Відкрити панель довідок CodeWhisperer під вузлом CodeWhisperer.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.

Нарешті, ми впроваджуємо методи виявлення упередженості на основі поширених стереотипів. Ми впровадили фільтри, які виявляють очевидну упередженість у згенерованому коді та видаляють рекомендації щодо коду, які можна вважати упередженими та несправедливими. Наприклад, уявіть програмне забезпечення для підбору персоналу, яке допомагає наймати менеджерів шляхом автоматичного відбору кандидатів у короткий список. У разі нічиєї, програмне забезпечення залежить від логіки розриву. Створюючи рекомендації для цього сценарію, можливо, що модель AI може генерувати код, який надає перевагу кандидатам на основі невідповідних параметрів. CodeWhisperer може виявити упередженість у своїх рекомендаціях і відфільтрувати їх, перш ніж показати рекомендації розробнику.

Розблокування підвищення продуктивності за допомогою CodeWhisperer

«Відволікання є постійною проблемою під час кодування, особливо коли необхідно змінити контекст для пошуку зразків коду та документації в Інтернеті. Amazon CodeWhisperer тримає мене зосередженим на коді, автоматично пропонуючи корисні пропозиції, коли вони мені потрібні, тому мені ніколи не доведеться залишати свій редактор».

– Райан Гроув, штатний інженер-програміст SmugMug.

«Ми раді працювати з AWS над тим, щоб перенести Amazon CodeWhisperer на платформу IntelliJ. У JetBrains ми прагнемо зробити розробку програмного забезпечення плавним і приємним. Доступність плагіна для наших інструментів допоможе розробникам залишатися зосередженими на своїй IDE та зменшить потребу шукати та налаштовувати фрагменти коду з Інтернету. Від сьогодні користувачі IntelliJ IDEA, PyCharm і WebStorm можуть почати працювати з Amazon CodeWhisperer прямо у своїй IDE, а найближчим часом буде підтримуватися більше IDE».

– Макс Шафіров, генеральний директор JetBrains.

Приступаючи до роботи

Під час попереднього перегляду CodeWhisperer доступний для всіх розробників у всьому світі безкоштовно. Щоб отримати доступ до послуги в режимі попереднього перегляду, приєднайтеся до списку очікування реєстрація. Для отримання додаткової інформації про послугу відвідайте Amazon Code Whisperer.


Про авторів

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.Анкур Десай є головним менеджером з продуктів у команді AWS AI Services.

Представляємо Amazon CodeWhisperer, компаньйона для кодування PlatoBlockchain Data Intelligence на основі ML. Вертикальний пошук. Ai.Атул Део є директором з управління продуктами команди AWS AI Services.

Часова мітка:

Більше від AWS Машинне навчання