ИИ для проведения код-ревью – опыт Magnit Tech

30.10.25

Интеграция - Нейросети

ИИ для код-ревью – не просто модный тренд, а реальный инструмент, который уже помогает разработчикам экономить время и повышать качество кода. В статье разбираемся, как запустить локальную LLM на базе Ollama, подключить ее к Git через Webhook и Python-скрипт, а также какие параметры модели отвечают за точность и галлюцинации. Делимся схемой работы, настройками и результатами тестирования, доказывая, что автоматизированное код-ревью действительно может работать – даже без космического бюджета.

Я хочу поделиться опытом компании Magnit Tech, как мы применяем искусственный интеллект для проведения код-ревью. В статье расскажу, почему мы решили использовать ИИ именно для код-ревью, как организовали процесс и что получилось в результате, когда начали применять решение на практике.

 

Цели внедрения ИИ в процесс код-ревью

 

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

Первое, для чего мы хотели использовать искусственный интеллект – это быстрая проверка кода. Многие знают, что код-ревью – узкое горлышко разработки. На практике это выглядит так: вы быстро написали задачу, код готов, можно отдавать на тестирование, но нужно провести код-ревью. Просите коллегу проверить – он отвечает, что занят и посмотрит завтра. Завтра растягивается до второй половины дня, он возвращает комментарии, вы их исправляете, снова ждете проверки. В итоге к разработке добавляются два дня.

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

Также мы хотели, чтобы искусственный интеллект помог улучшить качество кода и поддерживать общий стиль написания, когда в компании работают десятки программистов 1С выдерживать общий стиль становиться сложнее. Конечно, у нас существуют стандарты, как нужно писать код и приводить его к единому виду, но у каждого свой взгляд, и каждый вносит свое понимание того, каким должен быть код. Мы рассчитывали, что искусственный интеллект станет универсальным инструментом и будет проверять код по одному шаблону.

Еще одна важная цель – уменьшение количества ошибок. Часто бывает так: эксперт присылает свой код на проверку, и его авторитет влияет на восприятие. Думаешь: он уже десять раз присылал безупречный код, и в одиннадцатый наверняка все в порядке. Просматриваешь бегло, утверждаешь – а ошибка оказывается именно там.

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

 

Выбор модели ИИ и техническая реализация

 

Теперь перейдем к самому интересному – как мы это реализовали. Первая и самая большая проблема – выбор искусственного интеллекта. На рынке их сейчас много: платные, бесплатные, их десятки, а то и сотни. Есть универсальные модели, есть специализированные, ориентированные только на программный код – для 1С и не для 1С.

В статье моего коллеги Александра Леонова https://habr.com/ru/companies/magnit/articles/819583/ подробно описан анализ различных моделей искусственного интеллекта, который мы проводили для языков 1С в прошлом году. На тот момент мы еще не знали об «1С-Напарнике», поэтому подходящих моделей не нашли. Эффективность решений была неоднозначной, качество тестирования у большинства плагинов – низкое. Были и хорошие варианты, но они оказались платными, что делало их использование менее привлекательным.

В итоге, когда мы решили внедрять искусственный интеллект для код-ревью, нам пришлось выбирать лучший вариант из худших. Им стал DeepSeek. Когда мы определились с выбором, столкнулись с классической проблемой всех коммерческих организаций: программный код, который разрабатывают сотрудники, является интеллектуальной собственностью компании. Просто так отправить его в онлайн-сервис DeepSeek мы не можем – это разглашение коммерческой тайны, за которое последует реакция службы информационной безопасности. Поэтому мы решили поднять собственный сервер, на котором развернули искусственный интеллект.

Оказалось, что у DeepSeek есть языковая модель, способная справиться с нашими задачами, которой достаточно 32 ГБ оперативной памяти. Мы взяли тестовый сервер с нужными параметрами и успешно все запустили.

 

 

В результате появилась следующая схема. Все конфигурации компании переведены на EDT. Репозитории и GitLab находятся внутри корпоративного контура, с полным доступом и безопасным хранением данных. Когда создается merge request, он размещается в GitLab, и это удобно интегрируется с системой взаимодействия.

Мы подняли контейнер в Docker, разместили в нем webhook и написали на Python код, который опрашивает порт GitLab (в нашем случае порт 5000), получает merge request и контекст – фактически конфигурацию, добавляет к ней промпт и передает все это в API нашей LLM, то есть искусственного интеллекта. API обрабатывает данные и возвращает результат код-ревью.

Среднее время обработки составляло 1–2 минуты, но при больших изменениях нагрузка возрастала, и обработка контекста могла занимать до 30 минут. Мы поняли, что при масштабировании возможны проблемы с производительностью: об этом речь пойдет ниже.

В целом модель показала себя хорошо. После обработки результат код-ревью размещался в виде комментария к merge request. Так как в GitLab много проектов, чтобы синхронизировать их между собой, мы изначально присвоили каждому проекту уникальный токен. Этот токен вместе с запросом передавался в ИИ. Обратно передавался уже результат.

 

