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

yoyo : Serveur MCP local pour les lectures de codebase ancrées et les écritures sécurisées avec Claude Code
Tools

yoyo : Serveur MCP local pour les lectures de codebase ancrées et les écritures sécurisées avec Claude Code

yoyo est un serveur MCP local open-source qui fournit aux agents de codage comme Claude Code des lectures de dépôt ancrées et des écritures protégées dans 16 langages, dont Rust, Go, Python et TypeScript. Il empêche les modifications cassées de passer silencieusement en renvoyant une sortie guard_failure lisible par machine et en activant retry_plan pour des réparations ciblées.

OpenClawRadar
ClawMetry : Tableau de bord d'observabilité open source pour les agents OpenClaw
Tools

ClawMetry : Tableau de bord d'observabilité open source pour les agents OpenClaw

ClawMetry est un tableau de bord d'observabilité open-source pour les agents OpenClaw qui fournit une activité de session en direct, un suivi des coûts de tokens, une détection des changements de fichiers mémoire et des alertes de session bloquée. Il s'exécute localement avec pip install clawmetry et a été construit en utilisant OpenClaw lui-même.

OpenClawRadar
Plugin Peek pour Claude Code : Navigation Automatique dans la Mémoire de Session
Tools

Plugin Peek pour Claude Code : Navigation Automatique dans la Mémoire de Session

Peek est un plugin Claude Code qui capture et injecte automatiquement les corrections et préférences des utilisateurs pour orienter l'assistant IA. Il utilise une recherche par fusion avec des embeddings, BM25, une décroissance temporelle et des filtres de métadonnées pour fournir un contexte pertinent sans sollicitation manuelle.

OpenClawRadar
Comptable pour Startups : Compétence Claude Gratuite pour le Suivi des Petites Entreprises
Tools

Comptable pour Startups : Compétence Claude Gratuite pour le Suivi des Petites Entreprises

Startup Bookkeeper est une compétence Claude AI open source qui aide les fondateurs autofinancés à suivre leurs dépenses en catégorisant les transactions à partir de descriptions en langage clair, en traitant les photos de reçus avec OCR, et en générant des tableaux de bord ou des états des résultats.

OpenClawRadar