Облачные модели Ollama в задачах code review — честное сравнение на примерах. ai code review.. ai code review. code review.. ai code review. code review. deepseek.. ai code review. code review. deepseek. github.. ai code review. code review. deepseek. github. gpt-oss.. ai code review. code review. deepseek. github. gpt-oss. llm.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source. pull request.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source. pull request. qwen.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source. pull request. qwen. искусственный интеллект.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source. pull request. qwen. искусственный интеллект. Облачные сервисы.. ai code review. code review. deepseek. github. gpt-oss. llm. ollama. Open source. pull request. qwen. искусственный интеллект. Облачные сервисы. Программирование.

С недавних пор AI-инструменты стали важной частью разработки.
Такие решения, как Cursor, Codex и Claude Code позволяют разработчикам генерировать код, ускорять написание функций и автоматизировать рутинные задачи.
Это существенно повышает скорость разработки. Однако у такого подхода есть и обратная сторона: код начинает появляться быстрее, чем команды успевают его качественно проверять.
В результате нагрузка на процесс code review растёт. Именно поэтому всё чаще возникает вопрос: могут ли сами LLM помогать разработчикам проверять код?
В этой статье я решил проверить, насколько хорошо облачные модели из Ollama справляются с задачами code review, и сравнить их ответы на реальных Pull Request.

Содержание


Цель статьи

Проверить, насколько современные LLM, доступные через Ollama, способны выполнять качественный code review на реальных Pull Request и какие модели показывают лучшие результаты.


Существующие решения и их проблемы

Перед тем как перейти к тестированию моделей, кратко рассмотрим существующие решения, их ограничения и почему для эксперимента был выбран Ollama.
На сегодняшний день уже существует несколько инструментов для AI-code review: CodeRabbit, Claude Review, QoDo. Это облачные сервисы, которые интегрируются с GitHub, GitLab или IDE и автоматически анализируют изменения в Pull Request.

Как правило, такие инструменты выполняют несколько основных задач:

  • анализируют diff в Pull Request;

  • ищут потенциальные баги, security-уязвимости и плохие практики;

  • оставляют комментарии непосредственно в Pull Request;

  • предлагают возможные исправления.

Например, CodeRabbit может выступать в роли «первого ревьюера», автоматически проверяя код и указывая на потенциальные проблемы ещё до того, как Pull Request посмотрит человек.

Такие инструменты хорошо вписываются в workflow разработчика и могут существенно ускорить процесс code review. Однако у большинства из них есть несколько общих ограничений:

  1. Стоимость. Большинство подобных решений являются платными сервисами, а при активном использовании стоимость может заметно расти вместе с количеством Pull Request.

  2. Риски для конфиденциального кода. Для компаний, работающих с NDA или чувствительными данными, остаётся риск передачи исходного кода во внешнюю инфраструктуру, а также отсутствие прозрачных гарантий, что этот код не будет использоваться для обучения моделей.

  3. Ограниченная кастомизация. Во многих сервисах невозможно полностью настроить модель под конкретный проект: задать собственные правила ревью, архитектурные ограничения или корпоративные coding guidelines.

  4. Ограниченный контекст анализа. Часто модели анализируют только diff Pull Request и не имеют доступа к дополнительному контексту – документации, ADR (Architecture Decision Records) или архитектуре проекта. Это может снижать точность и глубину анализа.

  5. Отсутствие поддержки локальных моделей. В большинстве перечисленных решений нельзя использовать собственные или локально развернутые модели, что ограничивает гибкость и возможность экспериментировать с различными LLM.

Таким образом, главная проблема заключается не только в цене или инфраструктуре, а в другом вопросе: какая модель действительно умеет делать качественный code review.
Именно это я и решил проверить на практике – сравнив несколько моделей на реальных Pull Request.


Почему именно Ollama Cloud?

Но возникает логичный вопрос: почему для тестирования я выбрал именно Ollama Cloud?

