На своей конференции re:Mars Amazon сегодня объявил о запуске CodeWhisperer, инструмента парного программирования, похожего на Copilot GitHub, который может автоматически писать целые функции на основе только комментария или нескольких строчек кода. Компания обучила систему, которая в настоящее время поддерживает Java, JavaScript и Python, на миллиардах строк общедоступного открытого исходного кода, собственной кодовой базе, а также на общедоступной документации и коде публичных форумов.
Теперь CodeWhisperer доступен в предварительной версии в составе AWS IDE Toolkit, что означает, что разработчики могут сразу же использовать его прямо в своих предпочтительных IDE, включая Visual Studio Code, IntelliJ IDEA, PyCharm, WebStorm и в собственном облаке Amazon AWS 9.
В преддверии сегодняшнего объявления Васи Филомин, вице-президент Amazon, отвечающий за искусственный интеллект, подчеркнул, что компания создала это не просто для того, чтобы предложить копию Copilot. Он отметил, что с помощью CodeGuru, средства проверки кода и профилировщика производительности на основе ИИ, и DevOps Guru, инструмента для поиска проблем в работе систем, компания заложила основу для сегодняшнего запуска еще несколько лет назад.
«Технология находится на том этапе, когда мы решили, что настало подходящее время для ее внедрения», — сказал Филомин. «И это прекрасно сочетается с другими платформами, которые у нас есть. Это было путешествие, и мы просто делали разные части в разное время».
Компания отмечает, что система постоянно проверяет ваш код и комментарии и даже принимает во внимание ваш собственный стиль программирования и имена переменных. Используя эту контекстную информацию — и где находится ваш курсор — она затем генерирует свои предложения кода.
CodeWhisperer несколько отличается от Copilot. Во-первых, хотя большая часть кода, который генерирует система, является новым, каждый раз, когда она генерирует код, близкий к существующему фрагменту в своих обучающих данных, она отмечает это и выделяет лицензию исходной функции. Дальше разработчику решать, использовать его или нет. Это должно облегчить некоторые (хотя, возможно, не все) проблемы с авторскими правами, которые могут возникнуть при использовании такого инструмента.
Еще одна особенность, которую подчеркнул Филомин, — это безопасность. Основываясь на собственном опыте Amazon в управлении большими кодовыми базами и проведении анализа после того, как что-то пошло не так (используя формализованный процесс «исправления ошибок»), а также на опыте работы с CodeGuru, CodeWhisperer сканирует код на наличие потенциальных проблем с безопасностью.
Опыт пользователя/разработчика довольно прост. Разработчики могут выбирать между различными предложениями кода. Система может автоматически читать комментарии и только на основе них предлагать функции. Простым примером этого может быть что-то вроде #See if a number is prime.
Хотя система будет отлично работать для разработчиков за пределами экосистемы AWS, Филомин отметил, что команда позаботилась о том, чтобы она хорошо работала для разработчиков, которые хотят использовать ее для доступа к сервисам AWS.
«Когда мы говорим, что у него первоклассная поддержка AWS API, это всего лишь дополнительная вещь. С точки зрения всех наших измерений и всех наших испытаний, мы думаем, что наша платформа работает на удивление хорошо и будет самой современной», — сказал он.