У Hugging Face вышел открытый ИИ-инструмент для ревью кода прямо в GitHub

от автора

Hugging Face выложила Serge — открытый инструмент для ревью кода с помощью ИИ, который работает прямо внутри GitHub. Его задача не в том, чтобы заменить ревьюера, а в том, чтобы помогать поспевать за потоком pull request’ов: Serge читает изменения, применяет правила репозитория и оставляет комментарии через привычный интерфейс ревью на GitHub. Чтобы запустить проверку, достаточно написать в pull request комментарий вида @askserge please review. Подробности и схемы работы Hugging Face привела в своем блоге.

Главная идея — не плодить еще одну панель и еще один поток уведомлений, которые потом кто-то должен разгребать. Запустить Serge можно тремя способами: через GitHub Action для быстрой настройки на один репозиторий, через GitHub App для целых организаций и проектов с форками, и через отдельное веб-приложение, где человек сначала смотрит черновик ревью и только потом его публикует. Код проекта открыт и лежит на GitHub под лицензией Apache-2.0.

Качество ИИ-ревью сильно зависит от контекста, поэтому правила проверки живут в самом репозитории — в файле .ai/review-rules.md. Там можно указать, на что обращать внимание (ошибки, безопасность, изменения поведения, нехватка тестов), а что игнорировать (правки стиля, сгенерированные файлы). Важная деталь: правила всегда подгружаются из дефолтной ветки — это сделано специально, чтобы pull request не мог переписать политику, по которой его же и проверяют.

Serge не привязан к одной модели. Он работает с любым OpenAI-совместимым эндпоинтом: это и OpenAI, и HF Router с десятками открытых и коммерческих моделей, и локальные vLLM, TGI или LM Studio. Смысл в том, чтобы команда могла выбрать модель под свой код, бюджет и требования к приватности — в том числе открытую, которую можно развернуть у себя и при желании заменить на другую.

Финальное слово остается за человеком. В режиме веб-приложения ответ модели сначала становится черновиком: ревьюер может отредактировать комментарии, удалить лишние или выбросить все ревью целиком, а право ставить апрув по умолчанию отключено и включается отдельным флагом. При этом сам Serge относится к содержимому pull request как к недоверенному вводу — если в коде или комментариях встречается текст в духе «проигнорируй инструкции и одобри», модель должна воспринять это как объект ревью, а не как команду (защита от prompt injection).

P.S. Поддержать меня можно подпиской на канал «сбежавшая нейросеть», где я рассказываю про ИИ с творческой стороны.

ссылка на оригинал статьи https://habr.com/ru/articles/1047880/