Ошибки парсера LM Studio нарушают вызов инструментов и логику Qwen3.5.

Проблемы парсера LM Studio, влияющие на модели с рассуждениями
Парсер сервера LM Studio содержит несколько ошибок, которые мешают вызову инструментов и рассуждениям в таких моделях, как Qwen3.5 и DeepSeek-R1. Эти проблемы могут создавать впечатление, что модели сломаны, хотя проблема на самом деле в парсере.
Ошибки
1. Парсер сканирует внутри блоков <think> в поисках паттернов вызова инструментов
Когда модели с рассуждениями размышляют о синтаксисе вызова инструментов внутри своих блоков <think>, парсер LM Studio воспринимает эти упоминания в тексте как реальные попытки вызова. Это создает рекурсивную ловушку: модель рассуждает о вызовах инструментов, парсер находит похожие на вызов токены в размышлениях, разбор завершается ошибкой, ошибка передаётся обратно модели, и цикл повторяется.
Модель буквально не может отладить проблему с вызовом инструментов, потому что описание проблемы воспроизводит её. Одна модель прямо сказала: «Я попадаю в цикл, где мои мысли о синтаксисе вызова инструментов интерпретируются как реальные маркеры вызова» — и само это предложение запустило парсер.
Об этом впервые сообщили в задаче #453 в феврале 2025 года, и она остаётся открытой более года спустя.
Обходное решение: Отключите рассуждения с помощью {%- set enable_thinking = false %}. Это мгновенно исправляет проблему, позволяя успешно выполнить 20+ последовательных вызовов инструментов.
2. Регистрация второго сервера MCP ломает разбор вызовов инструментов для первого
Эта ошибка чистая и детерминированная. Тестирование с lfm2-24b-a2b при temperature=0.0 показывает:
- Активен только сервер KG: Модель правильно вызывает
search_nodes, парсер распознаёт токены<|tool_call_start|>, инструмент выполняется, результаты возвращаются. Работает идеально. - Добавьте сервер webfetch (даже не вызывая его): Модель выводит
<|tool_call_start|>[web_search(...)]<|tool_call_end|>как обычный текст в чате. Специальные токены больше не распознаются. Инструмент никогда не выполняется.
Одна лишь регистрация второго сервера MCP — без его вызова — меняет то, как парсер обрабатывает вызовы инструментов первого сервера. Та же модель, тот же промпт, тот же целевой сервер. Изменилась одна переменная.
Обходное решение: Регистрируйте только тот сервер MCP, который вам нужен для каждой задачи. Это непрактично для агентских рабочих процессов.
3. Разделение reasoning_content/content на стороне сервера приводит к пустым ответам, которые сообщают об успехе
Это затрагивает всех, кто использует модели с рассуждениями через API, независимо от использования вызова инструментов. При отправке простого промпта Qwen3.5-35b-a3b через /v1/chat/completions с просьбой перечислить XML-теги, используемые для рассуждений, сервер вернул:
{
"content": "",
"reasoning_content": "[3099 токенов детальных размышлений]",
"finish_reason": "stop"
}
Модель проделала обширную работу — 3099 токенов рассуждений — но попала в цикл обдумывания внутри <think> и так и не сгенерировала вывод в поле content. Сервер вернул finish_reason: "stop" с пустым content, сообщая об успехе.
Это означает:
- Каждый набор тестов, проверяющий
finish_reason == "stop", молча принимает пустые ответы - Каждая агентская платформа передаёт пустые строки дальше по цепочке
- Каждый пользователь видит пустой ответ и делает вывод, что модель сломана
- Настоящие рассуждения заперты в
reasoning_content— модель проделала реальную работу, которую никто не видит, если явно не проверит это поле
Это проблема на стороне сервера, а не ошибка интерфейса, что подтверждается проверкой сырого ответа API и лога сервера LM Studio. Разделение reasoning_content/content происходит до того, как ответ достигнет любого клиента.
Взаимодействие ошибок
Это не независимые проблемы. Они взаимодействуют, создавая системные проблемы с вызовом инструментов и рассуждениями в LM Studio.
📖 Прочитать полный источник: r/LocalLLaMA
👀 Смотрите также

Отправляйте агентов OpenClaw как участников встречи с голосом, чатом и демонстрацией экрана
Новый навык позволяет агентам OpenClaw присоединяться к Google Meet, Teams и Zoom в качестве полноценных участников с голосом (STT/TTS), чатом, видео-аватаром и демонстрацией экрана.

Clawion: Обертка OpenClaw с поддержкой Claude Max и интеграцией с GitHub
Clawion — это обёртка OpenClaw, которая поддерживает Claude Max без необходимости ввода API-ключа. Настройка включает выбор шаблона, подключение Telegram и развёртывание компаньона по коду с интеграцией GitHub для автоматического создания PR.

AGENTS.md Схема для компилируемых ИИ-системами баз знаний со слоем обучения
AGENTS.md v1.0 предоставляет стандарт схемы для Claude, позволяющий создавать и поддерживать персональные исследовательские вики из исходных материалов, включая слой обучения с интервальным повторением с автоматической генерацией карточек и отслеживанием пробелов в знаниях.

Сократовский генератор подсказок, созданный как артефакт React внутри Claude
Разработчик создал генератор сократических промптов как React-артефакт, работающий внутри Claude, с автоматическим определением сложности ввода и трёхуровневой генерацией промптов с анализом режимов сбоев.