Практические команды и настройка окружения

 

# Запуск Ollama в Docker, будем хранить все данные Ollama в отдельном каталоге (например, /var/1C/ollama)

docker run -d -v /var/1C/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

# Проверка, что API Ollama работает

curl http://localhost:11434

# Копирование модели в Ollama

docker cp DeepSeek-R1-Distill-Qwen-32B-Q5_K_M.gguf ollama:/root/.ollama/models/

Здесь несколько команд, которые вам помогут, если вы решите пойти нашим путем. Первая – запуск Ollama в Docker. Ollama используется для работы с различными языковыми моделями. Сначала мы запускаем Ollama в Docker, затем проверяем, что API работает корректно. После этого копируем нашу языковую модель в Ollama.

Так как доступ к внешним ресурсам запрещен, напрямую скачать модель из интернета нельзя. Команды для этого есть, но служба информационной безопасности не разрешила их использовать. Поэтому мы сначала копировали модель во внутренний контур, проводили проверки и только после этого запускали ее в Ollama с локального сервера.

# Создать Modelfile для сборки модели

nano Modelfile

# В Modelfile добавитьстроку

FROM /root/.ollama/models/DeepSeek-R1-Distill-Qwen-32B-Q5_K_M.gguf

# Перенести Modelfile вконтейнер ollama

docker cp Modelfile ollama:/root/.ollama/models/

# Создатьмодель

docker exec -it ollama ollama create deepseek-r1:32b -f /root/.ollama/models/Modelfile

Далее создавали Modelfile для сборки моделей, перемещали их в контейнеры Ollama, и модель успешно разворачивалась. По сути, еще четыре команды – и искусственный интеллект на сервере начинает работать.

Плюсом еще три полезные команды:

  1. dockerexec-it ollama ollama run deepseek-r1:32b – проверить, что модель запустилась и функционирует с установленной языковой моделью.

  2. dockerexec-it ollama ollamaps – узнать, есть ли активный запрос к модели. Когда процесс зависал на 30 минут, мы использовали эту команду, чтобы понять, что происходит.

  3. dockerexec-it ollama ollama list – вывести список установленных моделей. Полезно, если вы пробовали разные варианты и хотите посмотреть, какие именно модели сейчас установлены.

 

Промпт и пример работы в GitLab

 

# Промт

Ты программист 1С. Ответ должен быть максимально коротким и содержать только рекомендации по исправлению ошибок в коде 1С. Все выходные данные должны быть только на русском языке. Не пиши код.

# Запрос

Выведи на русском языке список кратких рекомендаций без пояснений и без примеров для исправления методов {methods_list} из приведенного кода 1С: {module}’

Это промпт, который мы используем в нашем коде на Python, по которому он донасыщается, и по нему языковая модель понимает, что надо делать с тем кодом, который в него прилетел.

Следующий пример – как это выглядит на практике в GitLab. Здесь пример синтетический: мы специально создали функцию с ошибками и сказали: «Посмотри, что у нас там за ошибки, проведи нам код-ревью». В итоге получился такой результат.

 

 

«Для метода ВыводИмени директива компиляции &НаДереве не существует. Возможно, следует использовать &НаСервере или &НаКлиенте, в зависимости от контекста использования процедуры».

Описание развернутое. Если начинающий программист допустит явные ошибки, система понятно объяснит, что нужно поменять.

 

 

А это то, что мы скармливали нашему ИИ для проверки. Можете сравнить, какой вариант у нас был на входе и что получилось.

 

Проблемы и пути их решения

 

Классическая проблема всех искусственных интеллектов – галлюцинирование. В нашем случае, когда мы запустили код-ревью, возникло ощущение, что в искусственный интеллект вселился Лев Толстой. Комментарии занимали несколько страниц и превращались в философские рассуждения о сути кода. Это выглядело странно и читать такое не хотелось – открываешь, смотришь и сразу закрываешь.

Оказалось, что при работе с языковыми моделями есть параметры, регулирующие баланс между вариативностью текста и степенью отклонения от истины. Эти параметры позволяют сделать текст разнообразным и осмысленным, но при этом удерживать модель от излишнего фантазирования. Настроить этот баланс можно вручную.

Кратко о параметрах, чтобы вы могли их подкорректировать, если решите использовать модель:

  1. Температура (Temperature). Влияет на правдоподобие и креативность. Высокая температура (ближе к 1) делает результат более креативным, но высок риск малого правдоподобия, а низка (ближе к 0) – более детерминированным и сосредоточенным на самых вероятных словах. Пример; Запрос «Небо…» при низкой температуре даст «голубое», а при высокой – «усыпано алмазными звездами».

  2. Параметры сэмплинга – Top-p и Top-k. Они определяют вариативность токенов: какое количество токенов и насколько вероятна популярность этих токенов будет отобрано. Данный параметр позволяет предотвращать выбор странных маловероятных слов. Пример: при top-p = 9 модель будет выбирать из короткого списка лучших вариантов, игнорируя совсем уже странные.

  3. Штраф за частоту (Frequencypenalty) – снижает вероятность слов, которые уже часто использовались. Это помогает избежать повторений и делает текст более разнообразным. Пример: Если модель уже несколько раз использовала слово «прекрасны», этот штраф заставит ее подобрать синоним, например, «замечательный».

  4. Штраф за присутствие (Presencepenalty) –уменьшает вероятность слов, которые уже есть в вашем промпте или в сгенерированном тексте, независимо от того, как часто они встречались. Это помогает избежать зацикливания.

