Вопросы и ответы об Amazon CodeWhisperer
-
Что такое Amazon CodeWhisperer?
CodeWhisperer – это помощник по работе с кодом на основе искусственного интеллекта, который в реальном времени генерирует предложения однострочного или полнофункционального кода в интегрированной среде разработки (IDE), помогая быстро создавать программное обеспечение. С помощью CodeWhisperer вы можете написать комментарий на понятном языке, который описывает конкретную задачу на английском, например Upload a file with server-side encryption (Загрузить файл с шифрованием на стороне сервера). На основе этой информации CodeWhisperer рекомендует один или несколько фрагментов кода, которые могут выполнить эту задачу, непосредственно в IDE. Вы можете быстро и легко принять самое популярное предложение (клавишей табуляции), просмотреть другие предложения (с помощью клавиш со стрелками) или продолжить написание собственного кода. Необходимо всегда проверять предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.
Дополнительные сведения см. в руководствах пользователя по Visual Studio (VS) Code и JetBrains, AWS Cloud9, консоли AWS Lambda, JupyterLab и Студии Amazon SageMaker.
-
Почему следует использовать CodeWhisperer?
CodeWhisperer помогает ускорить разработку программного обеспечения, предоставляя предложения кода, которые сокращают общие усилия по разработке и дают больше времени на выработку идей, решение сложных проблем и написание дифференцированного кода. Помимо общих предложений кода, CodeWhisperer обучается предлагать код для использования API AWS. CodeWhisperer также помогает вам повысить безопасность приложений, обнаруживая и устраняя уязвимости безопасности.
-
Как работает CodeWhisperer?
Во время написания кода CodeWhisperer анализирует комментарии на английском языке и окружающий код, чтобы определить, какой код необходим для выполнения поставленной задачи. CodeWhisperer предлагает один или несколько фрагментов кода непосредственно в редакторе, что ускоряет процесс написания. Предложения кода в CodeWhisperer основаны на больших языковых моделях (LLM), обученных миллиардам строк кода, например из Amazon и программ с открытым исходным кодом. Вы можете быстро и легко принять самое популярное предложение (клавишей табуляции), просмотреть другие предложения (с помощью клавиш со стрелками) или продолжить написание собственного кода. Всегда проверяйте предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.
-
Какие данные собирает CodeWhisperer для формирования предложений кода?
CodeWhisperer использует ваш контент, например фрагменты кода, комментарии, расположение курсора и содержимое файлов, открытых в интегрированной среде разработки, в качестве исходных данных для предоставления предложений кода.
-
Как защищается мой контент при передаче?
Ваш контент передается по протоколу TLS для безопасной связи между вашей интегрированной средой разработки и сервисом CodeWhisperer. Контент шифруется при передаче, чтобы предотвратить прослушивание или атаки «человек посередине». Для индивидуальных пользователей CodeWhisperer мы можем сохранять контент в целях улучшения обслуживания в соответствии с настройками пользователя. Мы храним этот контент в защищенном виде с помощью шифрования при хранении и строгого контроля доступа.
-
Какие языки программирования и интегрированные среды разработки поддерживает CodeWhisperer?
CodeWhisperer, доступный как часть набора инструментов AWS для кода Visual Studio (VS) и JetBrains, в настоящее время поддерживает Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, сценарии командной оболочки, SQL и Scala. Помимо VS Code и семейства интегрированных сред разработки JetBrains, включая IntelliJ, PyCharm, GoLand, CLion, PhpStorm, RubyMine, Rider, WebStorm и DataGrip, CodeWhisperer также доступен в AWS Cloud9, консоли Lambda, JupyterLab и Студии SageMaker.
-
Как начать работу с CodeWhisperer?
Чтобы начать работу с VS Code или интегрированной средой разработки JetBrains, посмотрите эти короткие видео. Вы также можете следовать инструкциям в документации.
CodeWhisperer доступен по умолчанию в AWS Cloud9 и консоли Lambda. Воспользуйтесь следующими ссылками для получения дополнительной информации и инструкций по началу работы с CodeWhisper в следующих IDE:
-
Где я увижу предложения от 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 – Восток США (Северная Вирджиния). Как администратор профессионального уровня CodeWhisperer вы можете настроить CodeWhisperer в качестве авторизованного межрегионального приложения, если у вас есть Центр идентификации IAM в других регионах (кроме IAD).
-
Как включить CodeWhisperer для своей организации?
Администратор AWS может включить CodeWhisperer для организации через Консоль управления AWS. В качестве предварительного условия администраторы должны настроить SSO через Центр идентификации IAM, если эта функция еще не включена в организации. После настройки аутентификации SSO администраторы могут включить CodeWhisperer и предоставить доступ пользователям и группам в своей организации.
-
Как настроить SSO?
SSO для CodeWhisperer включен Центром идентификации IAM. Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Что такое возможность настройки CodeWhisperer?
Благодаря возможности настройки CodeWhisperer вы можете адаптировать CodeWhisperer для генерации более актуальных рекомендаций, предоставляя сервису информацию о ваших внутренних библиотеках, API, лучших методах и архитектурных шаблонах. Дополнительные сведения см. в разделе Настройка CodeWhisperer для получения самых оптимальных рекомендаций.
-
Какие языки поддерживает эта функция?
В настоящее время вы можете настроить рекомендации CodeWhisperer на базах кода, написанных на таких языках, как Java, JavaScript, TypeScript и Python. Файлы, написанные на других языках, поддерживаемых CodeWhisperer (C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, сценарии командной оболочки, SQL и Scala), не будут использоваться при создании настроек или предоставлении индивидуальных рекомендаций в IDE на основе ваших внутренних репозиториев кода.
-
Как начать использовать возможность настройки?
Вы можете безопасно подключить репозитории кода к CodeWhisperer с помощью Консоли управления AWS. Администраторы CodeWhisperer могут легко управлять доступом к частной настройке из Консоли управления AWS, так что доступ будет только у определенных разработчиков.
-
Сколько стоит использование возможности настройки?
В предварительной версии возможностями настройки CodeWhisperer можно пользоваться бесплатно. Цены станут известны после выхода системы на рынок.
-
Существуют ли в предварительной версии ограничения на использование этой функции?
В предварительной версии вы можете применять возможности настройки CodeWhisperer, чтобы создавать до восьми настроек на основе своих внутренних баз кода. Вы можете поддерживать в активном состоянии не более двух настроек кода одновременно.
-
Как собираются и используются мои данные при подключении и использовании этой возможности?
Каждая настройка изолируется от других клиентов, поэтому ни одна из настроек, выполненных с применением этой новой функции, не будет использоваться для обучения базовой модели, лежащей в основе CodeWhisperer. При создании настроек CodeWhisperer помогает поддерживать безопасность кода, предоставляя возможность шифрования данных настроек с помощью управляемого клиентом ключа в Сервисе управления ключами AWS (AWS KMS). Данные настройки удаляются после завершения работы над ней.
-
Какие данные собирает CodeWhisperer профессионального уровня и как они используются?
CodeWhisperer профессионального уровня использует ваш контент, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. Сервис обрабатывает этот контент исключительно для обеспечения функциональности и поддержания работоспособности. Контент, обработанный CodeWhisperer профессионального уровня, не сохраняется и не используется для улучшения работоспособности сервиса.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Как контролировать передачу и использование моих данных в CodeWhisperer профессионального уровня?
Контент, обработанный CodeWhisperer профессионального уровня, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки, не сохраняется и не используется для улучшения работоспособности сервиса.
AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Воспроизведет ли CodeWhisperer профессионального уровня мой личный код?
Нет. Контент, обработанный CodeWhisperer профессионального уровня, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки, не сохраняется и не используется для обучения модели, поэтому он никогда не будет воспроизводиться в предложении кода для другого пользователя.
-
Какие данные собирает CodeWhisperer индивидуального уровня?
CodeWhisperer индивидуального уровня использует ваш контент, например фрагменты кода, комментарии, расположение курсора и содержимое файлов, открытых в интегрированной среде разработки, в качестве исходных данных для предоставления предложений кода. Вы можете запретить AWS хранить и использовать ваш контент для улучшения сервиса, изменив параметр Share CodeWhisperer Content with AWS (Предоставлять контент CodeWhisperer в AWS) в Наборе инструментов AWS в интегрированной среде разработки.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройку телеметрии в Наборе инструментов AWS в IDE.
Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Как используются данные, собранные сервисом CodeWhisperer индивидуального уровня?
CodeWhisperer индивидуального уровня может хранить и использовать ваш контент, такой как фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. CodeWhisperer обрабатывает их, чтобы обеспечить свою функциональность и поддерживать работоспособность, а также, если вы не откажетесь, как указано ниже, чтобы совершенствоваться и повышать качество работы. В частности, мы изучаем лучшие способы повышения производительности разработчиков с помощью генерации кода, выявляем потенциальные злоупотребления сервисом, оцениваем эффективность функций CodeWhisperer, улучшаем базовые LLM, позволяющие генерировать код, настраиваем алгоритмы ранжирования и многое другое. Вы можете запретить AWS хранить и использовать ваш контент для улучшения сервиса, изменив свои настройки в интегрированной среде разработки.
Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Как контролировать передачу и использование моих данных в CodeWhisperer индивидуального уровня?
В CodeWhisperer индивидуального уровня вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.
Подробнее см. в Руководстве пользователя CodeWhisperer.
-
Воспроизведет ли CodeWhisperer индивидуального уровня мой личный код?
У нас есть меры безопасности, направленные на предотвращение воспроизведения уникального частного кода, полученного от индивидуальных пользователей CodeWhisperer.
-
Где можно узнать подробнее о конфиденциальности и защите данных AWS?
Посетите Центр конфиденциальности данных.
Ознакомьтесь с документацией CodeWhisperer, чтобы узнать больше.
