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

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.
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
👀 Ver también

9 Habilidades de Claude para Estudio en Solitario: Instrucciones Apiladas para Trabajo Real
Un desarrollador solitario creó nueve skills de Claude para producción de video, análisis, SEO, modelado financiero y más. Clave: escribe los skills como instrucciones para un colega experimentado, no como documentación. Los skills se activan y acumulan automáticamente cuando las tareas se superponen.

Cómo construir un sistema financiero local de datos + IA personal en Mac Studio
Un desarrollador comparte su experiencia construyendo un sistema completamente localizado de procesamiento de datos financieros y asistente de IA personal en un Mac Studio, incluyendo decisiones de arquitectura, división de memoria, orquestación con cron y optimizaciones iniciales.

Construyendo una plataforma de agentes de IA sin servidor en AWS por $0.01/mes con Claude Code
Un desarrollador construyó una plataforma serverless completa en AWS que ejecuta agentes de IA por aproximadamente $0.01/mes usando Claude Code durante 29 horas, eliminando componentes costosos como NAT Gateway ($32/mes) y ALB ($18/mes). El proyecto incluye 233 pruebas unitarias, 35 pruebas E2E y se despliega con un solo comando cdk deploy.

Flujo de Trabajo Práctico con Claude Code para Equipos de Desarrollo
Un usuario de Reddit comparte su presentación interna sobre las mejores prácticas de Claude Code, incluyendo selección de modelos, flujos de trabajo estructurados y técnicas específicas de prompts para mejorar la calidad de la salida.