Основная причина заключается в том, что Ollama предоставляет удобный способ работать сразу с несколькими моделями. Это позволяет сравнивать разные LLM в одинаковых условиях и получать более объективные результаты.

Кроме того, Ollama позволяет:

  • быстро переключаться между моделями;

  • использовать как облачные, так и локальные LLM;

  • строить собственные инструменты поверх API;

  • экспериментировать с различными конфигурациями моделей.

Именно поэтому Ollama оказался удобной платформой для проведения сравнительного тестирования моделей в задачах code review.


Критерии оценки и модели

Для оценки качества AI-code review я буду использовать 5-балльную шкалу для каждой метрики.
Всего будет оцениваться 6 метрик, отражающих разные аспекты качества анализа кода.

Метрика

Описание

Accuracy

Насколько точно модель находит реальные проблемы в коде

Security awareness

Способность модели выявлять потенциальные уязвимости и security-риски

Hallucination

Склонность модели придумывать несуществующие проблемы

Depth

Глубина анализа и понимание контекста изменений

Practical fixes

Предлагает ли модель реальные и применимые исправления

Human acceptance rate

Доля комментариев, которые разработчики действительно принимают или используют

Для тестирования я выбрал три модели, доступные через Ollama:

  • Qwen 3.5 – это семейство больших языковых моделей от Alibaba, ориентированных на задачи программирования, reasoning и построение AI-агентов. Модель считается одной из самых сильных открытых LLM в своём классе и активно используется для генерации и анализа кода.

  • GPT-OSS – это открытая языковая модель, ориентированная на задачи программирования и анализа кода. Она предназначена для использования в разработке инструментов для генерации кода, автоматизации разработки и AI-code review.

  • DeepSeek v3.1 – это большая языковая модель от компании DeepSeek, ориентированная на задачи программирования, анализа кода и сложного reasoning. Модель является развитием семейства DeepSeek и предназначена для использования в developer-инструментах и AI-ассистентах.

Эти модели были выбраны потому, что на данный момент они считаются одними из наиболее сильных LLM для задач, связанных с программированием. Кроме того, они достаточно часто используются моими коллегами в повседневной работе, что делает их интересными кандидатами для практического сравнения.


Условия тестирования

Для тестирования на реальных Pull Request я буду использовать свой репозиторий четырёхлетней давности с легаси-проектом на Python.
У каждой модели будет отдельный Pull Request, однако для всех будет использоваться одинаковый промпт, чтобы сравнение было максимально корректным.
Все модели также будут использовать инструмент RAG, чтобы при необходимости получать дополнительный контекст из файлов проекта.

Все модели запускались в одинаковых условиях, с одинаковым промптом и доступом к одному и тому же контексту проекта.
Ниже приведена конфигурация, использованная для каждой модели.
Ссылки на репозиторий и инструмент, использованные в тестировании, будут приведены в конце статьи.

Qwen3.5
provider: ollama
model:
  name: qwen3.5:397b
  base_url: https://ollama.com
  temperature: 0.2
  max_tokens: 4000
review:
  severity: high
  max_issues: null
  suggest_fixes: true
  tools: true
  diff_only: false
baseline:
  enable: true
ruler:
  security: true
  performance: true
  style: true
prompt:
  system: null
  extra: null
  strict_facts: true
GPT-OSS
provider: ollama
model:
  name: gpt-oss:120b
  base_url: https://ollama.com
  temperature: 0.2
  max_tokens: 4000
review:
  severity: high
  max_issues: null
  suggest_fixes: true
  tools: true
  diff_only: false
baseline:
  enable: true
ruler:
  security: true
  performance: true
  style: true
prompt:
  system: null
  extra: null
  strict_facts: true
DeepSeek v3.1
provider: ollama
model:
  name: deepseek-v3.1:671b
  base_url: https://ollama.com
  temperature: 0.2
  think_mode: true
  max_tokens: 4000
review:
  severity: high
  max_issues: null
  suggest_fixes: true
  tools: true
  diff_only: false
baseline:
  enable: true
