Вопросы и ответы об Amazon CodeWhisperer
-
Что такое Amazon CodeWhisperer?
CodeWhisperer – это помощник по работе с кодом на основе искусственного интеллекта, который в реальном времени генерирует предложения однострочного или полнофункционального кода в интегрированной среде разработки (IDE), помогая быстро создавать программное обеспечение. С помощью CodeWhisperer вы можете написать комментарий на понятном языке, который описывает конкретную задачу на английском языке, например, «Upload a file with server-side encryption». На основе этой информации CodeWhisperer рекомендует один или несколько фрагментов кода, которые могут выполнить эту задачу, непосредственно в интегрированной среде разработки. Вы можете быстро и легко принять самое популярное предложение (клавишей табуляции), просмотреть другие предложения (с помощью клавиш со стрелками) или продолжить написание собственного кода. Всегда проверяйте предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.
Дополнительные сведения см. в руководствах пользователя по JetBrains, Visual Studio Code, AWS Cloud9, консоли AWS Lambda, JupyterLab и Студии Amazon SageMaker.
-
Почему следует использовать CodeWhisperer?
CodeWhisperer помогает ускорить разработку программного обеспечения, предоставляя предложения кода, которые сокращают общие усилия по разработке и дают больше времени на выработку идей, решение сложных проблем и написание дифференцированного кода. Помимо общих предложений кода, CodeWhisperer дополнительно обучается предложениям кода для использования API AWS. CodeWhisperer также помогает вам повысить безопасность приложений, обнаруживая и устраняя уязвимости безопасности.
-
Как работает CodeWhisperer?
Во время написания кода CodeWhisperer анализирует комментарии на английском языке и окружающий код, чтобы определить, какой код необходим для выполнения поставленной задачи. CodeWhisperer предлагает один или несколько фрагментов кода непосредственно в редакторе кода, что ускоряет процесс написания. Предложения кода, предоставляемые CodeWhisperer, основаны на больших языковых моделях (LLM), обученных миллиардам строк кода, например, из Amazon и программ с открытым исходным кодом. Вы можете быстро и легко принять самое популярное предложение (клавишей табуляции), просмотреть другие предложения (с помощью клавиш со стрелками) или продолжить написание собственного кода. Всегда проверяйте предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.
-
Какие данные собирает CodeWhisperer для формирования предложений кода?
Amazon CodeWhisperer использует ваш контент, например фрагменты кода, комментарии, расположение курсора и содержимое файлов, открытых в интегрированной среде разработки, в качестве исходных данных для предоставления предложений кода.
-
Как защищается мой контент при передаче?
Ваш контент передается по протоколу TLS для безопасной связи между вашей интегрированной средой разработки и сервисом CodeWhisperer. Контент шифруется при передаче, чтобы предотвратить прослушивание или атаки «человек посередине». Для индивидуальных пользователей CodeWhisperer мы можем сохранять контент в целях улучшения обслуживания в соответствии с настройками пользователя. Мы храним этот контент в защищенном виде с помощью шифрования при хранении и строгого контроля доступа.
-
Какие языки программирования и интегрированные среды разработки поддерживает CodeWhisperer?
CodeWhisperer, доступный как часть набора инструментов AWS для кода Visual Studio (VS) и JetBrains, в настоящее время поддерживает Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, скрипты Shell, SQL и Scala. Помимо VS Code и семейства интегрированных сред разработки JetBrains, включая IntelliJ, PyCharm, GoLand, CLion, PhpStorm, RubyMine, Rider, WebStorm и DataGrip, CodeWhisperer также доступен в AWS Cloud9, консоли AWS Lambda, JupyterLab и Студия Amazon SageMaker.
-
Как начать работу с CodeWhisperer?
Чтобы начать работу с VS Code или интегрированной средой разработки JetBrains, посмотрите эти короткие видео. Вы также можете следовать инструкциям в документации здесь.
CodeWhisperer доступен по умолчанию в AWS Cloud9 и консоли AWS Lambda. Дополнительные сведения можно получить, выполнив следующие шаги для начала работы с CodeWhisperer в консоли AWS Lambda, а также следуя указаниям для начала работы с CodeWhisperer в AWS Cloud9.
Следуйте этим инструкциям, чтобы начать работу с JupyterLab и Студия Amazon SageMaker.
-
Где я увижу предложения от CodeWhisperer после активации сервиса?
Включив CodeWhisperer, вы сразу будете получать предложения кода в редакторе кода по мере ввода. Чтобы запустить CodeWhisperer вручную, используйте Option+C (macOS) или Alt+C (Windows).
-
Каким рекомендациям должны следовать разработчики, чтобы получать лучшие результаты от CodeWhisperer?
CodeWhisperer работает наиболее эффективно, когда комментарии разработчиков короткие и привязаны к небольшим дискретным задачам, чтобы ни одна функция или блок кода не были слишком длинными. Аналогичным образом, CodeWhisperer может генерировать полезные предложения по коду, когда разработчики используют интуитивно понятные имена для различных элементов кода, таких как имена функций. Чем больше кода будет доступно в виде окружающего контекста, тем лучше будет предложение.
-
Могу ли я отключить автоподсказки?
Да. Автоподсказки можно приостановить в разделе CodeWhisperer на панели Developer Tools (Инструменты разработчика) в Наборе инструментов AWS. Автоподсказки не будут показываться до тех пор, пока вы не возобновите их. Чтобы запустить CodeWhisperer вручную, используйте Option+C (macOS) или Alt+C (Windows).
-
Что такое отслеживание ссылок в CodeWhisperer?
Сервис отслеживания ссылок CodeWhisperer определяет, может ли предложенный код совпадать с конкретными обучающими данными CodeWhisperer с открытым исходным кодом. Этот сервис может пометить такие предложения, указав URL-адрес репозитория и информацию о лицензии на проект или, если нужно, отфильтровать их. Тогда вам будет легче найти и просмотреть код, на который ссылаются, и понять, как он используется в контексте другого проекта, прежде чем принять решение о его применении. Все ссылки записываются в журнал для последующего просмотра, чтобы поток кодирования не нарушался и вы могли продолжать работу с кодом без перерыва.
-
Какие есть возможности сканирования кода в CodeWhisperer?
Вы можете просканировать код на Python, Java и JavaScript с помощью функции сканирования на наличие труднодоступных уязвимостей, например тех, которые входят в десятку категорий от Open Worldwide Application Security Project (OWASP), или не соответствующих лучшим методам использования криптобиблиотек и другим подобным передовым методам обеспечения безопасности. После выявления уязвимостей безопасности CodeWhisperer также предлагает рекомендации по их устранению.
-
Откуда у AWS обучающие данные для создания этого сервиса?
CodeWhisperer – это сервис генеративного искусственного интеллекта, основанный на базовой модели, обученной работе с различными источниками данных, включая Amazon и открытый исходный код.
-
Кому принадлежит код, сгенерированный CodeWhisperer?
Как и в случае с вашей интегрированной средой разработки, вы сами владеете написанным кодом, включая любые предложения по коду, предоставляемые CodeWhisperer. Вы несете ответственность за написанный код, включая предложения CodeWhisperer, которые вы принимаете. Всегда проверяйте предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.
-
Будет ли CodeWhisperer создавать код, похожий на обучающие данные?
Являясь генеративным искусственным интеллектом, сервис CodeWhisperer создает новый код на основе того, что он узнал из кода, на котором обучался, и контекста, который вы указали в предыдущем коде и комментариях. Хотя сервис CodeWhisperer не предназначен для воспроизведения кода, на котором обучался, вероятно, что в редких случаях он будет генерировать код, точно соответствующий определенным фрагментам из обучающих данных. Если CodeWhisperer обнаружит, что выходные данные соответствуют определенным обучающим данным с открытым исходным кодом, то встроенный сервис отслеживания ссылок уведомит вас, указав тип лицензии (например, MIT или Apache) и URL-адрес проекта с открытым исходным кодом. Тогда вам будет легче найти и просмотреть код, на который ссылаются, и понять, как он используется в контексте другого проекта, прежде чем принять решение о его использовании. Все ссылки записываются в журнал для последующего просмотра, чтобы поток кодирования не нарушался и вы могли продолжать работу с кодом без перерыва.
-
Могу ли я запретить CodeWhisperer рекомендовать код со ссылками на него?
Да. В настройках конфигурации CodeWhisperer вы можете отменить выбор параметра Include Suggestions With Code References (Включить предложения со ссылками на код). Тогда CodeWhisperer не сможет делать предложения, содержащие ссылки на известный лицензированный открытый код. Для бесплатных пользователей индивидуального уровня CodeWhisperer эта настройка доступна в интегрированной среде разработки. На профессиональном уровне CodeWhisperer администратор AWS может централизованно настроить этот параметр на уровне организации в Консоли управления AWS.
-
Будет ли CodeWhisperer создавать вредоносный или предвзятый код?
CodeWhisperer может отфильтровывать предложения по коду, содержащие вредоносные фразы, и предложения с общеизвестными структурами кода, указывающими на предвзятость.
-
Будет ли CodeWhisperer рекомендовать код с уязвимостями безопасности?
Обучающие данные CodeWhisperer анализируются на предмет уязвимостей безопасности, и как можно большое их число отфильтровывается. Цель этой фильтрации – уменьшить количество небезопасных шаблонов кода из обучающих данных, чтобы модель не могла их изучать и генерировать. Однако, учитывая генеративный характер CodeWhisperer, мы не можем полностью исключить предложения кода, связанные с проблемами безопасности. Поэтому CodeWhisperer оснащен встроенной функцией сканирования кода, которая выявляет уязвимости безопасности в ваших проектах Python, Java и JavaScript, включая предложения кода от CodeWhisperer и написанный вами код.
-
CodeWhisperer работает только на английском языке?
Сервис CodeWhisperer обучен на различных источниках данных, включая Amazon и программы с открытым исходным кодом. CodeWhisperer обучен и проверен для генерации предложений кода из комментариев на английском языке. Учитывая множество примеров в обучающем наборе данных, возможно, CodeWhisperer будет предоставлять предложения кода из комментариев, написанных на языках, отличных от английского; однако этот вариант использования не поддерживается.
-
Сколько стоит использование CodeWhisperer?
Индивидуальный уровень CodeWhisperer можно использовать бесплатно, создав Идентификатор AWS Builder и войдя в систему с ним. Процесс регистрации занимает всего несколько минут и не требует кредитной карты или аккаунта AWS.
Стоимость подписки на профессиональный уровень CodeWhisperer составляет 19 USD на пользователя в месяц и предоставляет администраторам возможность включить CodeWhisperer в своей организации с помощью аутентификации единого входа (SSO). Администраторам проще интегрировать CodeWhisperer с существующими решениями по идентификации сотрудников, предоставлять доступ пользователям и группам и настраивать общеорганизационные параметры, например включать или исключать предложения со ссылками на коды. Дополнительные сведения см. в разделе Цены на Amazon CodeWhisperer.
-
В каких регионах AWS доступен сервис CodeWhisperer?
CodeWhisperer не зависит от региона AWS и доступен разработчикам по всему миру. В настоящее время CodeWhisperer размещается в регионе IAD – Восток США (Северная Вирджиния). Если у вас есть Центр идентификации IAM в других регионах (кроме IAD), как администратор профессионального уровня CodeWhisperer вы можете настроить CodeWhisperer в качестве авторизованного межрегионального приложения.
-
Как включить CodeWhisperer для своей организации?
Администратор AWS может включить Amazon CodeWhisperer для организации через Консоль управления AWS. В качестве предварительного условия администраторы должны настроить SSO через Центр идентификации AWS IAM (ранее известный как Единый вход AWS), если эта функция еще не включена в организации. После настройки аутентификации SSO администраторы могут включить CodeWhisperer и предоставить доступ пользователям и группам в своей организации.
-
Как настроить SSO?
SSO для CodeWhisperer включен Центром идентификации IAM. Подробнее см. по ссылке.
-
Какие данные собирает CodeWhisperer профессионального уровня?
Amazon CodeWhisperer профессионального уровня использует ваш контент, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. Сервис обрабатывает этот контент исключительно для обеспечения функциональности и поддержания работоспособности. Контент, обработанный CodeWhisperer профессионального уровня, не сохраняется и не используется для улучшения работоспособности сервиса.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Как используются данные, собранные CodeWhisperer профессионального уровня?
Amazon CodeWhisperer профессионального уровня использует ваш контент, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. Сервис обрабатывает их исключительно для обеспечения функциональности и поддержания работоспособности. Контент, обработанный CodeWhisperer профессионального уровня, не сохраняется и не используется для улучшения работоспособности сервиса.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Как контролировать передачу и использование моих данных в CodeWhisperer профессионального уровня?
Контент, обработанный CodeWhisperer профессионального уровня, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки, не сохраняется и не используется для улучшения работоспособности сервиса.
AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Воспроизведет ли CodeWhisperer профессионального уровня мой личный код?
Нет. Контент, обработанный CodeWhisperer профессионального уровня, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки, не сохраняется и не используется для обучения модели, поэтому он никогда не будет воспроизводиться в предложении кода для другого пользователя.
-
Какие данные собирает CodeWhisperer индивидуального уровня?
Amazon CodeWhisperer индивидуального уровня использует ваш контент, например фрагменты кода, комментарии, расположение курсора и содержимое файлов, открытых в интегрированной среде разработки, в качестве исходных данных для предоставления предложений кода. Вы можете запретить AWS хранить и использовать ваш контент для улучшения сервиса, изменив параметр Share CodeWhisperer Content with AWS (Предоставлять контент CodeWhisperer в AWS) в Наборе инструментов AWS в интегрированной среде разработки.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройку телеметрии в Наборе инструментов AWS в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Как используются данные, собранные сервисом CodeWhisperer индивидуального уровня?
Amazon CodeWhisperer индивидуального уровня может хранить и использовать ваш контент, такой как фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. Amazon CodeWhisperer обрабатывает их, чтобы обеспечить свою функциональность и поддерживать работоспособность, а также, если вы не откажетесь, как указано ниже, чтобы совершенствоваться и повышать качество работы. В частности, мы изучаем лучшие способы повышения производительности разработчиков с помощью генерации кода, выявляем потенциальные злоупотребления сервисом, оцениваем эффективность функций CodeWhisperer, улучшаем базовые большие языковые модели, позволяющие генерировать код, настраиваем алгоритмы ранжирования и многое другое. Вы можете запретить AWS хранить и использовать ваш контент для улучшения сервиса, изменив свои настройки в интегрированной среде разработки.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Как контролировать передачу и использование моих данных в CodeWhisperer индивидуального уровня?
В CodeWhisperer индивидуального уровня вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. по ссылке.
-
Воспроизведет ли CodeWhisperer индивидуального уровня мой личный код?
У нас есть меры безопасности, направленные на предотвращение воспроизведения уникального частного кода, полученного от индивидуальных пользователей CodeWhisperer.
-
Где можно узнать подробнее о конфиденциальности и защите данных AWS?
Посетите Центр конфиденциальности данных.
