LM Studioのパーサーのバグにより、Qwen3.5のツール呼び出しと推論機能が正常に動作しません

✍️ OpenClawRadar📅 公開日: March 2, 2026🔗 Source
LM Studioのパーサーのバグにより、Qwen3.5のツール呼び出しと推論機能が正常に動作しません
Ad

LM Studioのパーサー問題が推論モデルに影響

LM Studioのサーバーパーサーには、Qwen3.5やDeepSeek-R1などのモデルにおけるツール呼び出しと推論を妨げる複数のバグが含まれています。これらの問題により、実際にはパーサーに問題があるにもかかわらず、モデルが壊れているように見えることがあります。

バグの詳細

1. パーサーが<think>ブロック内でツール呼び出しパターンをスキャンする

推論モデルが<think>ブロック内でツール呼び出し構文について考えているとき、LM Studioのパーサーはその記述を実際のツール呼び出しの試みとして扱います。これにより、モデルがツール呼び出しについて推論し、パーサーが思考内のツール呼び出し形状のトークンを見つけ、解析が失敗し、エラーがモデルにフィードバックされるという再帰的なトラップが発生します。

モデルは文字通りツール呼び出しの問題をデバッグできません。なぜなら、問題を説明することが問題を再現してしまうからです。あるモデルは「ツール呼び出し構文についての私の思考が実際のツール呼出しマーカーとして解釈されるループに陥っています」と明示的に述べましたが、その文自体がパーサーをトリガーしました。

この問題は2025年2月にissue #453として最初に報告され、1年以上経った今も未解決です。

回避策: {%- set enable_thinking = false %}で推論を無効化します。これにより問題が即座に修正され、20回以上の連続したツール呼び出しが成功します。

2. 2つ目のMCPサーバーを登録すると、1つ目のツール呼び出し解析が壊れる

このバグは明確で決定論的です。temperature=0.0のlfm2-24b-a2bでのテスト結果:

  • KGサーバーのみ有効: モデルは正しくsearch_nodesを呼び出し、パーサーは<|tool_call_start|>トークンを認識し、ツールが実行され、結果が返されます。完璧に動作します。
  • webfetchサーバーを追加(呼び出さない場合でも): モデルは<|tool_call_start|>[web_search(...)]<|tool_call_end|>をチャット内の生テキストとして出力します。特殊トークンはもはや認識されず、ツールは実行されません。

2つ目のMCPサーバーを登録するだけで、パーサーが1つ目のサーバーのツール呼び出しを処理する方法が変わります。同じモデル、同じプロンプト、同じターゲットサーバーです。変更された変数は1つだけです。

回避策: 各タスクに必要なMCPサーバーのみを登録します。これはエージェントワークフローには非現実的です。

3. サーバー側のreasoning_content/content分割が、成功を報告する空の応答を生成する

これは、ツール呼び出しを使用しているかどうかに関わらず、API経由で推論モデルを使用するすべての人に影響します。/v1/chat/completions経由でQwen3.5-35b-a3bに推論に使用されるXMLタグをリストアップするよう求める単純なプロンプトを送信すると、サーバーは以下を返しました:

{
  "content": "",
  "reasoning_content": "[3099トークンの詳細な熟考]",
  "finish_reason": "stop"
}

モデルは膨大な作業(3099トークンの推論)を行いましたが、<think>内の熟考ループに捕らわれ、contentフィールドに出力を生成しませんでした。サーバーはfinish_reason: "stop"と空のcontentを返し、成功を報告しました。

これは以下を意味します:

  • finish_reason == "stop"をチェックするすべての評価ハーネスが、空の応答を静かに受け入れる
  • すべてのエージェントフレームワークが空の文字列を下流に伝播する
  • すべてのユーザーが空白の応答を見て、モデルが壊れていると結論付ける
  • 実際の推論はreasoning_contentに閉じ込められており、そのフィールドを明示的にチェックしない限り誰も見ることができない

これはサーバー側の問題であり、UIのバグではありません。生のAPI応答とLM Studioサーバーログを検査することで確認されています。reasoning_content/contentの分割は、応答がクライアントに到達する前に行われます。

Ad

バグの相互作用

これらは独立した問題ではありません。相互作用して、LM Studioにおけるツール呼び出しと推論の体系的な問題を引き起こします。

📖 全文を読む: r/LocalLLaMA

Ad

👀 See Also

VS Code エージェントかんばん:AIコーディングエージェントのためのMarkdownベースのタスク管理
Tools

VS Code エージェントかんばん:AIコーディングエージェントのためのMarkdownベースのタスク管理

VS Code Agent Kanbanは、タスク記録としてマークダウンファイルを使用して、VS Code内にGitOps対応のカンバンボードを作成する拡張機能です。AIコーディングエージェントにおけるコンテキストの劣化に対処し、計画の会話、決定、実装の詳細をバージョン管理された.mdファイルに保存します。

OpenClawRadar
harshal-mcp-proxy がnpmに登場:1つのデーモンで12のMCPサーバー設定を置き換え
Tools

harshal-mcp-proxy がnpmに登場:1つのデーモンで12のMCPサーバー設定を置き換え

harshal-mcp-proxyが54kBのnpmパッケージとして利用可能になりました。グローバルインストールしてデーモンとして実行し、12個の個別MCPサーバー設定を6つのツールに置き換え、セッションあたり約2.7GBのRAMと約50Kトークンを節約できます。

OpenClawRadar
自律的Claudeコードセッション用Discordブリッジ
Tools

自律的Claudeコードセッション用Discordブリッジ

bridge.jsスクリプト(約50行、discord.js v14)は、WebSocketとローカルファイルキューを使用して、DiscordとClaude Codeの間でリアルタイム双方向チャットを実現し、2分間のポーリングをマイクロ秒単位のファイル読み取りに置き換えます。27,000行を一晩かけて分析しテストされました。

OpenClawRadar
ZuckerBot MCPサーバーにより、OpenClawエージェントがMeta広告キャンペーンを実行可能になります
Tools

ZuckerBot MCPサーバーにより、OpenClawエージェントがMeta広告キャンペーンを実行可能になります

ZuckerBotは、OpenClawエージェントにMeta広告を直接制御させるMCPサーバーです。これにより、AIエージェントは出力をドラフトするだけでなく、実際のキャンペーン作業を実行できるようになります。現在、50以上のユニークなエージェントが、競合他社の広告を取得し、ターゲティングを生成し、キャンペーンを開始し、パフォーマンスをコードで調整するために使用しています。

OpenClawRadar