ruler:
  security: true
  performance: true
  style: true
prompt:
  system: null
  extra: null
  strict_facts: true

Тестовые Pull Request-ы

Из предисловия мы наконец переходим к самой интересной части – практическому тестированию моделей.

Qwen 3.5

Первой на очереди будет Qwen 3.5.
Pull Request:
Qwen3.5 code review #2

Ниже приведена таблица с итоговыми оценками.

Метрика

Оценка

Комментарий

Accuracy

4 / 5

Модель находит реальные проблемы в коде. Большинство замечаний корректны и привязаны к конкретным строкам diff.

Security awareness

3.5 / 5

Некоторые security-риски замечены, однако покрытие не полное. Отсутствует системный анализ потенциальных уязвимостей.

Hallucination

4 / 5

Низкая склонность к выдуманным проблемам. Комментарии в основном основаны на фактическом коде.

Depth

3.5 / 5

Анализ выходит за рамки поверхностного lint-ревью, однако архитектурный контекст рассматривается ограниченно.

Practical fixes

4 / 5

В ряде комментариев предложены конкретные и применимые исправления.

Human acceptance rate

4 / 5

Большинство комментариев конструктивны и связаны с реальными проблемами. Часть замечаний носит рекомендательный характер (style / refactor), поэтому разработчик может их проигнорировать.

Итоговая оценка: 3.8 балла.

От себя отмечу, что модель приятно удивила: она не только указывала на проблемы в коде, но и часто предлагала конкретные варианты исправлений, а комментарии в целом были конструктивными и полезными для разработчика.
Из недостатков можно отметить лишь то, что глубина анализа иногда могла бы быть выше. Кроме того, хотелось бы, чтобы Qwen 3.5 чаще использовала доступные инструменты для получения дополнительного контекста, что могло бы улучшить качество ревью.

GPT-OSS

Вторая на очереди будет GPT-OSS.
Pull Request:
GPT-OSS code review #3

Ниже приведена таблица с итоговыми оценками.

Метрика

Оценка (1–5)

Комментарий

Accuracy

3 / 5

Часть найденных проблем корректна, но присутствуют менее точные замечания и обобщения. Некоторые комментарии не полностью привязаны к конкретным изменениям в diff.

Security awareness

3 / 5

Базовые security-аспекты замечаются, однако анализ поверхностный. Нет системной проверки потенциальных уязвимостей (например, input validation, secrets, permission issues).

Hallucination

2.5 / 5

Иногда модель делает предположения о поведении кода без достаточного контекста. Появляются замечания, которые не всегда подтверждаются изменениями в PR.

Depth

3 / 5

Анализ в основном локальный и довольно поверхностный. Модель редко рассматривает архитектурные последствия изменений.

Practical fixes

3 / 5

Исправления предлагаются, но они чаще носят общий характер и не всегда содержат конкретный код.

Human acceptance rate

3 / 5

Часть комментариев может быть полезна разработчику, но значительная доля вероятно будет проигнорирована из-за обобщённости или слабой аргументации.

Итоговая оценка: 2.9 балла.

От себя отмечу, что результат работы модели оказался довольно разочаровывающим. Значительная часть комментариев носит общий характер и не всегда помогает разработчику принять конкретное решение по исправлению кода.
Кроме того, модель практически не предложила конкретных auto-fix, ограничившись лишь общими рекомендациями по возможным улучшениям. Это снижает практическую ценность такого ревью.
Из положительных сторон можно отметить неплохой стиль комментария – он написаны достаточно понятно и структурировано. Однако в целом хотелось бы увидеть более глубокий анализ и более конкретные предложения по исправлению проблем.

DeepSeek v3.1

Третий на очереди будет DeepSeek v3.1.
Pull Request:
DeepSeek-v3.1 code review #5

Примечание: сразу хочу отметить, что я снизил итоговую оценку DeepSeek v3.1 на 1 балл, поскольку модель не смогла использовать инструмент без включённого режима think.

