На своей конференции re:Invent компания AWS сегодня объявила о серии обновлений Q Developer, своей платформы помощников по кодированию, которая конкурирует с такими платформами, как GitHub Copilot. Основное внимание здесь уделяется выходу за рамки завершения кода и помощи разработчикам в выполнении более широкого спектра рутинных задач, связанных с сквозным жизненным циклом программного обеспечения.
Сервис, который вы, возможно, до сих пор помните под прежним названием «CodeWhisperer», является частью общей платформы генеративного искусственного интеллекта Amazon Q от AWS, которая также включает Q Business (и которая сегодня также получает множество обновлений).
«Что нужно разработчикам, так это то, что они хотят, чтобы Q был их партнером для решения некоторых недифференцированных сложных задач, чтобы у них было больше свободы для инноваций», — сказал мне Сваминатан «Свами» Сивасубраманиан, вице-президент AWS по искусственному интеллекту и данным. . «И вот почему так важно иметь помощника или приятеля, который помогает им делать все быстрее и рациональнее, и именно поэтому мы уделяем этому большое внимание».
Управление сквозным жизненным циклом программного обеспечения
Сивасубраманиан сказал мне, что, по его мнению, Q Developer отличается от конкурирующих платформ тем, что он ориентирован на весь жизненный цикл разработки программного обеспечения. До сих пор это означало помощь разработчикам в устранении проблем и выполнении многоэтапных задач по их устранению (или создании совершенно новых приложений), а также в сканировании кода на наличие уязвимостей безопасности.
В этом re:Invent компания делает еще один шаг вперед. Q теперь может, например, автоматически генерировать модульные тесты. Но, возможно, еще важнее то, что теперь он может делать то, что многие разработчики ненавидят больше всего: писать и поддерживать документацию для этого кода. Чтобы завершить этот цикл, Q теперь может генерировать первую проверку кода, когда разработчики возвращают свой код.
«В Amazon существует правило: ни один код никогда не проверяется без проверки кода», — сказал Сивасубраманиан. «Поэтому, если вы не проведете проверку кода, вы не сможете вернуть код. Но не на многих предприятиях на самом деле есть достаточно старших инженеров для проверки, или старший инженер говорит: «Я не могу справиться с таким количеством отзывов». Может ли кто-нибудь сначала просмотреть его, прежде чем мы это сделаем? Вопрос: мы упростим процесс проверки кода, выступая в роли проверяющего первой линии и беря на себя автоматическую проверку качества кода, уязвимостей безопасности и так далее».
Затем, как только код будет запущен в эксплуатацию, новый операционный агент для Q теперь может автоматически получать данные из AWS CloudWatch, службы мониторинга компании, и немедленно начинать расследование при срабатывании сигнализации. «Он использует имеющиеся у него знания о ресурсах AWS организации, а затем анализирует сотни точек данных по различным ресурсам, хранящимся в CloudWatch. Затем, после анализа, Q выдвигает потенциальную гипотезу о первопричине, а затем подсказывает пользователям, как ее исправить», — объяснил Сивасубраманиан.
Все, что вы хотели на Рождество, — это помощь с миграцией на Cobol и .NET, верно?
Для предприятий со старыми базами кода переход в облако часто предполагает переписывание большого количества существующего кода. Одной из первых отличительных особенностей Amazon Q Developer был агент преобразования кода. В то время основной задачей этого агента была модерация старых Java-приложений. Сегодня команда расширяет эту сферу, помогая разработчикам обновлять свои старые приложения на базе .NET с Windows на Linux.
И хотя на первый взгляд это может показаться диковинкой, AWS также запускает агент для модернизации приложений мэйнфреймов COBOL. В конце концов, многие крупные предприятия до сих пор полагаются на этот старый код, с которым сегодня мало кто из разработчиков умеет работать. Это очень сложные миграции, подчеркнул Сивасубраманиан, и поэтому цель здесь не в том, чтобы просто перевести существующий код 1:1.
«Наша цель не в том, чтобы на самом деле полностью реализовать проект COBOL с кодом», — сказал он. «Реальность такова, что эти проекты по своей сути чрезвычайно сложны. Вам нужен человек, который сможет это использовать, но я слышал, как клиенты говорили: «Эй, это занимает несколько лет, и клиенты прямо сказали нам, что это меняет правила игры и значительно сократит сроки».
Сивасубраманиан отметил, что, хотя кода COBOL для обучения моделей автоматизации миграции кода меньше, команда смогла использовать общий опыт AWS в модернизации приложений для мэйнфреймов, а также более традиционные методы трансляции кода.
«Перенос кода с одного языка на другой, пожалуй, самая простая задача», — сказал он. «Но самое сложное: как узнать, что вы все сделали правильно? И откуда ты вообще знаешь, что делает код? И затем проблема с этими (кодовыми базами) заключается в том, что они обычно плохо документированы, а зависимости плохо поняты. Итак, то, что мы создали, действительно чрезвычайно инновационно, и (система) также понимает на уровне проекта, каковы цели каждого модуля, а затем планирует и создает график планирования миграции для фактической генерации кода, и затем сгенерируйте тест и подключите к нему людей, чтобы увидеть, как вы его проверяете».