DeepDigest
Habr / Машинное обучение · · ~3 мин

Мультиагентная система Evolver: как сократить код-ревью до 15 минут

Компания AlpinaGPT внедрила мультиагентную систему Evolver для автоматизации код-ревью. Система сократила время ожидания ревью с двух суток до 15 минут, освободив около ста часов работы команды в месяц. В основе решения — три специализированных агента и сочетание workflow с автономными агентами (70% и 30% соответственно).

Мультиагентная система Evolver: как сократить код-ревью до 15 минут

В компании AlpinaGPT разработали мультиагентную систему Evolver, которая существенно ускорила процесс код-ревью. CTO AlpinaGPT Сергей Андриянов рассказал, как автоматизация помогла сократить время ожидания ревью с двух суток до нескольких часов, а на рутинных мердж-реквестах — до 15 минут. Благодаря этому команда освободила около ста часов работы в месяц.

Всё началось с того, что команда быстро росла: число разработчиков увеличилось втрое за год, и код-ревью стало серьёзной проблемой. Разработчики жаловались, что не успевают выполнять свою работу из‑за необходимости проверять чужие мердж-реквесты. Кроме того, нередко ревью проводил разработчик, не погружённый в нужный сервис — он либо тратил много времени на изучение контекста, либо проверял код формально.

Сначала Сергей попробовал реализовать систему на Claude Code: за пару недель собрал первую версию с иерархической памятью, знаниями о команде и проекте. Система показала себя неплохо, но столкнулась с проблемой масштабируемости — один универсальный агент плохо справлялся с нагрузкой. Затем команда разработала вторую версию с детерминированным флоу и простой системой инициализации проектов. После получения гранта от Фонда содействия инновациям началась работа над третьей, продакшн-версией.

Третья версия системы работает в три этапа: сначала код разбирается как структура, собирается в RAG и документацию для агентов; затем система учится понимать код по смыслу; в конце строится граф связей между функциями. Когда поступает новый дифф, система быстро определяет, что изменилось и какие части кода могут пострадать.

Система включает трёх специализированных агентов: библиотекаря, исследователя и ревьюера. Библиотекарь изучает документацию и задачи (из трекеров вроде YouTrack или Jira), проверяет код и его назначение, выявляет логические баги ещё до тестирования. Исследователь знает кодовую базу и граф связей между функциями. Ревьюер, опираясь на архитектуру проекта, пишет замечания по коду и привязывает их к строкам — в Git и трекере.

Помимо агентов для ревью, в системе есть агент-консультант — он помогает аналитикам, тестировщикам и новичкам. Аналитики могут быстро узнавать, как реализована смежная функциональность, тестировщики — получать подсказки в сложных кейсах, а новички — задавать вопросы без отвлечения команды на рутинные вопросы.

Сергей подчёркивает, что в системе 70% процессов построены на workflow (заранее прописанных сценариях), а 30% — на автономных агентах. По его мнению, для продакшена лучше использовать предсказуемые процессы: автономные агенты часто ошибаются, нестабильны и дороги из-за лишних вызовов LLM.

Команда сознательно не автоматизировала написание кода: риск ошибок слишком велик. Также часть задач (например, архитектурное ревью) остаётся за человеком — ИИ может давать советы, но решения принимает человек.

Внедрение системы проходило в четыре этапа:
1. Первые две недели: агент работает в фоне, замечания необязательны к исполнению — это помогает снять страх и недоверие.
2. Две-три недели: полноценное использование, сбор фидбэка, еженедельные разборы ошибок и правки. За этот период точность ревью выросла с 70% до 90%.
3. Три-четыре недели: агент становится обязательным шагом перед человеческим ревью — код должен быть проверен агентом, а потом отправлен старшему разработчику.
4. Полная интеграция: если агент-первая линия не принял мердж-реквест, он не идёт дальше. Простые задачи могут уходить без человеческого ревью, сложные — дополнительно проверяются, но уже подготовленными.

Сергей также перечислил пять типовых ошибок, которые совершают другие команды при внедрении ИИ:
* «Дадим свободу, и он сам разберётся» — лучше начинать с предсказуемых процессов.
* «Сначала технология, потом разберёмся» — без буфера привыкания команды фича может не прижиться.
* «Метрики посчитаем потом» — важно сначала замерить текущие затраты времени и ресурсов.
* «Заменим разработчиков на ИИ» — сложные задачи всё равно лягут на мидлов и сеньоров, а джуниоры — это инвестиция в будущее команды.
* «У нас закрытые данные, нам не пойдёт» — существуют on-prem-решения, закрытые контуры и обезличивание данных.

// поделиться Telegram VK