6 моделей, 3 инфраструктурных задачи, 1 локальный AI-агент

от автора

В прошлой статье было показано, что обычный MacBook Pro M2 16GB может с оговорками решать инфраструктурные проблемы используя локальную LLM. В этой статье будут показаны результаты решения более сложных инфраструктурных задач на более тяжеловесных моделях.

Если лень читать и листать до конца, то вот ключевые результаты:
1. Qwen3.6-27B не справился даже с лёгкой задачей — проигрывает как в качестве так и во времени решения
2. Qwen3.6-27B, хоть и плохо, но смог завершить эксперимент, в отличие от Gemma4-31-B
3. На простой задаче MoE модели Qwen3.6-35B-A3B и Gemma работают одинаково хорошо, однако Gemma тратит больше токенов и требовательнее к памяти.
4. На средней задаче MoE Qwen3.6 показал себя значительно лучше Gemma.
5. В то время как на тяжелой задаче качество решения Qwen значительно упало, Gemma полностью провалилась.
6. Качество решения тяжелой задачи с помощью рассматриваемых MoE моделей можно улучшить до идеала если точно описывать проблему.

Мой личный выбор — Qwen3.6-35-A3B для проблем, которые сформулированы общими словами, Gemma4-26B-A4B — для чётко описанных проблем. Далее обо всём этом подробнее.

Содержание

  1. Состав испытательного стенда

  2. Инфраструктурные задачи

  3. Эксперименты

    1. Dense-Dense; простая задача (simple); обычный промпт (regular)

    2. Dense-MoE; простая задача (simple); обычный промпт (regular)

    3. MoE-MoE; простая задача (simple); обычный промпт (regular)

    4. MoE-MoE; средняя задача (medium); обычный промпт (regular)

    5. MoE-MoE; сложная задача (difficult); обычный промпт (regular)

    6. MoE-MoE; сложная задача (difficult); подробный промпт (precise)

  4. А как же обычный MacBook с 16GB?

1. Состав испытательного стенда

  • MacBook Pro M4 — 14 CPU (10+4), 20 GPU, 48GB Unified RAM (далее MB48)

  • LMStudio 0.4.6+1

  • LMStudio MLX Runtime 1.6.0

  • Модели:

2. Инфраструктурные задачи

На схеме каждого эксперимента/задачи дан список проблем, которые модель должна решить для выполнения испытания. За устранение каждой проблемы выставляется оценка от 0 до 2, где:
0 (красный) — “не исправлено”
1 (оранжевый) — “исправлено, но можно было бы правильнее”
2 (зеленый) — “исправлено”.

Простая задача и промпт для неё
Простая задача, 1 сервер

Простая задача, 1 сервер
Обычный/regular промпт

python приложение по адресу http://10.12.2.134:8000/info возвращает 500. раньше возвращалось {«system_name»:»Linux»,»internet_ok»:true}. исправь

Задача средней сложности и промпт для неё
Задача средней сложности, 1 сервер

Задача средней сложности, 1 сервер
Обычный/regular промпт

python приложение по адресу http://10.12.2.134/get-info (порт 80) сейчас недоступно. раньше возвращалось {«system_name»:»Linux»,»internet_ok»:true}. исправь

Сложная задача и промпты для неё
Сложная задача, 2 сервера

Сложная задача, 2 сервера
Обычный/regular промпт

python приложение отвечавшее по адресу http://10.12.2.185/get-info (порт 80) сейчас недоступно. раньше возвращалось {«system_name»:»Linux»,»internet_ok»:true}. исправь

Подробный/precise промпт

Исправить окружение. Сейчас fastapi-приложение доступное по адресу http://10.12.2.134:8000/info

В нём (на сервере приложений) исправь:

  1. Опечатка в классе исключения в except

  2. Отсутствующий import requests

  3. Отсутствующий requests в venv

На хосте nginx:

  1. Установи nginx

  2. Сделай конфиг чтобы запрос http://10.12.2.185:80/get-info попадал в http://10.12.2.134:8000/info

В результате исправлений должен быть получен ответ {«system_name»:»Linux»,»internet_ok»:true} на запрос http://10.12.2.185/get-info

Дополнительно, в таблицах качественного сравнения присутствуют критерии:
— “Следовал системному промпту”
— “Не врал в саммари”: в конце диагностики и исправления агент выдаёт саммари от модели — “что было сделано” — иногда такие заявления расходились с действительностью. некоторые вообще симулировали цикл “выполнить команду — получить вывод команды для анализа”
— “Убедился в проблеме”: прежде чем браться за устранение проблем, проверить — есть ли проблема на самом деле.

