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

[1/2] Measuring the Impact of AI on Developer Productivity at Meta (Рубрика AI)

#AI #Engineering #Software #Bigtech #Productivity #Management #Leadership #Processes #ML #Architecture #DevEx #DevOps

Превосходное выступление от ребят из запрещенной в России Meta, которое я пересматривал раза 3, чтобы получше разобраться со всеми деталями. Выступали Payam Shodjai (senior director of product management) и Pavel Avgustinov (techlead) направления developer productivity в Meta и они рассказали кучу интересных подходов + технических деталей того, как они подходят к этому вопросу. После этого выстулпения я гораздо лучше понял концепты из статьи "What's DAT? Three Case Studies of Measuring Software Development Productivity at Meta With Diff Authoring Time" (см. мой разбор).

Основная идея доклада крутилась вокруг вопроса "а как измерять влияние AI-инструментов на реальную инженерную продуктивность в большой компании?". И из доклада видно, что Meta построила всеобъемлющий набор метрик, собрала исчерпывающую телеметрию, научилась учитывать сложные операции в системах контроля версий (это обещали пошарить в новом whitepaper, так как базовый git не умеет делать так, как Sapling от Meta). Дальше они искали прямые корелляции между использованием AI и классическими метриками productivity/business value. И речь тут шла не про стандартный code completion, а о более широком наборе AI-инструментов по всему SDLC.

Если упрощать, то ребята показали, что без хорошей инструментализации разговор про ROI от AI быстро превращается в мнения и ощущения. Поэтому Meta делает ставку не на опросы как единственный источник, а на связку из телеметрии, diff-метрик, поведенческих данных и проверки этих данных на реальных рабочих сессиях. Это хорошо согласуется с описанной Meta системой Diff Authoring Time (DAT), которая объединяет privacy-aware telemetry из IDE, ОС и version control и затем валидируется наблюдательными исследованиями, опросами и визуализациями.

1️⃣ Умная классификация пулл-реквестов с помощью LLM Долгое время главной метрикой в компании был DDM (Diffs per Developer per Month - количество диффов/коммитов на разработчика в месяц). Однако с внедрением ИИ эта метрика стала уязвима для "закона Гудхарта": разработчики могли искусственно завышать показатели, нарезая задачи на мелкие коммиты, а ИИ генерировал много бойлерплейта (шаблонного кода). Чтобы измерять реальную бизнес-ценность, Meta внедрила метрику Feature DDM. Для этого они используют LLM, которые автоматически анализируют содержимое каждого пулл-реквеста и классифицируют его на:

  • Feature Diffs: код, создающий новую продуктовую ценность для пользователя.
  • Non-Feature Diffs: рефакторинг, обновление конфигураций, тесты и документация. ИИ-ассистенты оцениваются именно по тому, насколько они увеличивают количество продуктовых диффов.

2️⃣ Посимвольная телеметрия и внутренние инструменты (Devmate) Meta не полагается на базовую статистику системы контроля версий. Для сбора данных они используют свой внутренний ИИ-инструмент - Devmate (кастомное расширение для IDE). Главный нюанс их телеметрии - посимвольное отслеживание (character-level tracking). Система точно знает происхождение каждого символа в коде. Meta может с абсолютной точностью сказать, какой процент символов в итоговом слитом пулл-реквесте был напечатан инженером вручную, а какой - сгенерирован нейросетью и оставлен без изменений. Отдельно упоминается про то, что Sapling позволяет умно отслеживать transition между commits и правильнее считать как трансформируется код при помощи edit/rebase и остального, а также кем именно (людьми или автоматикой). Помимо этого, телеметрия отслеживает узкие места всего цикла (SDLC): время нахождения задачи на код-ревью, циклы одобрения и прохождение автоматических тестов.

В следующем посте я расскажу про основные инсайты, которыми поделились авторы и которые реально интересны.

#Engineering #Software #Bigtech #Productivity #Management #Leadership #Processes #AI #ML #Architecture #DevEx #DevOps