Вопросы и ответы об 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 дополнительно обучается предложениям кода для использования API AWS. CodeWhisperer также помогает вам повысить безопасность приложений, обнаруживая и устраняя уязвимости безопасности.

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

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

  • Ваш контент передается по протоколу TLS для безопасной связи между вашей интегрированной средой разработки и сервисом 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.

  • Чтобы начать работу с VS Code или интегрированной средой разработки JetBrains, посмотрите эти короткие видео. Вы также можете следовать инструкциям в документации здесь.

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

    Следуйте этим инструкциям, чтобы начать работу с JupyterLab и Студия Amazon SageMaker.

  • Включив CodeWhisperer, вы сразу будете получать предложения кода в редакторе кода по мере ввода. Чтобы запустить CodeWhisperer вручную, используйте Option+C (macOS) или Alt+C (Windows).

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

  • Да. Автоподсказки можно приостановить в разделе CodeWhisperer на панели Developer Tools (Инструменты разработчика) в Наборе инструментов AWS. Автоподсказки не будут показываться до тех пор, пока вы не возобновите их. Чтобы запустить CodeWhisperer вручную, используйте Option+C (macOS) или Alt+C (Windows).

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

  • Вы можете просканировать код на Python, Java и JavaScript с помощью функции сканирования на наличие труднодоступных уязвимостей, например тех, которые входят в десятку категорий от Open Worldwide Application Security Project (OWASP), или не соответствующих лучшим методам использования криптобиблиотек и другим подобным передовым методам обеспечения безопасности. После выявления уязвимостей безопасности CodeWhisperer также предлагает рекомендации по их устранению.

  • CodeWhisperer – это сервис генеративного искусственного интеллекта, основанный на базовой модели, обученной работе с различными источниками данных, включая Amazon и открытый исходный код.

ОТВЕТСТВЕННЫЙ ПОДХОД К ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ
  • Как и в случае с вашей интегрированной средой разработки, вы сами владеете написанным кодом, включая любые предложения по коду, предоставляемые CodeWhisperer. Вы несете ответственность за написанный код, включая предложения CodeWhisperer, которые вы принимаете. Всегда проверяйте предложение кода, прежде чем принимать его. Возможно, вам придется отредактировать его, чтобы оно точно соответствовало вашим потребностям.

  • Являясь генеративным искусственным интеллектом, сервис CodeWhisperer создает новый код на основе того, что он узнал из кода, на котором обучался, и контекста, который вы указали в предыдущем коде и комментариях. Хотя сервис CodeWhisperer не предназначен для воспроизведения кода, на котором обучался, вероятно, что в редких случаях он будет генерировать код, точно соответствующий определенным фрагментам из обучающих данных. Если CodeWhisperer обнаружит, что выходные данные соответствуют определенным обучающим данным с открытым исходным кодом, то встроенный сервис отслеживания ссылок уведомит вас, указав тип лицензии (например, MIT или Apache) и URL-адрес проекта с открытым исходным кодом. Тогда вам будет легче найти и просмотреть код, на который ссылаются, и понять, как он используется в контексте другого проекта, прежде чем принять решение о его использовании. Все ссылки записываются в журнал для последующего просмотра, чтобы поток кодирования не нарушался и вы могли продолжать работу с кодом без перерыва.

  • Да. В настройках конфигурации CodeWhisperer вы можете отменить выбор параметра Include Suggestions With Code References (Включить предложения со ссылками на код). Тогда CodeWhisperer не сможет делать предложения, содержащие ссылки на известный лицензированный открытый код. Для бесплатных пользователей индивидуального уровня CodeWhisperer эта настройка доступна в интегрированной среде разработки. На профессиональном уровне CodeWhisperer администратор AWS может централизованно настроить этот параметр на уровне организации в Консоли управления AWS.

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

  • Обучающие данные CodeWhisperer анализируются на предмет уязвимостей безопасности, и как можно большое их число отфильтровывается. Цель этой фильтрации – уменьшить количество небезопасных шаблонов кода из обучающих данных, чтобы модель не могла их изучать и генерировать. Однако, учитывая генеративный характер CodeWhisperer, мы не можем полностью исключить предложения кода, связанные с проблемами безопасности. Поэтому CodeWhisperer оснащен встроенной функцией сканирования кода, которая выявляет уязвимости безопасности в ваших проектах Python, Java и JavaScript, включая предложения кода от CodeWhisperer и написанный вами код.

  • Сервис CodeWhisperer обучен на различных источниках данных, включая Amazon и программы с открытым исходным кодом. CodeWhisperer обучен и проверен для генерации предложений кода из комментариев на английском языке. Учитывая множество примеров в обучающем наборе данных, возможно, CodeWhisperer будет предоставлять предложения кода из комментариев, написанных на языках, отличных от английского; однако этот вариант использования не поддерживается.

