Comments 10
Спасибо за статью, подскажите как можно локализировать комментарии в pr
Добрый день! На самом деле все просто :) По умолчанию встроенные промпты написаны на английском - поэтому и комментарии формируются на английском. Чтобы перевести ревью на нужный язык (например, русский), достаточно переопределить шаблоны промптов в своем проекте
В корне проекта создайте папку:
./prompts/Скопируйте туда три файла с собственными инструкциями на русском, например:
inline.md
context.md
summary.mdВ конфиге .ai-review.yaml укажите путь к этим файлам:
prompt:
inline_prompt_files: [ ./prompts/inline.md ]
context_prompt_files: [ ./prompts/context.md ]
summary_prompt_files: [ ./prompts/summary.md ]Все, теперь AI Review будет использовать именно ваши тексты промптов, а значит - комментировать на русском
Главный вопрос качества такого ревью. Какие вы модельки пробовали использовать и насколько релевантные результаты получали?
AI Review не отвечает за качество ревью - он лишь оркестратор между LLM и VCS
Результат зависит от модели и промптов: gpt-4o дает самые стабильные ответы, Claude - хорошо умеет в код, Gemini - самый быстрый и дешевый (и качество соответствующее). Ollama - зависит от выбранной модели и ресурсов, где развернута: Mistral средний вариант, Ollama 3 показывает себя лучше.
А оно умеет работать с Azure Devops?
Пока нет, но это вопрос интеграции. Можно закинуть feature request сюда: https://github.com/Nikita-Filonov/ai-review/issues
В качестве LLM мы будем использовать Ollama,
Ollama - не LLM! Это, грубо говоря, нейросетевой движок, а если точнее - пропиетарный форк llamacpp со своим фронтендом, странностями и багами.
удобный локальный адаптер, позволяющий разворачивать модели вроде
А точно ли удобный? Вы на удивление точно выразились: Ollama именно что "модель вроде" разворачивает, а не конкретные. Например, имеем конфигурацию:
model: mistral # модель, которую будет использовать ревью
Но "Mistral" - это не модель! Это семейство моделей, а Ollama будет по своему разумению загружать конкретную - может быть она загрузит Mistral-Small 3.2 24B, что будет не оптимально для задачи, но в прииинципе может кое-как отработать просто из-за размера, так и какой-нибудь совсем маленький, глупенький и в хлам устаревший Mistral 7B, который даже в лучшие свои дни не годился для работы с кодом от слова вообще.
Напишете "Gemma" - получите разброс от Gemma 3 27B до Gemma 2B. Напишете Qwen - то же самое, разброс от передовой Qwen 3 235B A22B 2507, которая недалеко ушла от ClosedAI и вплоть до бредогенератора Qwen 1.1 0.5B...
А если написать "Deepseek", то у Ollama откроется портал в дурку дистиллированных моделей: Ollama даже не станет пытаться выжимать из железа максимум и делать то, что описывал ув. Shannon вот тут https://habr.com/ru/articles/921540/ нет-нет.
Ollama загрузит левую модельку с подходящим шильдиком, которая училась на ответах Deepseek. И будет очевидная разница между работой современной 671B модели и её 7B подражательницы - да, однажды взяли уже упомянутый Mistral 7B и накормили его синтетическим датасетом.
То есть, если провести аналогию, это как приехать к дилеру Tesla покупать Model X, а на деле получить то ли Москвич 3е, то ли вообще старенький 412-й.
4+ CPU, 8+ GB RAM — минимально комфортно
Для работы LLM на ревью кода? Вы это серьезно?
Спасибо за статью! Нет ли информации, можно ли как-то доучить нейронку на предыдущих merge request, чтобы она осуществляла ревью, близкое к стилистике команды?
Да, такое возможно, но сразу хотел бы уточнить: AI Review сам по себе не является нейросетью, он лишь оркестратор, который подключается к выбранной LLM и организует процесс анализа кода.
Возможность дообучения зависит не от AI Review, а от самой модели. При этом большинство облачных LLM не дообучаются напрямую. Но если хочется, чтобы ревью подстраивалось под стиль команды и прошлые MR-ы, то есть два рабочих пути:
RAG - можно хранить историю ревью и кодстайл в векторном хранилище и подмешивать их в контекст каждого анализа. Так модель "помнит" прошлые решения без дообучения.
Агенты - более продвинутый подход, при котором поверх LLM строится агент, способный выполнять шаги: анализировать предыдущие PR, сравнивать стиль, обращаться к дополнительным данным и выдавать комментарии уже в нужной манере.
AI Review кода за 30 минут: локальная LLM прямо в CI/CD