Мы в ispmanager задумали внедрить в продукт LLM, чтобы она давала рекомендации по оптимизации сервера. Расскажу, как мы искали модель под эту задачу, почему не флагманские решения, во сколько обойдётся облако против локального размещения и по каким правилам стоит подключать AI к инфраструктуре.
Как должна работать LLM в ispmanager
Мы хотели, чтобы ispmanager помогал пользователям оптимизировать настройки сервера. Модель должна:
- анализировать СУБД и веб-окружение сайта, давать рекомендации по оптимизации;
- разбирать ошибки, для начала те, которые возникают при конфигтесте: что не так в конфиге и что исправить;
- дописывать конфигурации веб-сервера под конкретную задачу.
Модель не должна влезать в пользовательские данные. Все работает через безопасную прослойку, которая сначала cобирает и предобрабатывает факты (очищает от лишних данных, рассчитывает значения, форматирует), затем передает их модели. Модель читает и возвращает результат.
В интерфейсе ispmanager модель должна работать через кнопку, а не в формате чата. Кнопка привязывает LLM к одной задаче. Это проще и безопаснее:
- Кнопка заточена под узкие задуманные нами задачи, а пользователь не может общаться на посторонние темы. Расход токенов ниже и предсказуем.
- Модель не ходит в инструменты, не выполняет код и команды, не меняет файлы на сервере.
Требования к LLM
Мы определили требования к модели, чтобы она решала задуманные нами задачи в ispmanager.
- Понимать код и конфигурации — это база. Модель должна разбираться в синтаксисе SQL, файлах my.cnf, логах ошибок и скриптах, чтобы решать поставленные задачи.
- Многоязычный вывод либо перевод — ispmanager мультиязычный, а модель должна говорить на языке пользователя.
- Свободная лицензия MIT или Apache 2.0 — мы хотим иметь возможность дообучать или поднимать модель на своем сервере.
- Возможность рассуждения. Модель должна открывать логику: «сначала я проверил X, потом увидел Y, поэтому рекомендую Z». Это должно давать более точное решение задач.
- Структурированный вывод: модель должна генерировать JSON-файл вместо текста, чтобы нам можно было красиво вывести ответ в интерфейсе ispmanager, а не просто давать сухой текст.
- Достаточно умная, чтобы не приходилось дообучать. В первую очередь проверяем, подойдет ли нам готовая модель. Если модель отвечает плохо, сначала итерируем над промптами и пайплайном. Бóльшую часть прироста качества даёт лучший контекст, уточнение промптов и предобработка данных, а не файнтюн. Вдобавок OpenAI-совместимый API делает модель заменяемым элементом: выйдет модель лучше с той же лицензией (MIT или Apache 2.0) — меняем текущую на новую и прогоняем на эталонных данных.Проблема с дообучением в том, что для него все равно придётся собрать несколько тысяч примеров на базовой модели.
- Но не настолько умная, чтобы стоить дорого. Мы предположили, что флагманские модели брать не обязательно. Задачи узкие, данные предварительно можно обработать, хватит LLM среднего размера 20-40 миллиардов параметров.
Безопасность
Мы встраиваем AI в продукт, который работает с конфигами, базами данных и логами на реальных серверах клиентов. У пользователя должен оставаться контроль над исполнением — модель предлагает действия для достижения результата, но итоговое решение только за человеком. АI-фичи должны работать с предсказуемым выводом, адаптированным под задачу. Решение должно быть безопасным. Исходя из этого, мы сформулировали требования, обязательные для каждой интеграции AI в ispmanager.
- Без состояния. AI-сервис не хранит контекст. Каждый запрос самодостаточен: факты, конфиги, логи передаем в теле запроса. Многошаговый процесс — это ограниченный цикл, в котором панель управления повторно отправляет полный контекст вместе с новой информацией.
- Вывод недоверенный, применение на сервере. AI ничего не выполняет и не тестирует. Все ответы модели считаем недоверенными: панель управления сама проверяет корректность, применимость операции и права пользователя.
- Детерминированная предобработка. Всё, что считается детерминированно — пороги, коэффициенты, применимость правил, — вычисляем до передачи в контекст. Модель рассуждает над готовыми данными и никогда не делает арифметику.
- Маскирование секретов. Пароли, ключи и чувствительные данные маскируются, например *** или <REDACTED>, до того, как панель отправит данные в AI-сервис. Сам сервис никогда не должен получать секретные данные. Лучше их вообще не передавать
Считаем экономику: железо или облако
Хотелось, чтобы решение стоило недорого. На стоимость влияет модель тарификации и размещение. Здесь два классических варианта: облако или свое железо.
У сервера с GPU фиксированная плата в месяц. У облака оплата по токенам: входные (запрос, начальный промпт, контекст, пользовательский ввод) и выходные (ответ модели, включая токены на рассуждение). Плюс кэшированные токены (выходные токены, которые уже есть в памяти). Их стоимость будет ниже, чем на выходные. У российских поставщиков цены на российские модели на вход и выход обычно совпадают, у зарубежных чаще различаются: Claude Opus 4.8 берёт $5 за 1 млн входных токенов и $25 за выходные, а YandexGPT Pro 5.1 — 800 ₽ и за вход, и за выход.
Посчитали стоимость на самом «тяжёлом» сценарии — анализ веб-окружения с ответом на русском. Цены на июль 2026. Для интереса подсчитали в том числе и стоимость для флагманских моделей.
| Провайдер и модель | Стоимость за 1 млн входных токенов | Стоимость за 1 млн выходных токенов | Сумма в рублях (за один запрос к LLM) | Сумма за месяц за 5 000 запросов |
Z.ai GLM 5.3 | $1,40 | $4,40 | 5,19 ₽ | 25 958,38 ₽ |
DeepSeek DeepSeek V4 Pro | $1,32 | $3,96 | 4,69 ₽ | 23 461,75 ₽ |
Anthropic Claude Opus 5 | $5,00 | $25,00 | 28,52 ₽ | 142 605,75 ₽ |
Anthropic Claude Sonnet 5 | $2,00 | $10,00 | 11,41 ₽ | 57 042,30 ₽ |
Gemini 3.1 Pro Preview | $2,00 | $12,00 | 13,56 ₽ | 67 789,40 ₽ |
Gemini 3.7 Flash | $1,50 | $7,50 | 8,56 ₽ | 42 781,73 ₽ |
OpenAI GPT-5.6 Sol Pro | $5,00 | $30,00 | 33,89 ₽ | 169 473,50 ₽ |
Yandex YandexGPT Pro 5.1 | 800,00 ₽ | 800,00 ₽ | 13,60 ₽ | 68 000,00 ₽ |
Yandex Qwen3 235B | 500,00 ₽ | 500,00 ₽ | 8,50 ₽ | 42 500,00 ₽ |
Yandex gpt-oss-120b | 300,00 ₽ | 300,00 ₽ | 5,10 ₽ | 25 500,00 ₽ |
Sber GigaChat Lite | 65,00 ₽ | 65,00 ₽ | 1,11 ₽ | 5 525,00 ₽ |
Sber GigaChat Pro | 500,00 ₽ | 500,00 ₽ | 8,50 ₽ | 42 500,00 ₽ |
Sber GigaChat Max | 650,00 ₽ | 650,00 ₽ | 11,05 ₽ | 55 250,00 ₽ |
А вот такую цену за запрос рассчитали при размещении модели на дедике локально.
| Локальный сервер | Комментарий к конфигу | Стоимость одного запроса из расчета 5 000 запросов в месяц | |
| GPU RTX 4090 24 GB GDDR6X | Минимальное количество памяти (24Гб) для запуска локальной модели на 20-30 миллиардов параметров | 11,38 ₽ | |
| GPU RTX 4090 48GB GDDR6X | Под не самое активное использование, примерно до 10 параллельных запросов к LLM | 12,54 ₽ | |
| 6 × GPU Nvidia Tesla T4 16 GB GDDR6 | Активное использование моделей пользователями, до 50 параллельных запросов | 16,76 ₽ | |
На этом объёме свой сервер (RTX 4090 24 GB, 56 900 ₽/мес) проигрывает почти всей выборке и обходит по деньгам только премиальные модели. Причина в природе затрат: сервер платит фиксированную сумму независимо от нагрузки, облако — только за фактические запросы. Пока пользователи не жмут кнопку, сервер простаивает, а деньги идут.
Точка перелома считается просто: фиксированная стоимость сервера делится на стоимость одного запроса в облаке. Против дешёвого GigaChat Lite (1,11 ₽ за запрос) свой сервер окупается только к ~51 000 запросов в месяц, против среднего gpt-oss-120b (5,10 ₽) — к ~11 000. Отсюда вывод расчёта: до 5000 запросов в месяц выгоднее облако. Свой сервер оправдан на бóльших объёмах, а также там, где нужен суверенитет данных или дообучение.
Выбираем семейство LLM
Под наши параметры подходит семейство моделей Qwen3.6 (китайская Alibaba) и Gemma 4 (американская Google), есть множество вариантов и конфигураций. Qwen-модели больше оптимизированы под задачи с кодом и конфигами с упором на агентский стиль выполнения. Gemma-модели тоже обучены читать и писать код, но они имеют более общий профиль задач с упором на общение с пользователем в формате чата. Для текущих задач Qwen3.6 выглядит выигрышным семейством моделей, по бенчмаркам доходящим до крупных моделей от гигантов рынка.
Определяем архитектуру
С семейством определились, теперь нужно выбрать архитектуру. Два основных варианта: dense (плотные) и Mixture of Experts (MoE, смесь экспертов).
| Qwen3.6-27B (dense) | Qwen3.6-35B-A3B (MoE) | |
|---|---|---|
| Архитектура | 27B плотная | 35B всего / ~3B активных |
| Сильная сторона | Лучшее качество на параметр в семействе; более простая история с дообучением | Самые дешёвые токены на единицу качества; идеально для высокообъёмных ограниченных задач |
| Рекомендация | Альтернатива для оценки на наших эталонных данных | Основной кандидат |
На старте берём MoE-модель. Она выигрывает в скорости: 27 млрд параметров против 3 млрд.
Что потом
Наш фаворит — модель Qwen 3.6 в облаке. Для первого запуска этого достаточно: на первых порах облако дешевле своего сервера, а OpenAI-совместимый API оставляет модель заменяемым элементом — когда объём или требования к данным вырастут, легко переехать на свой сервер.
Финальный выбор стоит делать после прогона на наших эталонных данных с реальными конфигами и ошибками по сценариям выше. Как раз над сбором эталонных данных мы сейчас и работаем. Инфраструктура неоднородна, и единого решения для всех серверов у нас нет — здесь мы пока копаем руду.
Алгоритм такой: собираем данные с сервера, передаём их в модель вместе с нашим жёстко структурированным промптом, а затем вручную проверяем ответы. Если находим ошибки, исправляем скрипты или промты, а затем повторяем прогон.
А как у вас с внедрением LLM? Расскажите о своём опыте: какие модели пробовали, где развернули и что в итоге сработало.