От внутреннего инструмента к open source
Alibaba Group выпустила OpenCodeReview (OCR) — CLI-инструмент для автоматического ревью кода на базе LLM. Проект вырос из внутреннего ассистента, который за два года обработал миллионы дефектов и обслуживал десятки тысяч разработчиков. Теперь инструмент доступен сообществу: он анализирует Git-диффы, но в отличие от простых парсеров, использует агента с возможностью вызова инструментов (tool-use) для глубокого контекстного анализа.
Результаты бенчмарка AACR-Bench
Сравнение проводилось на датасете AACR-Bench, созданном из 200 реальных Pull Request в 50 популярных репозиториях (10 языков) и валидированном 80+ старшими инженерами (1505 аннотированных проблем). Ключевой вывод: при использовании той же базовой модели OCR превосходит универсальные агенты (например, Claude Code) по метрикам Precision и F1, потребляя лишь ~1/9 токенов и работая быстрее. Ниже — сравнительная таблица метрик:
| Метрика | Что измеряет | Значение для разработчика |
|---|---|---|
| F1 | Гармоническое среднее Precision и Recall | Лучший индикатор общего качества ревью |
| Precision | Доля реальных дефектов среди найденных | Выше = меньше ложных срабатываний (false alarms) |
| Recall | Доля найденных реальных дефектов | Ниже у OCR — сознательный выбор в пользу точности |
| Avg Time | Время на одно ревью | Критично для задержек в CI/CD пайплайнах |
| Avg Token | Потребление токенов | Прямое влияние на стоимость API-вызовов |
Гибридная архитектура: Детерминизм + Агент
Проблема универсальных агентов — «дрейф позиций» (указание неверных строк), пропуск файлов в больших изменениях и нестабильность качества из-за вариативности промптов. OpenCodeReview решает это через гибридный подход:
- Детерминированная инженерия: Выбор файлов, группировка связанных изменений (например, локализационные файлы) и сопоставление правил происходят через жесткую логику, а не LLM. Это гарантирует, что важные изменения не будут проигнорированы.
- Агент с контекстом: LLM используется там, где нужна гибкость — анализ кода, генерация комментариев. Агент умеет читать полные файлы, искать по кодовой базе и проверять контекст других изменений, а не только дифф.
Установка и интеграция
Инструмент требует Git >= 2.41 и устанавливается через npm:
npm install -g @alibaba-group/open-code-review
После установки доступна команда ocr. Поддерживаются режимы:
- Review: Анализ staged/unstaged изменений или диапазона веток.
- Scan: Полный аудит файлов или директорий без истории Git.
- Delegation: Передача задачи ревью другому AI-агенту (например, Cursor или Claude Code), где OCR выступает как модуль выбора файлов и правил.
Интеграция возможна с GitHub Actions, GitLab CI, Gerrit, а также с популярными IDE-агентами (Cursor, Codex, Kimi Code). Для работы требуется настройка провайдера LLM через ocr config provider.
Источник: Github ↗