ЦЕНЫ И ДОСТУПНОСТЬ
  • Индивидуальный уровень CodeWhisperer можно использовать бесплатно, создав Идентификатор AWS Builder и войдя в систему с ним. Процесс регистрации занимает всего несколько минут и не требует кредитной карты или аккаунта AWS.

    Стоимость подписки на профессиональный уровень CodeWhisperer составляет 19 USD на пользователя в месяц и предоставляет администраторам возможность включить CodeWhisperer в своей организации с помощью аутентификации единого входа (SSO). Администраторам проще интегрировать CodeWhisperer с существующими решениями по идентификации сотрудников, предоставлять доступ пользователям и группам и настраивать общеорганизационные параметры, например включать или исключать предложения со ссылками на коды. Дополнительные сведения см. в разделе Цены на Amazon CodeWhisperer.
     

  • CodeWhisperer не зависит от региона AWS и доступен разработчикам по всему миру. В настоящее время CodeWhisperer размещается в регионе IAD – Восток США (Северная Вирджиния). Если у вас есть Центр идентификации IAM в других регионах (кроме IAD), как администратор профессионального уровня CodeWhisperer вы можете настроить CodeWhisperer в качестве авторизованного межрегионального приложения.

  • Администратор AWS может включить Amazon CodeWhisperer для организации через Консоль управления AWS. В качестве предварительного условия администраторы должны настроить SSO через Центр идентификации AWS IAM (ранее известный как Единый вход AWS), если эта функция еще не включена в организации. После настройки аутентификации SSO администраторы могут включить CodeWhisperer и предоставить доступ пользователям и группам в своей организации.

  • SSO для CodeWhisperer включен Центром идентификации IAM. Подробнее см. по ссылке.

КОНФИДЕНЦИАЛЬНОСТЬ НА ПРОФЕССИОНАЛЬНОМ УРОВНЕ СЕРВИСА CODEWHISPERER
  • Amazon CodeWhisperer профессионального уровня использует ваш контент, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки. Сервис обрабатывает этот контент исключительно для обеспечения функциональности и поддержания работоспособности. Контент, обработанный CodeWhisperer профессионального уровня, не сохраняется и не используется для улучшения работоспособности сервиса.

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

    Подробнее см. по ссылке.

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

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

    Подробнее см. по ссылке.

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

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

    Подробнее см. по ссылке.

  • Нет. Контент, обработанный CodeWhisperer профессионального уровня, например фрагменты кода, комментарии и содержимое файлов, открытых в интегрированной среде разработки, не сохраняется и не используется для обучения модели, поэтому он никогда не будет воспроизводиться в предложении кода для другого пользователя.

КОНФИДЕНЦИАЛЬНОСТЬ НА ИНДИВИДУАЛЬНОМ УРОВНЕ СЕРВИСА CODEWHISPERER
  • Amazon CodeWhisperer индивидуального уровня использует ваш контент, например фрагменты кода, комментарии, расположение курсора и содержимое файлов, открытых в интегрированной среде разработки, в качестве исходных данных для предоставления предложений кода. Вы можете запретить AWS хранить и использовать ваш контент для улучшения сервиса, изменив параметр Share CodeWhisperer Content with AWS (Предоставлять контент CodeWhisperer в AWS) в Наборе инструментов AWS в интегрированной среде разработки.

    Кроме того, AWS может собирать и использовать телеметрию и метрики использования на стороне клиента для улучшения работоспособности сервиса. Вы можете отказаться от сбора данных, изменив настройку телеметрии в Наборе инструментов AWS в интегрированной среде разработки.

    Подробнее см. по ссылке.

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

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

    Подробнее см. по ссылке.

  • В CodeWhisperer индивидуального уровня вы можете отказаться от сбора данных, изменив настройки в интегрированной среде разработки.

    Подробнее см. по ссылке.

  • У нас есть меры безопасности, направленные на предотвращение воспроизведения уникального частного кода, полученного от индивидуальных пользователей CodeWhisperer.

ОБЩИЕ ПАРАМЕТРЫ КОНФИДЕНЦИАЛЬНОСТИ

Начните разработку с помощью CodeWhisperer!