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

✍️ OpenClawRadar📅 Опубликовано: 2 марта 2026 г.🔗 Source
Ошибки парсера LM Studio нарушают вызов инструментов и логику Qwen3.5.
Ad

Проблемы парсера 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 происходит до того, как ответ достигнет любого клиента.

Ad

Взаимодействие ошибок

Это не независимые проблемы. Они взаимодействуют, создавая системные проблемы с вызовом инструментов и рассуждениями в LM Studio.

📖 Прочитать полный источник: r/LocalLLaMA

Ad

👀 Смотрите также

Отправляйте агентов OpenClaw как участников встречи с голосом, чатом и демонстрацией экрана
Инструменты

Отправляйте агентов OpenClaw как участников встречи с голосом, чатом и демонстрацией экрана

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

OpenClawRadar
Clawion: Обертка OpenClaw с поддержкой Claude Max и интеграцией с GitHub
Инструменты

Clawion: Обертка OpenClaw с поддержкой Claude Max и интеграцией с GitHub

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

OpenClawRadar
AGENTS.md Схема для компилируемых ИИ-системами баз знаний со слоем обучения
Инструменты

AGENTS.md Схема для компилируемых ИИ-системами баз знаний со слоем обучения

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

OpenClawRadar
Сократовский генератор подсказок, созданный как артефакт React внутри Claude
Инструменты

Сократовский генератор подсказок, созданный как артефакт React внутри Claude

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

OpenClawRadar