Почему обычные AI-агенты плохи в код-ревью и как Alibaba решила эту проблему
Знакомая история: настраиваешь Claude Code или Cursor для ревью пулл-реквеста, а на выходе получаешь кучу невнятных замечаний, съехавшие номера строк и полностью проигнорированные файлы. Читать такой фидбек быстро надоедает, и инструмент отправляется на свалку истории.
Инженеры из Alibaba два года гоняли собственный внутренний AI-ассистент код-ревью на огромных объемах кода. На днях они выложили проект в опенсорс под названием OpenCodeReview. Репозиторий мгновенно набрал больше 10 тысяч звезд, и на то есть веские причины.
Где спотыкаются универсальные LLM-агенты
Проблема большинства оберток над LLM заключается в архитектуре. Когда вы просите универсальную языковую модель проанализировать diff в Git, она пытается быть умной там, где требуется точный расчет.
Вот с чем регулярной сталкиваются разработчики при попытке доверить ревью генеративным агентам:
- Позиции строк съезжают. Модель путается в длинных файлах и привязывает комментарии к соседним блокам кода.
- Внимание рассеивается. На больших PR агент устает, начинает экономить контекст и просто пропускает отдельные файлы.
- Качество плавает. Небольшая правка промпта меняет характер ревью до узнаваемости.
- Расход токенов улетает в космос. Модель гоняет туда-сюда весь контекст файла без реальной необходимости.
В Alibaba пришли к выводу, что чисто языковой подход для таких задач не подходит. Инструменту нужны жесткие инженерные рамки.
Детерминизм плюс агент
В основе OpenCodeReview лежит гибридный подход. Авторы разделили процесс на два слоя: жесткая инженерная логика берет на себя организацию, а LLM отвечает только за принятие решений по самому коду.

Жесткие алгоритмы берут на себя рутину:
- Точный фильтр файлов. Алгоритм сразу определяет, какие изменения нужно отдать на проверку, а какие отсеять.
- Группировка связанных файлов. Инструмент автоматически объединяет зависимые файлы вроде кода и его локализации в единый бандл.
- Параллельные суб-агенты. Каждый бандл обрабатывается отдельно, благодаря чему инструмент спокойно переваривает огромные pull request.
- Выравнивание строк. Отдельный модуль проверяет точные координаты комментариев перед выводом.
Нейросеть подключается только там, где нужна гибкость: выбирает контекст, запрашивает содержимое файлов из репозитория и ищет специфические ошибки вроде потокобезопасности, NPE или SQL-инъекций.
Что показали тесты
Разработчики собрали бенчмарк из 50 популярных опенсорс-репозиториев, 200 реальных PR на 10 языках программирования и попросили старших инженеров разметить 1505 реальных багов.

Результат получился показательным. На одной и той же модели OpenCodeReview обходит обычного агента по точности (Precision) и общей F1-метрике, используя при этом в 9 раз меньше токенов.
Интересная деталь: показатель полноты (Recall) у OpenCodeReview ниже, чем у Claude Code. И это осознанный выбор разработчиков. Инструмент специально настроили так, чтобы снизить количество шумных и ложных комментариев, пусть даже ценой пропуска спорных мелочей.
Как попробовать в работе
Утилита написана на Go, а распространяется в том числе через npm. Установка занимает полминуты:
npm install -g @alibaba-group/open-code-review
После установки становится доступна команда ocr. Настройка провайдера моделей интерактивная:
ocr config provider
ocr config model

Инструмент поддерживает любые OpenAI-совместимые API, а также Anthropic. После ввода ключа система сразу проверяет подключение.
Для повседневной работы есть несколько базовых сценариев.
Проверить текущие изменения в рабочей директории:
ocr review
Сравнить две ветки:
ocr review --from main --to feature-branch
Просканировать директорию без истории Git (например, при аудите чужого проекта):
ocr scan --path src/services
Если вы уже используете Cursor или Claude Code, настраивать отдельные API-ключи для OpenCodeReview не обязательно. Утилита умеет работать в режиме ocr delegate: она берет на себя фильтрацию файлов и сопоставление правил, а само ревью делает ваш текущий AI-ассистент.
Вдобавок проект предлагает браузерный просмотрщик сессий Session Viewer, интеграцию с OpenTelemetry для сбора метрик и готовую поддержку пайплайнов GitHub Actions или GitLab CI.
Кому пригодится
Проект пригодится командам, которые устали от бесполезного шума в автоматических ревью. Это инструмент для тех, кому важна точная привязка замечаний к строкам и понятный расход бюджета на API. Если вам нужен строгий ассистент для поиска очевидных уязвимостей и ошибок перед мёржем, OpenCodeReview определенно заслуживает места в локальном терминале.
