Resolving Code Review Comments with Machine Learning
Разбор Google-подхода к AI-автоматизации code review: text-to-text модель, эволюция UX, acceptance funnel и практические результаты в production.
Практика чтения для этого источника ещё не опубликована
Ниже доступен готовый редакционный brief из прежнего каталога. Он даёт контекст, но не засчитывается как lab.
Открыть оригиналГотовый редакционный разбор
Он сохранён из прежней версии каталога и расположен после самостоятельной практики, чтобы не подменять чтение оригинала готовым пересказом.
Whitepaper
Resolving Code Review Comments with Machine Learning
Исследование Google Research (2023), представленное на ICSE в апреле 2024.
Whitepaper
Resolving Code Review Comments with Machine Learning
Исследование Google Research (2023), представленное на ICSE в апреле 2024.
Рубрика #AI. Работа показывает, как AI может закрывать рутину код-ревью не в лабораторном режиме, а как часть реального продуктового workflow с измеримой экономией времени инженеров.

Первая страница whitepaper (клик по изображению откроет PDF).
Основа главы
Пост в tg-канале book_cube (#3326)
Часть 1: постановка задачи, обучение модели и базовые результаты.
Основа главы
Пост в tg-канале book_cube (#3326)
Часть 1: постановка задачи, обучение модели и базовые результаты.
Что именно решает эта система
- Проблема: код-ревью критично для качества, но post-review доработки занимают много времени (в среднем около часа на change).
- Решение: ML-система читает комментарий ревьювера на естественном языке и предлагает конкретный diff patch для исправления.
- Продуктовый подход: команда улучшала не только модель, но и UX ревью-процесса, включая on-the-fly генерацию и IDE-интеграцию.
- Эффект: итоговый acceptance rate достиг 7.5% от всех неавтоматических human-комментариев, что дало крупную экономию инженерного времени.
ML-подход и обучение
Формализация задачи
Задача рассматривается как text-to-text: по контексту ревью и комментарию предсказать патч, который реально закрывает замечание.
Архитектура
Базовая модель: transformer в экосистеме T5X. Для software engineering задач использовался DIDACT-подход к обучению.
Данные
Корпус: ~3 млрд примеров, из них ~60 млн связаны с code review. Для fine-tuning использовали примеры с комментариями от людей.
Inference с контролем precision
Каждое предсказание сопровождается уверенностью; показ suggestions ограничен порогом confidence и дополнительными эвристиками.
Ключевая практическая деталь: система показывает предложенные изменения только при достаточной уверенности модели и соблюдении эвристик качества, чтобы удерживать рабочий precision в production.
Продолжение
Пост в tg-канале book_cube (#3329)
Часть 2: эволюция V1->V2->IDE и детальная воронка принятия suggestions.
Продолжение
Пост в tg-канале book_cube (#3329)
Часть 2: эволюция V1->V2->IDE и детальная воронка принятия suggestions.
Эволюция решения: от V1 до V2 + IDE
V1: асинхронные suggestions
Система генерировала предложенные изменения после отправки комментария ревьювера.
V2: suggestions во время набора комментария
Фикс формируется на лету пока ревьювер пишет комментарий, что сокращает цикл доработки.
V2 + IDE integration
Улучшили интеграцию с IDE и обработку конфликтов, включая сценарии, где нужен 3-way merge.
Воронка эффективности (V2)
| Stage | % of total | % of previous step |
|---|---|---|
| Incoming comments | 100.0% | 100.0% |
| Confident predictions | 49.0% | 49.0% |
| Accepted by reviewer | 33.1% | 63.6% |
| Previewed by author | 10.7% | 34.5% |
| Applied by author | 7.5% | 69.5% |
Главное число в статье: 7.5% всех неавтоматических комментариев были закрыты ML-suggested edit, который автор напрямую применил к changelist.
Что улучшали после запуска
Model tuning
- Fine-tuning DIDACTR-модели под review-задачу.
- Size tuning количества параметров модели.
- Тюнинг precision, гиперпараметров и языковых профилей под разные языки программирования.
- Reviewer preview как дополнительный online-фильтр качества до отправки автору изменения.
Data tuning
- Оффлайн-оценка на более узком наборе single-comment изменений.
- Фокус тренировки на примерах с комментариями в статусе done.
- Добавление синтетических задач для расширения покрытия паттернов исправлений.
Практические выводы
- Высокая точность появляется не только из-за модели, а из-за связки модель + UX + процесс интеграции в ревью-пайплайн.
- Acceptance rate нужно смотреть в разрезе воронки: поэтапная конверсия даёт более честную картину, чем одно итоговое число.
- Контроль confidence + эвристики критичны для доверия к автоматическим предложениям в production-ревью.
- Качественная пользовательская обратная связь напрямую влияет на устойчивое улучшение системы со временем.
Связанные главы
BitsAI-CR: Automated Code Review via LLM in Practice
Production-кейс ByteDance: двухступенчатый pipeline ревью-комментариев, data flywheel и метрика Outdated Rate.
Measuring AI code assistants and agents
Подходы к измерению эффективности AI-помощников и агентных инструментов в инженерных процессах.
Achieving Productivity Gains with AI-based IDE features: A Journey at Google
Как в Google продуктово внедряли AI-фичи в IDE и валидировали эффект на инженерной продуктивности.