Стабильный AI-агент на Mac: Qwen3.5 9B vs 35B, квантование, настройки | AiManual
AiManual Logo Ai / Manual.
11 Май 2026 Гайд

Как создать стабильного AI-агента для диагностики инфраструктуры на Mac: выбор модели, квантования и настроек (на примере Qwen3.5 9B и 35B)

Практический гайд по созданию агента диагностики на Mac. Сравнение Qwen3.5 9B и 35B, выбор квантования, настройки LMStudio. Избегаем галлюцинаций и падений.

Почему ваш агент тупит на Mac — три кита стабильности

Запуск AI-агента для диагностики инфраструктуры на Mac с 16 гигабайтами памяти — это игра в русскую рулетку. Либо модель вылетает с OOM на середине лога, либо галлюцинирует так, что вы лезете проверять системные журналы вручную. Я перебрал с десяток конфигураций на M1 и M3, и вот что понял: стабильность держится на трёх вещах — правильный выбор модели, адекватное квантование и настройки рантайма, которые не дают агенту сожрать всю память.

В этой статье разберу конкретный пример: сравниваю Qwen3.5 9B (плотная модель) и Qwen3.5 35B-A3B (MoE). Обе запускал в LMStudio на MacBook Pro M1 16GB. Покажу, почему 9B с Q4_K_M работает как часы, а 35B валится на 4096 токенах. И главное — как это лечится.

9B и 35B — не просто цифры, а архитектурная пропасть

9B — это плотная (dense) модель: все 9 миллиардов параметров активны на каждом шаге. 35B-A3B — Mixture of Experts: из 35B только 3B активируются за токен. Звучит как экономия, но на практике MoE жрёт память пропорционально полному числу параметров, потому что в RAM нужно держать все эксперты. Плюс overhead на роутинг.

Для диагностики инфраструктуры это критично: агент парсит логи, запускает команды, анализирует метрики. Контекст легко улетает за 8-16K токенов. dense модель с тем же квантованием предсказуемее укладывается в лимиты. MoE выигрывает по скорости инференса, но проигрывает по потреблению памяти при длинных сессиях.

Кстати, про эволюцию MoE-архитектур я писал в статье Qwen3 Next — MoE-модель нового поколения: требования к железу и перспективы для Mac. Там производители обещают уменьшить RAM footprint, но пока 35B-A3B на 16GB — это боль.

Эксперимент на M1 16GB: что падает первым

Взял две модели в квантовании Q4_K_M (самый популярный баланс качества и размера):

  • Qwen3.5-9B-Instruct (dense) — ~5.5 GB на диске, ~6 GB в RAM при контексте 8K.
  • Qwen3.5-35B-A3B-Instruct (MoE) — ~20 GB на диске, ~22 GB в RAM при том же контексте.

Запускал через LMStudio с настройками по умолчанию (GPU layers = max, context length = 8192). Сценарий: агент парсит вывод top, df -h и journalctl за последний час — суммарно около 2000 токенов контекста.

Результаты:

  • 9B Q4_K_M: стабильно отработал 10 запусков. Максимальное потребление RAM — 7.2 GB. Скорость — 15-20 токенов/сек.
  • 35B Q4_K_M: упал на 4-м запуске при контексте 4096 токенов. В swap ушло 12 GB, Mac начал «тормозить вентиляторами». Ещё два запуска — kernel_task съел CPU, пришлось убивать процесс.

Вывод: для 16GB памяти 35B-A3B в Q4_K_M непригоден для агентской работы с контекстом больше 2K токенов. Придётся резать квантование до Q3_K_S или Q2_K, но тогда падает качество — а галлюцинации при диагностике инфраструктуры стоят дороже, чем при генерации стихов.

Важно: Если вы используете двухмодельную связку (маленькая модель для быстрого анализа, большая — для сложных выводов), прочитайте мой гайд «Как заменить двухмодельную агентную настройку на Qwen3.5 35B-A3B на Mac M1: гайд по производительности и квантованию». Там я как раз описываю, как 35B может работать в паре с 9B, но для стабильности пришлось пожертвовать контекстом.

Квантование: выбираем между «не влезает» и «забывает логику»

Для диагностики инфраструктуры нужно, чтобы модель не теряла chain-of-thought. Квантование ниже Q4 заметно режет точность рассуждений. Я протестировал три варианта на 9B:

Квант Размер на диске RAM (8K ctx) Ошибки в диагностике (из 10)
Q4_K_M 5.2 GB ~6 GB 1
Q3_K_S 4.1 GB ~5 GB 3
Q2_K 3.2 GB ~4 GB 6

Q4_K_M — единственный приемлемый вариант для диагностики. Q3 уже начинает путать метрики: например, вместо «CPU load average 2.5» мог выдать «2.5 GB RAM used». Q2 — вообще треш, агент терял нить на третьем шаге.

Для 35B-A3B на 16GB единственный способ влезть — Q2_K. Но, как я уже сказал, качество падает катастрофически. Если вы готовы мириться с этим ради скорости MoE, советую почитать статью «Готовый агент на Qwen3.5-9B: как развернуть fine-tuned модель для OpenClaw и AgentScope» — там показано, как дообучение на специфических данных поднимает точность даже на низких квантах.

Настройки LMStudio, которые решают всё

Мало выбрать модель и квантование. Если не настроить LMStudio, агент всё равно упадёт. Вот два параметра, которые я менял:

  • GPU Layers: для 9B на M1 выставляю 32 из 35. Остальные 3 оставляю на CPU — это снижает пиковое потребление RAM на 10-15% без потери скорости.
  • Batch Size: по умолчанию 512, но на малом контексте ставлю 128. Меньше пауз, стабильнее загрузка GPU.
  • Context Length: не ставлю больше 8192 для 9B на 16GB. Для диагностики этого хватает с запасом.
  • Flash Attention: включаю обязательно — даёт +20% к скорости и снижает RAM на 5-7%.

Если вы используете LMStudio как сервер (режим API), не забудьте выставить --no-mmap — это предотвращает вытеснение модели в swap при долгих сессиях. Я об этом узнал, когда Mac начал «заикаться» на 5-м запросе.

Совет: Архитектуру постоянного агента с гибридной памятью и экономией токенов я описал в статье «Архитектура перманентного локального агента: гибридная память, экономия токенов и лестница моделей на примере Mac mini». Там как раз показано, как с помощью лестницы моделей выжать максимум из ограниченного железа.

Агентский сценарий без галлюцинаций: экстракт из моего блога

Вот упрощённый промпт, который я использую для диагностики. Он заставляет модель сначала извлекать факты, потом делать вывод — это снижает галлюцинации на 40%.

system_prompt = """Ты — инженер по диагностике инфраструктуры.
Проанализируй следующие данные и ответь строго по плану:
1. Перечисли ключевые метрики и их значения.
2. Сравни с пороговыми значениями (CPU > 80%, RAM > 90%, диск > 85%).
3. Если есть отклонения, укажи их и предложи команду для исправления.
4. Если отклонений нет, ответь: «Система в норме».
НЕ добавляй информацию, которой нет в данных.
"""
user_input = f"Логи: {logs}"

Такой подход + Qwen3.5-9B Q4_K_M даёт стабильность 9 из 10 запусков. Единственная ошибка — иногда он путал «среднюю загрузку» и «пиковую», но это лечится уточнением в промпте.

Если вы хотите браузерный агент без облаков, гляньте статью «On-device браузерный агент на Qwen: локальный Chrome без облаков» — там похожие принципы, но для веб-автоматизации.

Когда выбирать 35B, а когда 9B — мои правила

После десятков экспериментов я выработал такие критерии:

  • 9B выбираю если: Mac с 16GB RAM, задача — реальный мониторинг продакшена, нужна стабильность 24/7.
  • 35B выбираю если: Mac с 32GB+ (M2/M3 Pro), задача — разовая глубокая диагностика с контекстом до 4K, и можно пожертвовать надёжностью ради более качественного анализа.
  • Гибрид: 9B как основной + 35B для верификации сложных кейсов. Именно такую архитектуру я описал в «Claude Code на Mac M3: как заменить облако локальными моделями и не сойти с ума».

Ошибки, которые я совершил (и вы тоже совершите)

  1. Ставил context length 32K на 9B. В итоге Mac уходил в своп, агент отвечал по 2 минуты. Реальность: 8K хватает для логов за час, а для большего — лучше чанковать.
  2. Пытался запустить 35B в Q4_K_M на 16GB. Результат — kernel panic. Не повторяйте.
  3. Не ставил чекпоинты в агенте. Если модель упала на середине анализа — терял весь контекст. Теперь сохраняю историю после каждого шага.
  4. Игнорировал temperature. При 0.8 модель начинала фантазировать. Сейчас ставлю 0.2 для диагностики — и галлюцинации почти исчезли.

Часто задаваемые вопросы

Можно ли запустить Qwen3.5-35B на 16GB?

Можно, но только в Q2_K и с контекстом до 2048 токенов. Для диагностики этого мало. Лучше взять 9B Q4_K_M — результат будет стабильнее.

Какой квант выбрать для диагностики инфраструктуры?

Q4_K_M — минимальный порог. Всё что ниже — начинает терять точность, что для диагностики критично.

Какой context length оптимален?

Для 9B на 16GB — 8192. Этого хватает на ~10-15 минут логов реальной системы. Больше — режьте чанками.

Нужен ли fine-tuning?

Если вы используете специфические метрики (например, Prometheus + Nginx), да. Прочитайте статью «Apple Foundation Models на Mac: Полный гайд по afm для локального ИИ» — там есть пример дообучения под Mac. Или воспользуйтесь готовым агентом на Qwen3.5-9B из этой статьи.

Что делать, если агент упал с OOM?

Уменьшите контекст до 4096, понизьте GPU layers на 5-10%, включите Flash Attention. Если не помогло — модель слишком тяжелая, переходите на 9B.

Мой вам совет: не гонитесь за размером

Стабильный агент для диагностики инфраструктуры — это не про самую умную модель, а про предсказуемость. Qwen3.5-9B в Q4_K_M на M1 16GB даёт 90% точности и 100% аптайма. 35B-A3B — это рулетка. Если у вас 32GB+ — берите 35B, но держите под рукой 9B как fallback.

Через год, когда MoE-архитектуры пооптимизируют (читайте Qwen3 Next), ситуация изменится. Но пока — выбирайте плотную модель, не жадничайте с квантованием и настраивайте LMStudio под себя. И ваш агент будет работать, а не падать.

Подписаться на канал