Corrections de l'Appel d'Outils Qwen 3.5 pour un Usage Agentique : État du Serveur et Solutions Côté Client

✍️ OpenClawRadar📅 Publié: April 15, 2026🔗 Source
Corrections de l'Appel d'Outils Qwen 3.5 pour un Usage Agentique : État du Serveur et Solutions Côté Client
Ad

Bogues d'appel d'outils dans les configurations agentiques de Qwen 3.5

Lors de l'exécution des modèles Qwen 3.5 dans des environnements agentiques comme les agents de codage ou les boucles d'appel de fonction, quatre bogues spécifiques peuvent provoquer l'échec complet de l'appel d'outils.

Les quatre bogues principaux

  • Les appels d'outils XML fuient en texte brut : Qwen 3.5 émet les appels d'outils au format XML (par exemple, <function=bash><parameter=command>ls</parameter></function>). Lorsque les serveurs échouent à analyser cela—surtout lorsque du texte précède le XML ou que la réflexion est activée—l'appel d'outil arrive sous forme de texte brut avec finish_reason: stop, donc votre agent ne l'exécute jamais.
  • Les balises <think> fuient dans le texte et empoisonnent le contexte : llama.cpp force thinking=1 en interne, quel que soit enable_thinking: false, ce qui fait que les balises s'accumulent sur plusieurs tours et détruisent les sessions multi-tours.
  • Mauvaise finish_reason : Les serveurs envoient "stop" lorsque des appels d'outils sont présents, ce qui amène les agents à le traiter comme une réponse finale.
  • finish_reason non standard : Certains serveurs renvoient "eos_token", "", ou null, ce qui fait planter la plupart des frameworks sur la valeur inconnue avant de vérifier si des appels d'outils existent.
Ad

État des serveurs (avril 2026)

La source fournit un tableau détaillé de l'état des principaux serveurs d'inférence :

  • LM Studio 0.4.9 : Meilleure option locale pour l'analyse XML (corrigée dans la v0.4.7), gestion améliorée des fuites de réflexion, finish_reason généralement correcte.
  • vLLM 0.19.0 : Fonctionne avec le drapeau --tool-call-parser qwen3_coder, des bogues de streaming existent, fuite de réflexion corrigée, finish_reason généralement correcte.
  • Ollama 0.20.2 : Amélioré depuis la correction du bogue </think> non fermé, toujours instable sur l'analyse XML, parfois mauvaise finish_reason.
  • llama.cpp b8664 : L'analyseur existe mais échoue avec la réflexion activée, fuite de réflexion cassée, mauvaise finish_reason lorsque l'analyseur échoue.

Solutions recommandées

Utilisez les GGUFs Unsloth au lieu des modèles Jinja standard de Qwen 3.5, qui ont des problèmes connus avec le filtre |items échouant sur les arguments d'outils. Unsloth est livré avec 21 correctifs de modèles.

Ajoutez un filet de sécurité côté client avec trois petites fonctions qui attrapent ce que les serveurs manquent. La source fournit la première fonction :

import re, json, uuid

1. Analyser les appels d'outils XML de Qwen à partir du contenu texte

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

Cette fonction extrait les appels d'outils du contenu texte lorsque les serveurs échouent à analyser correctement le XML, fournissant un mécanisme de secours pour les flux de travail agentiques.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also

Concevoir des contraintes pour la fiabilité des agents IA de qualité production
Guides

Concevoir des contraintes pour la fiabilité des agents IA de qualité production

Un post Reddit détaille une approche basée sur des contraintes pour utiliser Claude dans des opérations complexes sur des bases de code, mettant l'accent sur l'énumération explicite des modes d'échec, l'exécution par phases avec des points de contrôle et des règles anti-raccourcis pour atteindre zéro build cassé lors de la suppression de 140 fichiers.

OpenClawRadar
Exécuter OpenClaw avec un LLM local sur macOS – Guide pour 16 à 24 Go de RAM
Guides

Exécuter OpenClaw avec un LLM local sur macOS – Guide pour 16 à 24 Go de RAM

Guide pratique pour configurer un modèle Qwen 3.5 quantifié avec OpenClaw sur macOS (16–24 Go de RAM), incluant une compétence de test pour la vérification.

OpenClawRadar
Traduire en français : Aide-mémoire sur la structure des dossiers de Claude Code par un utilisateur de Reddit
Guides

Traduire en français : Aide-mémoire sur la structure des dossiers de Claude Code par un utilisateur de Reddit

Un utilisateur de Reddit a créé un aide-mémoire pour la structure des dossiers de Claude Code après avoir rencontré des écueils courants, couvrant la disposition du répertoire .claude/, les événements de hook, settings.json, la configuration MCP, la structure des compétences et les seuils de gestion du contexte.

OpenClawRadar
Utilisateurs d'OpenClaw Docker : Épinglez au commit 0c926a2c5 pour corriger les extensions Discord et de salon défectueuses.
Guides

Utilisateurs d'OpenClaw Docker : Épinglez au commit 0c926a2c5 pour corriger les extensions Discord et de salon défectueuses.

Après avoir mis à jour OpenClaw via Docker, les extensions de canaux comme Discord, Signal et WhatsApp échouent avec des erreurs d'importation de modules. Le problème provient du commit d9c285e93 et d'un second bug spécifique à Docker. Utilisez le commit 0c926a2c5 pour une solution de contournement stable.

OpenClawRadar