TGViewer
Книжный куб Книжный куб @book_cube · 15.8K subscribers
Post #3326 3.2K
[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
Google Research Resolving Code Review Comments with Machine Learning
  • ❤ 7
  • 👍 5
  • 🔥 1
More from @book_cube
  1. Sep 26, 2026Добрались с сыном на прощальный матч Вагнера Лава. Так много давно знакомых имен, элемент…
  2. Sep 26, 2026System Design Space: задачи, эксперименты и проверка знаний (Рубрика #SystemDesign) В июле…
  3. Sep 26, 2026Материалы выпуска: чему заново учится CTO в новой отрасли — разговор с Фёдором Сухаревым (…
  4. Sep 26, 2026Anthropic: три сценария экономики с AI до 2030 года (Рубрика #AI) Прогнозы влияния AI на э…
  5. Sep 25, 2026Материалы выпуска Research Insights Made Simple #31: AI4SDLC — что бы я делал по-другому (…
  6. Sep 25, 2026AI меняет разработку. Что теперь важно инженеру? (Рубрика #Engineering) Выступил сегодня н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →