Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Представляем Amazon CodeWhisperer, компаньона для написания кода на основе машинного обучения.

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

Несмотря на то, что облако демократизировало разработку приложений, предоставив доступ по запросу к вычислениям, хранилищу, базе данных, аналитике и машинному обучению, традиционный процесс создания программных приложений по-прежнему требует, чтобы разработчики тратили много времени на написание шаблонных разделов кода, которые не являются стандартными. напрямую связаны с основной проблемой, которую они пытаются решить. Даже самым опытным разработчикам сложно работать с несколькими языками программирования, фреймворками и программными библиотеками, следуя при этом правильному синтаксису программирования и передовым методам написания кода. В результате разработчики тратят значительное количество времени на поиск и настройку фрагментов кода в Интернете. С CodeWhisperer разработчики могут сосредоточиться на IDE и воспользоваться преимуществами контекстных рекомендаций в реальном времени, которые уже настроены и готовы к использованию. Меньше отвлекающих факторов от IDE и готовые к использованию рекомендации в режиме реального времени помогут вам быстрее завершить задачи по кодированию и повысить производительность.

В этом посте мы обсудим преимущества CodeWhisperer и с чего начать.

Предоставление разработчику возможностей машинного обучения

CodeWhisperer доступен как часть расширения AWS Toolkit для основных IDE, включая JetBrains, Visual Studio Code и Облако AWS9. С AWS Lambda консоли, CodeWhisperer доступен как встроенная функция предложения кода. При запуске вы можете использовать CodeWhisperer для создания рекомендаций по коду для Python, Java и JavaScript. Вы можете установить AWS Toolkit, перейдя на экран плагинов или расширений вашей IDE и выполнив поиск AWS Toolkit.

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Гораздо больше, чем традиционное автозаполнение

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

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создание приложений на AWS стало еще проще

CodeWhisperer упрощает для разработчиков использование сервисов AWS, предоставляя рекомендации по коду для интерфейсов прикладного программирования (API) AWS в самых популярных сервисах, включая Эластичное вычислительное облако Amazon (Amazon EC2), Lambda и Простой сервис хранения Amazon (Амазон С3). Когда вы пишете код в своей IDE, CodeWhisperer автоматически анализирует комментарий, собирает код с помощью соответствующих облачных сервисов и общедоступных программных библиотек для достижения желаемой функциональности и рекомендует фрагменты кода и даже целые функции непосредственно в IDE, соответствующие передовым практикам. В следующем примере показано, как CodeWhisperer может сгенерировать всю функцию для загрузки файла в Amazon S3 с использованием шифрования на стороне сервера.

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Ответственное использование возможностей ИИ

Мы обучили модель CodeWhisperer на большом количестве общедоступного кода, чтобы повысить точность рекомендаций. Проще говоря, точность модели прямо пропорциональна размеру обучающих данных. И хотя это помогло нам с точки зрения точности, модели такого типа также могут изучать некоторые нежелательные закономерности. Мы считаем, что, хотя ИИ, несомненно, может повысить производительность, мы должны ответственно использовать эту силу. Есть несколько выдающихся возможностей, которые делают CodeWhisperer уникальным в этой области.

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

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

CodeWhisperer сообщает вам в режиме реального времени, что текущая рекомендация по коду, которую вы видите, может быть похожа на эталонный код, показывая уведомление во всплывающем окне с рекомендациями. На следующем снимке экрана видно, что сгенерированный код похож на эталонный код, находящийся под лицензией MIT. Если разработчик принимает рекомендацию, CodeWhisperer регистрирует принятие и соответствующую информацию о лицензировании. Затем вы можете просмотреть справочный журнал, выбрав Открыть справочную панель CodeWhisperer в узле CodeWhisperer.

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Наконец, мы внедряем методы выявления предвзятости на основе распространенных стереотипов. Мы внедрили фильтры, которые обнаруживают очевидную предвзятость в сгенерированном коде и удаляют рекомендации по коду, которые могут быть сочтены предвзятыми и несправедливыми. Например, представьте себе программное обеспечение для подбора персонала, которое помогает менеджерам по найму автоматически составлять короткий список кандидатов. В случае ничьей программное обеспечение зависит от логики разрешения конфликтов. При создании рекомендации для этого сценария модель ИИ может создать код, отдающий предпочтение кандидатам на основе неподходящих параметров. 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. Вертикальный поиск. Ай.Анкур Десаи является главным менеджером по продуктам в команде AWS AI Services.

Представляем Amazon CodeWhisperer, помощника по кодированию на основе машинного обучения PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Атул Део является директором по управлению продуктами в команде AWS AI Services.

Отметка времени:

Больше от Машинное обучение AWS