Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента

✍️ OpenClawRadar📅 Опубликовано: 15 апреля 2026 г.🔗 Source
Исправления вызова инструментов Qwen 3.5 для агентского использования: статус сервера и обходные решения на стороне клиента
Ad

Ошибки вызова инструментов в агентских настройках Qwen 3.5

При запуске моделей Qwen 3.5 в агентских средах, таких как кодирующие агенты или циклы вызова функций, четыре конкретные ошибки могут привести к полному сбою вызова инструментов.

Четыре основные ошибки

  • Утечка XML-вызовов инструментов в виде обычного текста: Qwen 3.5 выводит вызовы инструментов в формате XML (например, <function=bash><parameter=command>ls</parameter></function>). Когда серверы не могут распарсить это — особенно если перед XML есть текст или включено мышление — вызов инструментов приходит как сырой текст с finish_reason: stop, поэтому ваш агент никогда его не выполняет.
  • Теги <think> просачиваются в текст и портят контекст: llama.cpp принудительно включает thinking=1 внутренне, независимо от enable_thinking: false, что приводит к накоплению тегов между повторами и разрушает многоходовые сессии.
  • Неправильный finish_reason: Серверы отправляют "stop", когда присутствуют вызовы инструментов, заставляя агентов воспринимать это как окончательный ответ.
  • Нестандартный finish_reason: Некоторые серверы возвращают "eos_token", "" или null, что приводит к сбою большинства фреймворков на неизвестном значении до проверки наличия вызовов инструментов.

Статус серверов (апрель 2026)

Источник предоставляет подробную таблицу статуса для основных серверов вывода:

  • LM Studio 0.4.9: Лучший локальный вариант для парсинга XML (исправлено в v0.4.7), улучшена обработка утечек мышления, обычно правильный finish_reason.
  • vLLM 0.19.0: Работает с флагом --tool-call-parser qwen3_coder, существуют ошибки стриминга, утечка мышления исправлена, обычно правильный finish_reason.
  • Ollama 0.20.2: Улучшено после исправления ошибки незакрытого </think>, всё ещё ненадёжно в парсинге XML, иногда неправильный finish_reason.
  • llama.cpp b8664: Парсер существует, но не работает при включённом мышлении, утечка мышления не исправлена, неправильный finish_reason при сбое парсера.
Ad

Рекомендуемые решения

Используйте Unsloth GGUFs вместо стандартных шаблонов Jinja Qwen 3.5, которые имеют известные проблемы с фильтром |items, не работающим на аргументах инструментов. Unsloth поставляется с 21 исправлением шаблонов.

Добавьте клиентскую страховочную сеть с тремя небольшими функциями, которые ловят то, что пропускают серверы. Источник предоставляет первую функцию:

import re, json, uuid

1. Парсинг XML-вызовов инструментов Qwen из текстового содержимого

def parse_qwen_xml_tools(text): results = [] for m in re.finditer(r'<function=([\w.-]+)>([\s\S]?)</function>', text): args = {} for p in re.finditer(r'<parameter=([\w.-]+)>([\s\S]?)</parameter>', m.group(2)): k, v = p.group(1).strip(), p.group(2).strip() try: v = json.loads(v) except: pass args[k] = v

Эта функция извлекает вызовы инструментов из текстового содержимого, когда серверы не могут правильно распарсить XML, предоставляя механизм отката для агентских рабочих процессов.

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

Ad

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

Ошибка службы виртуальной машины Windows Cowork: проблема с путем и исправление
Гайды

Ошибка службы виртуальной машины Windows Cowork: проблема с путем и исправление

Проблема с установкой Windows Cowork вызывает ошибку 'Служба VM не запущена' каждые 10-20 минут из-за неправильного пути к папке vm_bundles в установках MSIX. Исправление включает поиск правильной папки и использование скрипта восстановления.

OpenClawRadar
OpenClaw 101: полное руководство по настройке для новых пользователей
Гайды

OpenClaw 101: полное руководство по настройке для новых пользователей

u/adamb0mbNZ
Практическое руководство по самостоятельному размещению вашей первой языковой модели (LLM)
Гайды

Практическое руководство по самостоятельному размещению вашей первой языковой модели (LLM)

В посте на Reddit перечислены причины для самостоятельного хостинга языковых моделей, включая конфиденциальность для чувствительных данных, предсказуемость затрат для агентских рабочих нагрузок, улучшение производительности за счёт исключения API-запросов и кастомизацию через методы тонкой настройки, такие как LoRA и QLoRA.

OpenClawRadar
Интерактивные объяснительные карты: проектирование циклов агентов Claude Code от одиночных вызовов до самомутирующих промптов
Гайды

Интерактивные объяснительные карты: проектирование циклов агентов Claude Code от одиночных вызовов до самомутирующих промптов

Интерактивный сайт, созданный с помощью Opus 4.7, визуализирует 11 реальных дизайнов циклов агентов для Claude Code: от базовых вызовов до агентов, которые переписывают собственные промпты, с SVG-анимациями, показывающими механизмы памяти и циклов.

OpenClawRadar