Ошибки парсера 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

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

Открытый PR-агент ревью PrixAI обнаруживает 10/10 внедрённых багов в 6 раз дешевле CodeRabbit
Инструменты

Открытый PR-агент ревью PrixAI обнаруживает 10/10 внедрённых багов в 6 раз дешевле CodeRabbit

Пользователь Reddit создал PrixAI — агента для проверки PR с открытым исходным кодом, который использует локальные/дешевые модели вывода, чтобы соответствовать функциям CodeRabbit при стоимости в 6 раз ниже, обнаружив все 10 намеренно внесенных проблем в тестовом PR.

OpenClawRadar
engram v3.4.0 добавляет плагин Anthropic для поддержания работы Claude Code в условиях новых лимитов скорости
Инструменты

engram v3.4.0 добавляет плагин Anthropic для поддержания работы Claude Code в условиях новых лимитов скорости

engram v3.4.0 представляет выделенный плагин Anthropic для Claude Code, добавляющий три навыка для управления затратами, запроса контекста и выявления ошибок. Установите с помощью `/plugin install engram` или `npm install -g engramx@latest`.

OpenClawRadar
Бесплатный Волшебник переносит историю ChatGPT в проекты Claude — Ключевые уроки по лимитам токенов и RAG
Инструменты

Бесплатный Волшебник переносит историю ChatGPT в проекты Claude — Ключевые уроки по лимитам токенов и RAG

Бесплатный инструмент без кода переносит экспорт ChatGPT в проекты Claude, показывая, что 26 МБ JSON достигает лимита токенов, а разбивка по темам — это решение. RAG от Claude читает только части больших файлов, поэтому лучше всего работают конкретные запросы.

OpenClawRadar
В шаблонах рабочих процессов Claude шаблон передачи задач: разделение на два файла против сводки одного документа
Инструменты

В шаблонах рабочих процессов Claude шаблон передачи задач: разделение на два файла против сводки одного документа

Длительные сессии с Claude страдают от потери контекста. Handoffs сжимают важное и начинают заново. Два подхода: навык handoff Мэтта Покока в одном документе и разделение на два файла с постоянным повествованием и временным промптом.

OpenClawRadar