Ниже приведена таблица с итоговыми оценками.

Метрика

Оценка (1–5)

Комментарий

Accuracy

4.5 / 5

Модель находит реальные проблемы и довольно точно объясняет причины. Замечания привязаны к конкретным строкам и логике кода.

Security awareness

4 / 5

Хорошо замечает security-риски (например управление секретами, небезопасные операции, потенциальные утечки). Не всегда проводит полный threat-analysis, но уровень выше среднего.

Hallucination

4 / 5

Низкая склонность к выдуманным проблемам. Иногда делает предположения о возможных сценариях эксплуатации, но они обычно правдоподобны.

Depth

4.5 / 5

Глубокий анализ: объясняет причину проблемы, последствия и контекст изменения. Часто рассматривает эксплуатационный сценарий.

Practical fixes

4.5 / 5

Предлагает конкретные исправления и иногда пример кода. Fix-предложения применимы и инженерно корректны.

Human acceptance rate

4 / 5

Большинство комментариев вероятно будут приняты разработчиком, поскольку они конкретны и хорошо аргументированы.

Итоговая оценка: 3.25 (4.25) балла.

От себя отмечу, что DeepSeek v3.1 показала наиболее качественный анализ среди протестированных моделей. Комментарии получились достаточно лаконичными и при этом содержательными: модель объясняет причину проблемы, предлагает рекомендации и нередко приводит конкретные варианты исправлений (auto-fix), что для разработчика особенно полезно.
Из минусов можно отметить необходимость использования режима think, чтобы модель могла корректно работать с инструментами. Без него часть функциональности оказалась недоступной.
Тем не менее, даже с учётом этого ограничения DeepSeek v3.1 продемонстрировала самый глубокий и практичный code review среди протестированных моделей.


Итоговая сравнительная таблица

Модель

Accuracy

Security awareness

Hallucination

Depth

Practical fixes

Human acceptance rate

Итого

Qwen 3.5

4

3.5

4

3.5

4

4

3.8

GPT-OSS

3

3

2.5

3

3

3

2.9

DeepSeek v3.1

4.5

4

4

4.5

4.5

4

3.25 (4.25)


Вывод

Подводя итоги тестирования, можно сделать несколько наблюдений.

Во-первых, облачные модели через Ollama действительно можно использовать для задач code review, однако качество результата сильно зависит от выбранной модели и конфигурации инструмента. Некоторые модели показывают довольно поверхностный анализ, тогда как другие способны проводить достаточно глубокое ревью и даже предлагать конкретные исправления.

Во-вторых, важную роль играет настройка контекста и инструментов. При правильной конфигурации (например, использование RAG и доступ к файлам проекта) модели начинают лучше понимать кодовую базу и давать более точные рекомендации.

Когда стоит использовать Ollama для code review?

  • если проект содержит чувствительный код или ограничения NDA;

  • если важно, чтобы код не покидал инфраструктуру компании;

  • если есть возможность запускать модели локально на мощном сервере или рабочей станции.

В таких сценариях использование локальных моделей может стать хорошей альтернативой SaaS-решениям.

Когда Ollama может быть не лучшим выбором?
Если ограничения по безопасности отсутствуют и бюджет не является критичным фактором, то специализированные сервисы вроде CodeRabbit, Claude Review или QoDo могут обеспечить более стабильное качество ревью «из коробки», поскольку они используют собственные пайплайны анализа кода и дополнительные модели.

Тем не менее, проведённый эксперимент показал, что при правильной настройке инструмента и выборе подходящей модели LLM уже сегодня могут выступать полезным помощником в процессе code review.

Все эксперименты в статье проводились с помощью моего CLI-инструмента для AI-ревью – CodeFox-CLI, который позволяет подключать разные модели (не только Ollama), работать с контекстом проекта и автоматизировать анализ Pull Request.

Инструмент: CodeFox-CLI
Репозиторий: Demo-PR-Action

Автор: CodeFoxAI

Источник

Rambler's Top100