Correcciones de Qwen 3.5 en la Llamada de Herramientas para Uso Agéntico: Estado del Servidor y Soluciones en el Lado del Cliente

✍️ OpenClawRadar📅 Publicado: 15 de abril de 2026🔗 Source
Correcciones de Qwen 3.5 en la Llamada de Herramientas para Uso Agéntico: Estado del Servidor y Soluciones en el Lado del Cliente
Ad

Errores en la Llamada a Herramientas en Configuraciones Agenticas de Qwen 3.5

Al ejecutar modelos Qwen 3.5 en entornos agenticos como agentes de programación o bucles de llamada a funciones, cuatro errores específicos pueden hacer que la llamada a herramientas falle por completo.

Los Cuatro Errores Principales

  • Las llamadas a herramientas XML se filtran como texto plano: Qwen 3.5 emite llamadas a herramientas en formato XML (por ejemplo, <function=bash><parameter=command>ls</parameter></function>). Cuando los servidores no logran analizar esto—especialmente cuando hay texto antes del XML o el pensamiento está habilitado—la llamada a herramientas llega como texto crudo con finish_reason: stop, por lo que tu agente nunca la ejecuta.
  • Las etiquetas <think> se filtran al texto y envenenan el contexto: llama.cpp fuerza thinking=1 internamente independientemente de enable_thinking: false, haciendo que las etiquetas se acumulen a lo largo de los turnos y destruyan las sesiones multiturno.
  • finish_reason incorrecto: Los servidores envían "stop" cuando hay llamadas a herramientas presentes, haciendo que los agentes lo traten como una respuesta final.
  • finish_reason no estándar: Algunos servidores devuelven "eos_token", "", o null, causando que la mayoría de los marcos de trabajo fallen en el valor desconocido antes de verificar si existen llamadas a herramientas.
Ad

Estado del Servidor (Abril 2026)

La fuente proporciona una tabla de estado detallada para los principales servidores de inferencia:

  • LM Studio 0.4.9: Mejor opción local para el análisis XML (corregido en v0.4.7), manejo mejorado de la fuga de pensamiento, generalmente finish_reason correcto.
  • vLLM 0.19.0: Funciona con el indicador --tool-call-parser qwen3_coder, existen errores de transmisión, fuga de pensamiento corregida, generalmente finish_reason correcto.
  • Ollama 0.20.2: Mejorado desde la corrección del error de etiqueta </think> no cerrada, todavía inestable en el análisis XML, a veces finish_reason incorrecto.
  • llama.cpp b8664: Existe un analizador pero falla con el pensamiento habilitado, fuga de pensamiento rota, finish_reason incorrecto cuando el analizador falla.

Soluciones Recomendadas

Usa GGUFs de Unsloth en lugar de las plantillas Jinja estándar de Qwen 3.5, que tienen problemas conocidos con el filtro |items fallando en los argumentos de las herramientas. Unsloth incluye 21 correcciones de plantillas.

Añade una red de seguridad del lado del cliente con tres pequeñas funciones que capturen lo que los servidores pasan por alto. La fuente proporciona la primera función:

import re, json, uuid

1. Analizar llamadas a herramientas XML de Qwen desde el contenido de texto

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

Esta función extrae llamadas a herramientas del contenido de texto cuando los servidores no logran analizar el XML correctamente, proporcionando un mecanismo de respaldo para flujos de trabajo agenticos.

📖 Leer la fuente completa: r/LocalLLaMA

Ad

👀 Ver también

Usando el Patrón Dispatcher para Reducir los Costos de la API de Claude en un 95%
Guías

Usando el Patrón Dispatcher para Reducir los Costos de la API de Claude en un 95%

Un desarrollador redujo sus costos de la API de Claude de $800-$2,000/mes a aproximadamente $215/mes implementando un patrón de despachador que delega el trabajo pesado a Claude Code CLI en una suscripción Claude Max, mientras usa tokens mínimos de API para la orquestación.

OpenClawRadar
Mapas Explicativos Interactivos de Diseños de Bucles de Agentes de Claude Code, desde Llamadas Únicas hasta Indicaciones Automodificables
Guías

Mapas Explicativos Interactivos de Diseños de Bucles de Agentes de Claude Code, desde Llamadas Únicas hasta Indicaciones Automodificables

Un sitio interactivo creado con Opus 4.7 visualiza 11 diseños reales de bucles de agente para Claude Code, desde llamadas básicas hasta agentes que reescriben sus propios prompts, con animaciones SVG que muestran la memoria y la mecánica del bucle.

OpenClawRadar
Método para Transferir el Contexto del Usuario de ChatGPT a Claude
Guías

Método para Transferir el Contexto del Usuario de ChatGPT a Claude

Un usuario de Reddit comparte un método de dos prompts para extraer un perfil cognitivo detallado de ChatGPT y crear una constitución de IA portátil para transferir a Claude, abordando la dificultad de migrar entre sistemas de IA.

OpenClawRadar
Configurando OpenClaw para una Comunicación Fluida entre Agentes
Guías

Configurando OpenClaw para una Comunicación Fluida entre Agentes

Un usuario de Reddit comparte configuraciones específicas para OpenClaw que reducen los tiempos de espera en la comunicación entre agentes, incluyendo ajustes de visibilidad de herramientas, directivas de memoria y soluciones para la limitación ANNOUNCE_SKIP.

OpenClawRadar