Исправления вызова инструментов 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

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

Практический обзор: 3 ключевых навыка для Clawhub и 3, которых стоит избегать
Гайды

Практический обзор: 3 ключевых навыка для Clawhub и 3, которых стоит избегать

Разработчик тестировал навыки Clawhub несколько недель и нашёл три, которые стоит установить: web-search (Brave), daily-brief и memory-search. Три других — food-order, multi-agent orchestrators и humanizer — тратят токены и добавляют ненужную сложность.

OpenClawRadar
Контрольный список для анализа производительности OpenClaw CLI
Гайды

Контрольный список для анализа производительности OpenClaw CLI

Пользователь Reddit делится шестишаговым чек-листом для диагностики медленных команд OpenClaw CLI, включая команды для измерения задержки, мониторинга системных ресурсов, проверки логов шлюза и изоляции проблем с конфигурацией.

OpenClawRadar
Визуальное руководство по жизненному циклу 27 хуков Claude Code
Гайды

Визуальное руководство по жизненному циклу 27 хуков Claude Code

Сообщество создало ресурс с визуальным и аудио-обзором всех 27 хуков Claude Code, показывающий, когда каждый срабатывает, их порядок и какие данные они получают. Проект был полностью создан с использованием самого Claude Code.

OpenClawRadar
Шпаргалка по структуре папок Claude Code от пользователя Reddit
Гайды

Шпаргалка по структуре папок Claude Code от пользователя Reddit

Пользователь Reddit создал шпаргалку по структуре папок Claude Code после столкновения с распространёнными ошибками, охватывающую структуру каталога .claude/, события хуков, settings.json, конфигурацию MCP, структуру навыков и пороги управления контекстом.

OpenClawRadar