Так недавно Github Co-pilot был тенденцией в области разработки, это удивительная технология, которая превращает ваши обычные текстовые комментарии в код, большинство из нас знает о ней, и большинство из нас даже использовали ее. Ранее я писал об этом в блоге, вы можете посмотреть его здесь. Я объяснил, как это работает и насколько эффективно это может быть.

Что касается энтузиастов AWS, Amazon объявила о запуске CodeWhisperer на конференции re:Mars 23 июня 2022 г.!

Что такое CodeWhisperer?

Amazon CodeWhisperer — это программа для создания пар ИИ, похожая на Github Co-pilot. Она генерирует код на основе комментариев в виде простого текста, предоставленных разработчиками, а также дает рекомендации по написанию комментариев и предоставляет несколько фрагментов кода. или предложения по выбору. В настоящее время он поддерживает Java, Javascript и Python.

В настоящее время CodeWhisperer доступен для предварительного просмотра в рамках AWS Toolkit, поэтому разработчики могут использовать его в любой среде IDE, например VS Code, PyCharm, AWS Cloud 9 и т. д.

Как работает Amazon CodeWhisperer?

Согласно веб-сайту AWS, Amazon CodeWhisperer — это сервис на основе машинного обучения (ML), который помогает повысить производительность разработчиков, создавая рекомендации по коду на основе их комментариев на естественном языке и кода в интегрированной среде разработки (IDE).

мой первый опыт

Поскольку он доступен для предварительного просмотра, мне пришлось явным образом присоединиться к списку ожидания и дождаться своей очереди. Затем я получил электронное письмо с кодом доступа, который я использовал для включения CodeWhisperer в моем VS Code.

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

Если вы установили AWS Toolkit в свой VS Code, вы найдете логотип AWS на левой панели навигации, как показано на изображении выше. Также убедитесь, что ваша версия является последней, и когда вы нажмете на логотип, вы найдете раскрывающийся список с именем Инструменты разработчика. Здесь вы можете найти CodeWhisperer, обратите внимание на третью опцию, которая говорит Запросить предварительный доступ.

Если вы не установили AWS Toolkit, перейдите в раздел extensions в VS Code и установите его.

Если вы запросите доступ, вы будете перенаправлены на страницу, где вам нужно заполнить форму для запроса доступа.

После заполнения вышеуказанной формы вы будете уведомлены о том, что вы присоединились к списку ожидания. Поэтому, когда придет ваша очередь, вы получите электронное письмо с кодом доступа . Вторая опция на панели навигации — Введите код доступа к предварительному просмотру. Когда вы нажмете на нее, вам будет показана текстовая строка, здесь вы можете ввести код, который вы получили в электронном письме. См. выделенные разделы на изображении ниже.

После ввода кода вы увидите условия и информацию о соглашении. Прокрутите вниз и примите условия, и все готово!

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

Я создал файл Python и ввел этот комментарий # Function to put an item in dynamoDB table . Сначала было хорошо, что он дает вам предложения по коду построчно. Например, как только вы вводите комментарий и вызываете CodeWhisperer, он дает вам оператор импорта, а затем, когда вы снова нажимаете клавиши предложения, он дает вам определение функции и, наконец, дает вам тело, а также не не останавливайтесь на достигнутом, я снова нажал клавиши предложения, и он дал мне второй комментарий # Function to get an item from dynamoDB table

Кроме того, когда я набирал комментарии, он также предлагал больше комментариев.

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

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

Чем он отличается от Github Co-pilot?

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

Следующим важным фактором является безопасность. CodeWhisperer позволяет запустить проверку безопасности открытого в данный момент файла, чтобы убедиться, что ваш код безопасен и что в нем нет проблем с безопасностью.

В чем недостаток?

Для одного теста я написал комментарий, который не был связан ни с одним сервисом AWS. # Function to find the second largest number in a listи Удивительно, но предложений не было! Однако он дал мне рекомендации по поиску простого числа в списке.

Проблема в том, что модель хорошо обучена, но я бы сказал, что для обычного кода она может быть похожа на Github Co-pilot. Но это прекрасно работает с разработчиками, которые используют сервисы AWS. Предложения соответствуют требованиям с минимальными изменениями. Для создания стандартного кода при работе с любым сервисом AWS CodeWhisperer очень удобен, уменьшая усилия разработчика.

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

Хорошо, это все для этого блога. Подпишитесь на меня, чтобы узнать больше статей, связанных с сервисами AWS.

Для получения дополнительной информации о CodeWhisperer перейдите по этой ссылке!

Заключение

Во-первых, спасибо, что потратили свое драгоценное время на этот блог, я очень ценю это.

Я надеюсь, что этот блог помог вам понять Amazon CodeWhisperer. Я бы сказал, попробуйте, и вы сможете сравнить его с Github Co-pilot и выбрать то, что лучше для вас.

Меня зовут Мухаммад Абутахир. Вы можете связаться со мной в LinkedIn или написать мне по адресу [email protected].

Спасибо! Хорошего дня.