Они тоже оцениваются по шкале 0..2.

3. Эксперименты

Для каждой не выбывшей из “соревнования” модели были проведены следующие эксперименты:
1. До 2х экспериментов на моделях Dense и некоторых MoE.
2. Минимум 5 запусков/экспериментов каждой продолжившей участие в экспериментах модели МоЕ на задачах simple и medium сложности с regular промптом.
3. Минимум 3 запусков/экспериментов каждой продолжившей участие в экспериментах модели МоЕ на задаче difficult сложности с regular промптом.

3.1. Dense-Dense; лёгкая задача (simple); обычный промпт (regular)

Qwen3.6-27B - единственная оценённая Dense модель

Qwen3.6-27B — единственная оценённая Dense модель

Qwen3.6-27B — вместо исправлений проблемных мест написал свой код, то есть замаскировал проблему. Запуск повторных экспериментов не был целесообразным из-за чрезмерной траты времени на решение простой задачи — 33 минуты 15 секунд, 97.000 токенов. Проведение экспериментов на medium и difficult задачах также нецелесообразно.

Gemma4-31B — крэш системы/windowserver на третьей итерации агентского цикла. увеличение sysctl iogpu.wired_limit_mb с 75%(36GB) до 85%(41GB) позволило выполнить дополнительные 2 цикла, но не спасло от крэша WindowServer

Победителя в свете таких результатов выявить не получилось.

Nemotron3-nano-30B-A3B — 1) ленивый, не удаётся заставить фиксить, только диагностика; 2) притворяется что получил ответ от агента.

Magistral-Small-24B — использует случайные имена сервисов, диагностика невозможна. Единственная модель, которая первым шагом диагностики стала смотреть что проблема есть

По итогам этого эксперимента к дальнейшим экспериментам допускаются только 2 MoE модели: Qwen3.6-35B-A3B и Gemma4-26-A4B

3.2. Dense-MoE; простая задача (simple); обычный промпт (regular)

По итогам эксперимента Dense-Dense-Здесь привожу количественные данные по одной Dense модели — Qwen3.6-27B — в сравнении с Qwen3.6-35-A3B.

Качественная оценка Dense была дана выше. Здесь только количественное сравнение динамики memory footprint в зависимости от количества токенов на одном эксперименте.

Качество решения: Qwen3.6-27B vs Qwen3.6-35B-A3B

Качество решения: Qwen3.6-27B vs Qwen3.6-35B-A3B

3.3. MoE-MoE; лёгкая задача (simple); обычный промпт (regular)

Ниже дано сравнение потраченных токенов, времени работы и footprint памяти после выполнения задачи:

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

Качество решения simple/regular: MoE Gemma vs Qwen

Качество решения simple/regular: MoE Gemma vs Qwen

Комментарии:
Gemma4-26B-A4B — эксперимент 5 — запуск сервиса. запустил — но новый инстанс с новым портом.

3.4. MoE-MoE; средняя задача (medium); обычный промпт (regular)

Качество решения medium/regular: MoE Gemma vs Qwen

Качество решения medium/regular: MoE Gemma vs Qwen

Комментарии:
— Qwen3.6-35B-A3B — Эксперименты 1-4 — порт исправил, но с помощью root пользователя, а не nginx/iptables
— Gemma4-26B-A4B — Эксперимент 3 — вместо исправления опечатки использовал другой класс исключения
— Gemma4-26B-A4B — Эксперимент 5 — порт исправил, но с помощью root пользователя, а не nginx/iptables

3.5. MoE-MoE; сложная задача (difficult); обычный промпт (regular)

Качество решения difficult/regular: MoE Gemma vs Qwen

Качество решения difficult/regular: MoE Gemma vs Qwen

Комментарии:
Gemma4-26B-A4B — Эксперименты 1-2 — Потрачено более 100.000 токенов на поиск приложения на неверном сервере — эксперимент прерван

3.6. MoE-MoE; сложная задача (difficult); подробный промпт (precise)

Qwen regular vs Qwen precise
Gemma regular vs Gemma precise
Gemma precise vs Qwen precise

4. А как же обычный MacBook с 16GB?

Отдельно от основного хода эксперимента провел несколько тестов difficult-precise с моделью Qwen3.5-9B-4b из предыдущего поста — качественные результаты даёт также в половине случаев

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