[2/2] AI in software engineering at Google: Progress and the path ahead (Рубрика AI)
Заканчивая рассказ про использование ИИ в разработке, хочется рассказать о том, чего они добились и какие следующие шаги они видят
- В итоге, ребята в Google научились следующему
- Они достигли наибольшего эффекта с UX, который естественным образом вписывается в рабочие процессы пользователей . Во всех приведенных выше примерах пользователю предлагается предложение, которое переводит его на следующий шаг в рабочем процессе с помощью одной вкладки или щелчка. Эксперименты, требующие от пользователя помнить о необходимости активировать функцию, не масштабировались.
- Они наблюдают, что с предложениями на основе ИИ автор кода все больше становится рецензентом , и важно найти баланс между стоимостью ревью и добавленной ценностью этого предложения. Обычно это вопрос компромисса с помощью целевых acceptance rates.
- Быстрые итерации с онлайн a/b экспериментами являются ключевыми, поскольку офлайн-метрики часто являются лишь грубыми показателями ценности для пользователя. За счет вывода AI-инструментов во внутренний тулинг авторы получают огромную выгоду от возможности легко запускать и итерировать, измерять данные об использовании и напрямую спрашивать пользователей об их опыте с помощью UX-исследований.
- Полученные высококачественные данные имеют решающее значение для повышения качества моделей.
- Воронка взаимодействия выглядит примерно так
- 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