TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Книжный куб

5 Apr 2025, 08:16

Открыть в Telegram Поделиться Пожаловаться

[1/3] Resolving Code Review Comments with Machine Learning (Рубрика #AI)

Этот whitepaper от Google Research, впервые опубликованный в 2023 году и представленный на Международной конференции по инженерии программного обеспечения (ICSE) в апреле 2024 года. Исследование посвящено AI-фикации процесса код ревью. Суть в том, что исследователи сделали систему, что способна понимать комментарии рецензентов на естественном языке и предлагать соответствующие изменения в коде. Авторы описывают, как Google успешно внедрил эту технологию в свой рабочий процесс разработки, что привело к значительной экономии времени и повышению производительности. Мне этот paper понравился своим подходом - авторы не просто впиливали AI куда-то в процесс разработки, а делали это в продуктовом стиле, меняя как саму модель, так и сам UX процесса код ревью. Суть самой статьи можно описать так

- Проблематика: Ревью кода - это важный процесс особенно в Google, но он занимает много времени. Разработчики тратят в среднем около часа на каждое изменение кода после ревью.
- Решение: AI-система читает комментарии рецензентов и автоматически предлагает изменения кода для исправления проблем.
- Как это работает: Система обучена на прошлых code reviews; она анализирует контекст кода, понимает комментарий рецензента и генерирует подходящие изменения. Это решение прошло несколько итераций от асинхронной генерации исправлений до генерации предложенного фикса на лету, пока ревьювер пишет свой комментарий. Финальный вариант предполагает, что ревьювер может согласиться с предложенным моделькой исправлением, а может пореджектить его.
- Эффект: Реализованное решение в итоге привело к тому, что авторы изменений принимают автоматически предложенное моделью в 7.5% случаев. Это экономит сотни тысяч часов работы разработчиков ежегодно.
- Гибкость: Система справляется как с простыми изменениями, так и со сложными. Отдельно авторы отмечают, что ревьюверы начали подстраивать свои комментарии к коду так, чтобы система генерировала лучшие подсказки для автора кода.
- Обратная связь: Пользовательская обратная связь помогла улучшить систему со временем за счет фильтрации некорректных предсказаний.
- Польза для разработчиков: Система позволяет сосредоточиться на более творческих аспектах разработки вместо рутины.

Автор подход был примерно следующим
- Авторы воспринимали эту задачу как стандартную text-to-text ML задачу, для использования которой взяли традиционный трансформер на базе T5X Framework
- Авторы взяли реальные code review и сделали inline комментариев из ревью в код в виде комментов, а таргетом было уметь предсказывать предлагаемый diff patch, который реально был предложен для решения этого комментария из ревью
- Тренировали он модель для код ревью и других задач в области software engineering и использовали для этого DIDACT фреймворк. Тренировочный корпус состоял из 3 миллиардов примеров, из которых 60 миллионов были примерами с code review. В pre-training использовались достаточно свободный набор code review примеров, включая автоматические комментарии, комментарии для всего набора изменений, а также целых файлов. Для fine-tuning использовали code-review примеры, где комментарии писали только люди. Тюнили метрику standard cross-entropy loss, типичную для таких моделе
- На этапе inference модель использовали так, чтобы выдать желаемый precision - каждое предсказание сопровождалось вероятностью и большая вероятность означала большую уверенность модели в предсказании
- Для валидации модели использовался набор данных, что не использовался при тренировках
- Отдельно авторы выставляли threshhold для предсказаний, то есть предлагаемые изменения показываются пользователям только тогда, когда модель уверена в своем предсказании и удовлетворяет дополнительным эвристикам.

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

#Software #AI #Engineering #Process #DevEx
Resolving Code Review Comments with Machine Learning

2.7k 0 40 5 13
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot