Google Cloud расширяет инструментарий разработчика и возможности анализа данных с помощью генеративного искусственного интеллекта

Google Cloud расширяет возможности разработчика и анализа данных с помощью генеративного искусственного интеллекта.

На этой неделе на крупной конференции Google Cloud, Google Next ’23, руководители технологического гиганта сделали множество анонсов и заявлений о будущих облачных разработках и инновациях, чтобы помочь разработчикам и IT-менеджерам планировать свои действия.

Редакционная команда ENBLE отправилась на разведку, чтобы изучить широкий спектр анонсов, которые вы можете найти здесь, на ENBLE. Моя задача была рассмотреть работу Google в области облачных разработок, данных и искусственного интеллекта. Здесь Google многое делает, чтобы дать возможность разработчикам создавать следующее поколение облачных приложений и интегрировать генеративные возможности искусственного интеллекта, где это уместно.

Также: Как Google усиливает поиск с помощью искусственного интеллекта

В мае на конференции Google I/O Google анонсировал новую возможность под названием Duet AI для разработчиков. Функции разработчика Duet AI в общих чертах похожи на функции AI-помощника Copilot от Microsoft GitHub, поскольку они направлены на помощь разработчикам в создании кода на платформе Google Cloud.

На конференции Google Next ’23 Google продолжил работу над Duet AI и предоставил более подробную информацию о том, что может делать Duet AI и как они расширили исходное предложение.

Прежде чем мы рассмотрим некоторые из этих возможностей, давайте разберем, что может стать источником путаницы. Duet AI не только для разработчиков. В мае Google также анонсировал Duet AI для Workspace, показывая, как она может помочь создавать презентации, делать заметки на совещаниях, помогать в написании документов и многое другое. Мы здесь рассмотрим “многое другое”, где Google также использует Duet AI для создания кода и проектов.

Duet AI для разработки в облаке

В мае Google показало, как можно использовать Duet AI для помощи на уровне кода и чата. С тех пор “доверенные разработчики” (их термин) тестировали эту возможность и давали обратную связь инженерам Google. По словам Google, Duet AI предназначена для поддержки разработчиков на всем протяжении жизненного цикла разработки, помогая в написании кода, цитировании исходного кода, покрытии тестами, проектировании и публикации API, миграции и модернизации приложений и многом другом.

Также: Google Workspace наконец-то обновляется с помощью искусственного интеллекта. Познакомьтесь с Duet AI для Workspace

Как разработчика, меня очень заинтересовало то, что Duet AI доступна через плагины или расширения в распространенных средах разработки. Среди них IDE VSCode от Microsoft и IDE JetBrains, такие как CLion, GoLand, IntelliJ, PyCharm, Rider и WebStorm. Это интеграция делает инструмент более актуальным, поскольку Google не требует от разработчиков переключения платформ для использования этого помощника.

Вот где раскрывается потенциал помощи искусственного интеллекта. Игнорируя факт, что кодирование с использованием искусственного интеллекта зачастую ненадежно, и предполагая, что разработчики Google будут улучшать производительность со временем, в блоге Duet AI в Google Cloud Blog Брэд Калдер, вице-президент Google Cloud Platform и технической инфраструктуры Google, показал, что естественноязыковая подсказка, например, “Преобразовать эту функцию на Go и использовать Cloud SQL”, может быть использована для переписывания кода на новом языке и обновления API всего из одного предложения.

Также: Google представляет Duet AI для решения новых задач в области кибербезопасности в облаке

Миграция может быть особенно трудной для разработчиков. В моем случае у меня есть старый код, написанный для PHP 5.6, который уже не совместим с текущими средами PHP 8.x. Если я буду делать это вручную, мне придется потратить недели (или, возможно, месяцы), чтобы найти все компоненты, которые требуют преобразования, чтобы обновить этот код. Но если это сможет сделать искусственный интеллект (без испорченного кода), то он потенциально сможет значительно сократить мою загрузку на недели или месяцы. Это очень большое преимущество, потому что это освобождает разработчиков для добавления новых функций и инноваций, вместо того, чтобы тратить время на миграции и обновление одного и того же кода снова и снова.

Google также представляет то, что они называют “генерацию кода с учетом контекста”. Здесь тоже не путайтесь. Обычно термин контекст-ориентированный относится к некоторой деятельности искусственного интеллекта, которая основана на том, что находится на экране. Контекст-ориентированное заполнение в Photoshop заполняет текстуры на основе окружающих текстур. Контекст-ориентированный код ожидается генерировать код на основе содержимого текущей функции. Однако использование Google этого термина относится к корпоративному контексту, а не к контексту на экране.

Калдер говорит: «Мы начали работать с выбранными предприятиями, чтобы позволить Duet Al настраиваться с помощью организационных знаний из их библиотек и базы кода для генерации контекстно-ориентированных предложений кода». Такой подход означает, что если у вашей организации есть собственные библиотеки, Duet AI может быть достаточно умным, чтобы включить в себя это институциональное знание. Конечно, что означает “выбранные предприятия” и будет ли эта функция выпущена широко, пока неясно.

Также: Знакомьтесь с разработчиком после искусственного интеллекта: более креативным, более ориентированным на бизнес

Еще одной привлекательной особенностью является то, что Duet AI может помочь разработчикам публиковать API с использованием естественноязыковых запросов. Еще раз, когда это работает, это может значительно сэкономить время.

Duet AI для баз данных и аналитики данных в облаке

У Google есть длинный список огромных сервисов для управления данными и базами данных. На Google Next ’23 компания указала, что она интегрирует Duet AI в большинство из них.

Легко застрять в деталях, когда речь идет о различных предложениях Google по управлению данными, поэтому для целей этой статьи я дам очень простое краткое описание каждого из них.

  • Cloud Spanner: Глобально распределенный, полностью консистентный сервис баз данных, обеспечивающий высокую доступность и масштабируемость, разработанный для предприятий, нуждающихся в глобальном охвате и высокой транзакционной целостности.
  • AlloyDB: Специализированный полностью управляемый сервис баз данных на платформе Google Cloud, ориентированный на пользователей PostgreSQL, идеально подходящий для тех, кто нуждается в решении, специфичном для PostgreSQL.
  • Cloud SQL: Универсальный полностью управляемый сервис реляционных баз данных, поддерживающий несколько типов баз данных, таких как PostgreSQL, MySQL и MS SQL, подходящий для широкого спектра приложений и размеров бизнеса.
  • BigQuery: Безсерверное, высокомасштабируемое и экономичное хранилище данных мультиоблачной архитектуры, разработанное для бизнес-гибкости, идеально подходящее для тех, кто нуждается в выполнении быстрых SQL-подобных запросов к большим наборам данных.

Google объявил, что Duet AI теперь поддерживает Cloud Spanner. Duet AI может писать код, управляющий и запрашивающий данные с использованием естественного языка. В блоге приведен пример запроса на естественном языке: «напишите запрос, чтобы показать все данные в таблице messages», который автоматически генерирует SQL, который пользователи могут затем проверить и изменить.

Также: Другая проблема, наконец, связанная с моим планом хранения корпоративных данных в облаке Google

Компания говорит, что Duet AI также будет доступен для Alloy DB и Cloud SQL, но пока не указана дата поставки. Google предлагает услугу Duet AI для миграции Oracle в Alloy DB и Oracle в Cloud SQL для PostgreSQL в этом году. Если эта последняя фраза вас вдохновляет, то вы являетесь целевым клиентом этой новой AI-службы. Ожидайте, что другие устаревшие системы также воспользуются такими миграциями в будущем.

Сдвиг вниз вместо сдвига влево

Хорошо, пришло время для еще нескольких модных терминов. В мире DevOps термин «сдвиг влево» относится к перемещению процессов поздних стадий, таких как QA и проверка безопасности, на более ранние стадии разработки, чтобы они были включены в проектирование и оценку проекта.

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

Google пропагандирует практику «сдвига вниз». Идея была представлена в блоге Ричарда Серотера, директора стратегии и взаимодействия с общественностью Google. Здесь нарушается парадигма временной шкалы, потому что, конечно, горизонтальные линии не имеют глубины.

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

Не вдавайтесь в слишком глубокий анализ. Если вы начнете прямо разбирать модные технологические термины, идея о том, что облако находится в огромных центрах обработки данных, не будет иметь смысла. Просто поймите, что эти термины создаются на основе других идей (например, формы облака, которая часто рисуется на схемах сети). В данном случае Серотер продвигает идею о том, что сдвиг должен происходить в другом направлении.

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

Как вы могли себе представить, позволять программному обеспечению выполнять работу является практически миссией генеративного искусственного интеллекта. И это, наконец, теперь, когда у нас есть контекст, приводит нас к следующему набору объявлений от Google – общему усилию в поддержке опыта разработчика.

Google объявила о ряде усилий по “снижению нагрузки”:

  • Решения Jump Start: Это приложения и инфраструктурные решения, которые по существу представляют собой заранее разработанные точки старта для проектов с поддержкой возможностей генеративного искусственного интеллекта.
  • Duet AI для автозаполнения кода и чата: Мы уже говорили о этой работе выше, и она предназначена для перекладывания работы на искусственный интеллект, освобождая разработчиков.
  • Снижение взаимодействия между системами: Google объявила о доступности платформы интеграции приложений, предлагающей возможность интеграции без написания кода и содержащей интерфейс “перетащи и подключи” для соединения сервисов. Можно сказать, что это аналог Zapier для облачных проектов на корпоративном уровне. Google также объявила, что Duet AI будет помогать в этом.
  • Облачные рабочие станции: Несмотря на то, что эта возможность существует уже довольно долго, Google подчеркивает, что использование его виртуального рабочего стола позволяет “снизить трудность предоставления, масштабирования, управления и защиты сред разработчика, переложив эту работу на платформу”.

Горячее мнение Дэвида

У Google есть еще несколько инициатив в области разработки и обработки данных, но все они, вероятно, будут основываться на генеративном искусственном интеллекте или скоро будут основываться на нем. Будь то сопровождающий, такой как Duet AI, или инструмент, управляемый искусственным интеллектом, который помогает “снизить нагрузку” на платформу, большинство этих усилий, если они будут успешными, будут несомненным преимуществом для разработчиков.

С одной стороны, это чрезвычайно волнующе. Большая часть программирования – это чистая ноша. Обновление для исправления несовместимостей, создание функциональных тестов и поиск ошибок – это задачи, которые определенно не доставляют удовольствия. Миграции и преобразования занимают огромное количество времени и редко приводят к появлению новых возможностей.

Для одного из моих проектов я потратил, наверное, 80% времени на преобразования, потому что торговые платформы, от которых зависит проект, менялись со временем. На добавление функций и возможностей я потратил даже меньше 20% времени. Если бы хотя бы 25% моей нагрузки по миграции и преобразованию могли быть делегированы искусственному интеллекту, я мог бы удвоить свою производительность в создании новых функций. Это огромно.

Также: Искусственный интеллект может автоматизировать 25% всех рабочих мест. Вот какие из них наиболее (и наименее) подвержены риску

Но вот “с другой стороны”. Мое опасение заключается в том, что по мере того, как мы все больше и больше перекладываем нагрузку программирования на платформу, на искусственный интеллект, мы будем все меньше и меньше понимать, как все это работает. Это означает, что когда возникает ошибка (а она обязательно возникнет), или если искусственный интеллект делает что-то глупое (а он это сделает), будет гораздо сложнее рассмотреть незнакомый компьютерно-сгенерированный код, чтобы найти и исправить проблему.

Я вспоминаю любимую фразу Румпельштильцхена, сыгранного неподражаемым Робертом Карлайлом в фэнтезийном сериале “Однажды в сказке” на канале ABC. Когда его просят сделать что-то волшебное, чтобы решить одну или другую проблему, Румпельштильцхен говорит: “Всякая магия имеет свою цену, дорогая”.

Это мое завершающее мысль для вас, когда мы рассматриваем все функции поддержки искусственного интеллекта, которые Google и другие компании предлагают разработчикам: “Всякая магия имеет свою цену, дорогая”.

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


Вы можете следить за обновлениями моих проектов в социальных сетях. Обязательно подпишитесь на еженедельную рассылку моих обновлений на Substack и следите за мной в Twitter по адресу @DavidGewirtz, на Facebook по адресу Facebook.com/DavidGewirtz, в Instagram по адресу Instagram.com/DavidGewirtz и на YouTube по адресу YouTube.com/DavidGewirtzTV.