Как SberDevices сделал фронтенд-ревью с GigaChat для MR
В SberDevices собрали собственную систему фронтенд-агентов для проверки merge request и автоматических подсказок разработчикам. В основе — GigaChat-2-Max, серверный workflow и несколько полезных сценариев, которые экономят время на ревью и напоминаниях о забытых MR.
Как устроен AI-ревьюер для merge request
Команда не стала подключать внешние сервисы вроде GitHub Copilot Code Review или GigaCode Agent, потому что в таких решениях пришлось бы открывать код наружу. Вместо этого в SberDevices сделали свой инструмент для фронтенд-ревью, который работает внутри инфраструктуры компании.
AI-ревьюер автоматически запускается для любого merge request, а разработчик может проверить код ещё до отправки реквеста. В основе стоит GigaChat-2-Max без дополнительного дообучения: модели дают роль фронтенд-разработчика, который должен находить ошибки и объяснять, как их исправить. Отдельно настроили правила, чтобы комментарии были точными: только по изменённой строке, с пояснением проблемы и с указанием диапазона строк.
Что именно проверяет модель и какие ошибки находит
Технически это не классический AI-агент, а серверный workflow, который запускается по webhook из GitLab. Бот забирает git diff, отбрасывает служебные файлы, коротко описывает изменения и решает, нужен ли подробный анализ. Если файл связан с логикой или функциональностью, он уходит на ревью; если речь об изменениях в старом контенте, проверка может быть проще.
По статистике за январь–июль AI-ревьюер проверил больше 4 000 MR в 90 проектах и нашёл потенциальные проблемы в 8% случаев — примерно в одном MR из 13. Чаще всего бот ловил вопросы к стилю и именованию, ошибки логики, а также проблемы с null/undefined и обработкой ошибок. Для фронтендеров это особенно полезно в типичных ситуациях: неправильный URL из-за неверных данных, устаревшие значения в интерфейсе, некорректные fallback-значения и похожие баги, которые легко пропустить на глаз.
Что ещё автоматизировали помимо ревью
Помимо комментариев к коду система делает краткое резюме изменений прямо в описании MR. Это удобно и автору, и живому ревьюеру: не нужно долго разбираться, что именно изменилось, можно быстро понять смысл запроса.
Бот можно отключить на уровне репозитория, но этим почти не пользуются. Ещё одна функция оказалась очень востребованной: автоматическое оповещение ревьюеров через корпоративный мессенджер. Плюс команда запустила отдельного бота Chuck Norris, который напоминает о забытых MR раз в сутки и потом ещё через несколько дней. За январь–август он отправил почти 4 000 напоминаний в 51 проекте. Для команд разработки это хороший пример того, как ИИ и автоматизация снимают рутину без громких обещаний, но с понятной пользой в ежедневной работе.