Когда мы решали проблему галлюцинирования, для нас оптимальным оказалось изменение параметра температуры. По умолчанию Ollama устанавливает температуру 0,8 – это высокий показатель: все, что выше 0,5, уже повышает риск галлюцинаций. Мы снизили температуру до 0,1, и количество галлюцинаций резко сократилось.

В тестировании нашего код-ревью для ИИ участвовало 10 разработчиков. Первую версию они оценили как некачественную, но через пару недель после изменения параметров вернулись с обратной связью – работать стало гораздо приятнее.

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

 

Результаты внедрения и обратная связь

 

Все участники тестирования, все 10 разработчиков, подключенных к код-ревью с искусственным интеллектом, отметили, что работать стало удобнее. Код-ревью стало осмысленным. После снижения процента галлюцинаций разработчики сказали, что инструмент можно использовать и передавать программистам, особенно начинающим, которые недавно в компании и еще плохо ориентируются. Для них это отличная помощь.

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

Из минусов:

  • Полностью избавиться от галлюцинаций не удалось, они остались, но стали встречаться реже.

  • На больших конфигурациях мы не рискнули запускать систему. В компании есть небольшие конфигурации и есть ERP или схожие по масштабу, в том числе самописные. Мы понимаем, что обработка таких проектов может занять несколько часов, поэтому пока в эту сторону не пошли.

 

Планы на будущее

 

  1. У нас есть планы по масштабированию. Попробовать запустить систему на более мощном сервере с увеличенными параметрами и протестировать ее на больших конфигурациях.

  2. Мы участвовали в тестировании «1С-Напарника» в этом году и получили хорошие результаты. Один из вариантов развития – использовать «1С-Напарник» как инструмент, направленный на работу с кодом 1С и проверку наших решений.

  3. У нас в компании разработан собственный искусственный интеллект Magnit GPT. Он работает внутри корпоративного контура и обучен на нашей коммерческой информации, что позволяет учитывать особенности внутренних систем. Поэтому вариантов развития дальше достаточно много.

Изображение выглядит как текст, визитная карточка, снимок экрана Автоматически созданное описание

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.

Инфостарт A&PM Event 2026

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19680    44    4    

38

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21629    105    32    

90

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    77149    147    41    

154

SALE! 30%

Нейросети 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3844    12    9    

13

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2221    3    0    

3

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1486    2    0    

2

Инструментарий разработчика Нейросети Разработчик 1С 8.3 Бесплатно (free)

Сделал внешнюю обработку и небольшой MCP-сервер, через которые ИИ-агент выполняет запросы, выражения и код прямо в открытом сеансе 1С и смотрит метаданные конфигурации. В конфигурацию ничего не встраивается и ничего не публикуется: команды ходят файлами через каталог на вашем компьютере. Серверный код агента по умолчанию откатывается, а запись в базу вы разрешаете сами, тумблером на форме обработки.

29.10.2026    5036    nt_app    12    

26

Нейросети Разработчик 1С:Предприятие 8 Россия Бесплатно (free)

За 2026 год MCP-инструменты для 1С прошли путь от «покажи метаданные» до «напиши код, загрузи в базу и проверь на живых данных». Собрали значимые публикации Инфостарта за год, описывающие MCP-серверы для подключения баз 1С к ИИ-агентам, и сравнили их по трём осям: зрелость, способ технической реализации подключения и требует ли инструмент изменения конфигурации базы 1С.

28.10.2026    9199    pfihr    12    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 27 30.10.25 16:11 Сейчас в теме
на deepseek все устроенно? в плане друие модели не пробовали?
2. GarriSoft 806 30.10.25 17:45 Сейчас в теме
Чтобы уменьшить галлюцинирование можно попробовать дополнить ваш промт таким текстом:

Проверяй этот код 1С в режиме строгой валидации.

Твои правила для код-ревью:
1. Указывай ТОЛЬКО то, в чем уверен на 100% по документации 1С или типовым конфигурациям
2. Не предлагай альтернативы, если не знаешь точный синтаксис из официальных источников
3. Не делай предположений о производительности, если нет конкретных данных из документации
4. Не придумывай несуществующие методы, свойства, события
5. Если не уверен - пиши "ТРЕБУЕТ ПРОВЕРКИ: [что проверить]"
Светлый ум; +1 – Ответить
3. bulpi 219 30.10.25 18:24 Сейчас в теме
(2)
Не придумывай несуществующие методы, свойства, события

Повеселило :) А нельзя было это условие встроить прямо в него ?
4. Светлый ум 509 25.12.25 11:57 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация