К основному содержимому
#AI

[2/2] AI in software engineering at Google: Progress and the path ahead (Рубрика AI)

#AI #Software #ML #Engineering #Processes #DevEx

Заканчивая рассказ про использование ИИ в разработке, хочется рассказать о том, чего они добились и какие следующие шаги они видят

  1. В итоге, ребята в Google научились следующему
  • Они достигли наибольшего эффекта с UX, который естественным образом вписывается в рабочие процессы пользователей . Во всех приведенных выше примерах пользователю предлагается предложение, которое переводит его на следующий шаг в рабочем процессе с помощью одной вкладки или щелчка. Эксперименты, требующие от пользователя помнить о необходимости активировать функцию, не масштабировались.
  • Они наблюдают, что с предложениями на основе ИИ автор кода все больше становится рецензентом , и важно найти баланс между стоимостью ревью и добавленной ценностью этого предложения. Обычно это вопрос компромисса с помощью целевых acceptance rates.
  • Быстрые итерации с онлайн a/b экспериментами являются ключевыми, поскольку офлайн-метрики часто являются лишь грубыми показателями ценности для пользователя. За счет вывода AI-инструментов во внутренний тулинг авторы получают огромную выгоду от возможности легко запускать и итерировать, измерять данные об использовании и напрямую спрашивать пользователей об их опыте с помощью UX-исследований.
  • Полученные высококачественные данные имеют решающее значение для повышения качества моделей.
  1. Воронка взаимодействия выглядит примерно так
  • Event of SWE acting in tooling
  • Trigger for ML prediction
  • Confident ML Prediction
  • Generated ML Prediction
  • Discovery of ML Suggestion
  • Applied (это целевой действие) 8 ) Авторы отмечают, что автодополнение кода на основе ML дало мощный буст в разработке софта. Конечно эти модели можно улучшать и дальше, но авторы видят перспективы в расширении помощи на тестирование, понимание и поддержку кода, а также они видят два тренда
  • Взаимодействие человека и компьютера перешло на естественный язык как на общепринятую модальность, то есть происходит переход к использованию языка в качестве интерфейса для задач разработки программного обеспечения, а также шлюза для удовлетворения информационных потребностей разработчиков программного обеспечения, и все это интегрировано в IDE.
  • Автоматизация более масштабных задач на основе ML (от диагностики проблемы до ее исправления) начала показывать первые признаки осуществимости. Эти возможности обусловлены инновациями в использовании агентов и инструментов , которые позволяют создавать системы, использующие один или несколько LLM в качестве компонента для выполнения более крупной задачи. Авторы предлагают объединиться для создания бенчмарков для оценки этих возможностей следующего поколения. Они упоминают как примеры
  • SWEBench - решение issues на Github
  • Бенчи из Cognition AI - а Cognition AI запустили Devin (end-to-end software agent), который пытается решать e2e задачки

#Software #AI #ML #Engineering #Processes #DevEx