LM Studio vs Qwen3.5: брак по расчету, который не сложился
Вы загрузили свежую Qwen3.5-32B-Instruct в LM Studio версии 0.3.9 (последняя на март 2026), настроили контекст, запустили - и модель внезапно глючит. Tool calling работает через раз, reasoning-блоки <think> парсятся в случайном порядке, а ответы напоминают творчество нейросети под кайфом. Знакомая картина? Это не ваша вина. Это системный баг в парсере LM Studio, который тянется с 2024 года и все еще не починен.
На 02.03.2026 баги подтверждены в LM Studio 0.3.9 на Windows 11 и macOS Sonoma. Разработчики знают о проблеме, но фикс все в статусе "в работе".
Tool calling в агонии: как парсер губит reasoning
Симптомы выглядят так. Вы просите модель вызвать инструмент - например, поискать в интернете. Qwen3.5 (актуальная версия Qwen3.5-32B-Instruct-Q8_0, январь 2026) генерирует корректный JSON с tool call, но LM Studio его или обрезает, или парсит с ошибками. Вместо чистого вызова получаете мешанину из текста и кода. Reasoning-блоки <think> модель использует для внутренних рассуждений - парсер их либо игнорирует, либо выводит как часть ответа, ломая всю логику.
Почему это важно? Без работающего tool calling и reasoning модель теряет основную фишку - способность рассуждать и взаимодействовать с внешними системами. Вы получаете просто чат-бота, причем сломанного. В статьях про Qwen3 VL и про Qwen 3 Coder Next мы уже видели похожие проблемы в других клиентах. Но в LM Studio они системные.
Вскрытие бага: что нашли в коде парсера
Корень зла - в парсере сообщений, который обрабатывает стриминг-ответы от сервера llama.cpp. LM Studio использует кастомную логику для извлечения JSON и специальных тегов из потока. Для Qwen3.5 это работает криво: парсер не учитывает вложенность reasoning-блоков, путается с экранированием символов и часто теряет закрывающие скобки в tool calls.
| Симптом | Причина в парсере LM Studio | Частота |
|---|---|---|
| Обрезанный JSON tool call | Парсер преждевременно обрывает поток при обнаружении \n | ~60% случаев |
| <think> блок в выводе | Не распознает специальные теги reasoning | ~80% случаев |
| Некорректный escape символов | Ошибка в обработке \" внутри JSON | ~40% случаев |
Проблема усугубляется тем, что баг зависит от версии квантизации модели. Q8_0 страдает чаще, чем IQ4_XS (но последняя менее точна). И да, это тот же класс проблем, что и в llama.cpp для Qwen3 Next Coder, только в LM Studio он приправлен собственными костылями.
Спасение утопающих: три способа починить LM Studio
1Костыль в конфигурации сервера
Откройте настройки сервера LM Studio (вкладка "Local Server"). В поле "Additional Parameters" добавьте:
--no-parallel-prompt --log-disable --escapeФлаг --escape особенно важен - он заставляет llama.cpp корректнее обрабатывать спецсимволы. Это не панацея, но снижает частоту ошибок на 30-40%. Помогает и принудительное отключение streaming в настройках UI, но тогда теряете интерактивность.
2Патч через кастомный шаблон чата
LM Studio позволяет создать кастомный шаблон для модели. Для Qwen3.5 используйте этот JSON в разделе "Chat Templates":
{
"name": "Qwen3.5 Fixed",
"system": "{{#if system}}<|im_start|>system\n{{system}}<|im_end|>\n{{/if}}",
"user": "<|im_start|>user\n{{prompt}}<|im_end|>\n<|im_start|>assistant\n",
"assistant": "{{response}}<|im_end|>",
"stop": ["<|im_end|>", "<|im_start|>"]
}Шаблон жестко фиксирует границы сообщений, что иногда помогает парсеру не сбиться. Метод срабатывает в 50% случаев - лучше, чем ничего.
3Ядерный вариант: сменить клиент
Когда баги начинают бесить по-настоящему, проще перейти на другой инструмент. На март 2026 года есть три работающих варианта для Qwen3.5:
- Ollama 0.6.0+ - с патчем для Qwen reasoning (но свои тараканы, как в этой статье)
- llama.cpp напрямую - запуск через командную строку с флагом --json-schema (ручное управление, зато стабильно)
- OpenCode Interpreter - специализированная среда для кодогенерации с Qwen, tool calling работает из коробки
Важный нюанс: при переходе на llama.cpp убедитесь, что используете версию с поддержкой bf16 KV cache - это критично для точности Qwen3.5, как мы писали в гиде по настройке.
Бегство из LM Studio: куда переехать с Qwen3.5
Сравним альтернативы по ключевым параметрам на 2026 год:
| Клиент | Tool calling Qwen3.5 | Reasoning-блоки | Сложность настройки | UI |
|---|---|---|---|---|
| LM Studio 0.3.9 | Сломан (баги парсера) | Не работает | Низкая | Отличный |
| Ollama 0.6.0 | Работает с патчами | Частично | Средняя | Базовый |
| llama.cpp (консоль) | Стабильно | Полная поддержка | Высокая | Нет |
| OpenCode Interpreter | Специализированный | Да | Средняя | Минималистичный |
Вывод простой. Если вам нужен красивый UI и вы готовы мириться с глюками - пробуйте костыли в LM Studio. Если tool calling критичен - берите llama.cpp или OpenCode. Для быстрых экспериментов подойдет Ollama, но готовьтесь к своим багам (особенно с моделями вроде Step 3.5 Flash).
Кому подойдет LM Studio в 2026 году?
Несмотря на все, LM Studio не стоит списывать. Он идеален для:
- Новичков, которые только знакомятся с локальными LLM и не используют tool calling.
- Демонстраций - UI все еще лучший на рынке для простых чат-взаимодействий.
- Работы с моделями без reasoning - например, классические Llama 3.2 или Mistral.
Но если ваш пайплайн завязан на вызове инструментов Qwen3.5 или анализе reasoning-цепочек - бегите. Эти баги не починят в ближайшие месяцы (судя по скорости реакции разработчиков).
Последний совет: следите за обновлениями llama.cpp. Часто фиксы появляются там, а LM Studio подтягивает их с задержкой в 2-3 месяца. И если уж переходить на сырую консоль, изучите гайд по оптимизации контекста - это сэкономит кучу нервов.
Прогноз на 2026: LM Studio либо выпустит мажорное обновление с полным рефакторингом парсера к лету, либо окончательно потеряет аудиторию серьезных разработчиков. Альтернативы уже дышат в спину.