Les bugs du parseur de LM Studio perturbent l'appel d'outils et le raisonnement de Qwen3.5

✍️ OpenClawRadar📅 Publié: March 2, 2026🔗 Source
Les bugs du parseur de LM Studio perturbent l'appel d'outils et le raisonnement de Qwen3.5
Ad

Problèmes de parseur LM Studio affectant les modèles de raisonnement

Le parseur serveur de LM Studio contient plusieurs bogues qui interfèrent avec les appels d'outils et le raisonnement dans des modèles comme Qwen3.5 et DeepSeek-R1. Ces problèmes peuvent faire paraître les modèles défectueux alors que le problème se situe en réalité dans le parseur.

Les bogues

1. Le parseur recherche des motifs d'appel d'outils à l'intérieur des blocs <think>

Lorsque les modèles de raisonnement réfléchissent à la syntaxe d'appel d'outils dans leurs blocs <think>, le parseur de LM Studio traite ces mentions en prose comme de véritables tentatives d'appel d'outils. Cela crée un piège récursif où le modèle raisonne sur les appels d'outils, le parseur trouve des jetons ressemblant à des appels d'outils dans la réflexion, l'analyse échoue, l'erreur est renvoyée au modèle, et le cycle se répète.

Le modèle ne peut littéralement pas déboguer un problème d'appel d'outil car décrire le problème le reproduit. Un modèle a explicitement déclaré "Je suis pris dans une boucle où mes réflexions sur la syntaxe d'appel d'outils sont interprétées comme de véritables marqueurs d'appel d'outils" — et cette phrase elle-même a déclenché le parseur.

Cela a été signalé pour la première fois dans le problème #453 en février 2025 et reste ouvert plus d'un an plus tard.

Solution de contournement : Désactivez le raisonnement avec {%- set enable_thinking = false %}. Cela résout instantanément le problème, permettant à 20+ appels d'outils consécutifs de réussir.

2. L'enregistrement d'un deuxième serveur MCP casse l'analyse des appels d'outils pour le premier

Ce bogue est clair et déterministe. Des tests avec lfm2-24b-a2b à température=0.0 montrent :

  • Seul le serveur KG actif : Le modèle appelle correctement search_nodes, le parseur reconnaît les jetons <|tool_call_start|>, l'outil s'exécute, les résultats sont renvoyés. Fonctionne parfaitement.
  • Ajoutez le serveur webfetch (sans même l'appeler) : Le modèle émet <|tool_call_start|>[web_search(...)]<|tool_call_end|> sous forme de texte brut dans le chat. Les jetons spéciaux ne sont plus reconnus. L'outil n'est jamais exécuté.

Le simple enregistrement d'un deuxième serveur MCP — sans l'appeler — modifie la façon dont le parseur gère les appels d'outils du premier serveur. Même modèle, même prompt, même serveur cible. Une seule variable modifiée.

Solution de contournement : N'enregistrez que le serveur MCP dont vous avez besoin pour chaque tâche. Ceci est peu pratique pour les workflows agentiques.

3. La séparation raisonnement_contenu/contenu côté serveur produit des réponses vides signalées comme réussies

Cela affecte tous ceux qui utilisent des modèles de raisonnement via l'API, qu'ils utilisent ou non des appels d'outils. Lors de l'envoi d'un simple prompt à Qwen3.5-35b-a3b via /v1/chat/completions lui demandant de lister les balises XML utilisées pour le raisonnement, le serveur a renvoyé :

{
  "content": "",
  "reasoning_content": "[3099 jetons de délibération détaillée]",
  "finish_reason": "stop"
}

Le modèle a effectué un travail important — 3099 jetons de raisonnement — mais s'est retrouvé pris dans une boucle de délibération à l'intérieur de <think> et n'a jamais produit de sortie dans le champ content. Le serveur a renvoyé finish_reason: "stop" avec un contenu vide, signalant un succès.

Cela signifie :

  • Toute évaluation vérifiant finish_reason == "stop" accepte silencieusement des réponses vides
  • Tout framework agentique propage des chaînes vides en aval
  • Tout utilisateur voit une réponse vide et conclut que le modèle est cassé
  • Le raisonnement réel est piégé dans reasoning_content — le modèle a effectué un travail réel que personne ne voit à moins de vérifier explicitement ce champ

Ceci est côté serveur, pas un bogue d'interface, confirmé par l'inspection de la réponse API brute et du journal serveur de LM Studio. La séparation reasoning_content/content se produit avant que la réponse n'atteigne un client.

Ad

Interaction des bogues

Il ne s'agit pas de problèmes indépendants. Ils interagissent pour créer des problèmes systémiques avec les appels d'outils et le raisonnement dans LM Studio.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also

Mesure des dépenses de tokens hors tâche dans Claude Code : la métrique 'Intention non déclarée'
Tools

Mesure des dépenses de tokens hors tâche dans Claude Code : la métrique 'Intention non déclarée'

Un développeur a créé une métrique pour quantifier le calcul dépensé sur des chemins d'exécution non intentionnels dans des sessions Claude Code, constatant que 22,8 % des tokens étaient consacrés à un travail hors sujet.

OpenClawRadar
Conseil : Un Cadre de Dialogue Structuré pour Claude
Tools

Conseil : Un Cadre de Dialogue Structuré pour Claude

Conseil — Un Creuset est un cadre de dialogue structuré conçu pour fonctionner dans une seule fenêtre de contexte Claude. Il utilise un cadrage de personnage pour créer quatre modes d'engagement distincts : interrogation rigoureuse, action générative, expérience vécue et intuition non formée.

OpenClawRadar
Kanwas : Tableau de contexte partagé open source pour les équipes et les agents IA
Tools

Kanwas : Tableau de contexte partagé open source pour les équipes et les agents IA

Kanwas est un espace de travail collaboratif open source où les équipes et les agents IA partagent des documents, des preuves et des décisions sur un tableau avec des appels d'outils en direct. Auto-hébergé via Docker, il est basé sur Git avec Yjs et BlockNote.

OpenClawRadar
MegaClaw : Configuration OpenClaw en conteneur avec Playwright et Homebrew
Tools

MegaClaw : Configuration OpenClaw en conteneur avec Playwright et Homebrew

MegaClaw est une configuration Podman à deux images pour OpenClaw qui résout les problèmes d'installation courants comme les erreurs de permissions et les dépendances manquantes. Il utilise une construction multi-étapes avec Playwright et Homebrew préinstallés, et intègre la configuration utilisateur dans une image d'exécution.

OpenClawRadar