Bugs no analisador do LM Studio quebram a chamada de ferramentas e o raciocínio do Qwen3.5

Problemas do analisador do LM Studio afetando modelos de raciocínio
O analisador do servidor do LM Studio contém múltiplos bugs que interferem na chamada de ferramentas e no raciocínio em modelos como Qwen3.5 e DeepSeek-R1. Esses problemas podem fazer os modelos parecerem quebrados quando o problema está realmente no analisador.
Os bugs
1. O analisador procura padrões de chamada de ferramentas dentro dos blocos <think>
Quando modelos de raciocínio pensam sobre a sintaxe de chamada de ferramentas dentro de seus blocos <think>, o analisador do LM Studio trata essas menções em prosa como tentativas reais de chamada de ferramentas. Isso cria uma armadilha recursiva onde o modelo raciocina sobre chamadas de ferramentas, o analisador encontra tokens com formato de chamada de ferramentas no pensamento, a análise falha, o erro é alimentado de volta ao modelo e o ciclo se repete.
O modelo literalmente não consegue depurar um problema de chamada de ferramentas porque descrever o problema o reproduz. Um modelo disse explicitamente "Estou preso em um loop onde meus pensamentos sobre a sintaxe de chamada de ferramentas estão sendo interpretados como marcadores reais de chamada de ferramentas" — e essa própria frase acionou o analisador.
Isso foi relatado pela primeira vez como issue #453 em fevereiro de 2025 e permanece aberto mais de um ano depois.
Solução alternativa: Desative o raciocínio com {%- set enable_thinking = false %}. Isso corrige instantaneamente o problema, permitindo que 20+ chamadas de ferramentas consecutivas tenham sucesso.
2. Registrar um segundo servidor MCP quebra a análise de chamada de ferramentas do primeiro
Este bug é limpo e determinístico. Testes com lfm2-24b-a2b em temperatura=0.0 mostram:
- Apenas servidor KG ativo: O modelo chama corretamente
search_nodes, o analisador reconhece tokens<|tool_call_start|>, a ferramenta é executada, resultados retornados. Funciona perfeitamente. - Adicione servidor webfetch (nem mesmo o chame): O modelo emite
<|tool_call_start|>[web_search(...)]<|tool_call_end|>como texto bruto no chat. Os tokens especiais não são mais reconhecidos. A ferramenta nunca é executada.
A mera inscrição de um segundo servidor MCP — sem chamá-lo — muda como o analisador lida com as chamadas de ferramentas do primeiro servidor. Mesmo modelo, mesmo prompt, mesmo servidor alvo. Apenas uma variável mudou.
Solução alternativa: Registre apenas o servidor MCP que você precisa para cada tarefa. Isso é impraticável para fluxos de trabalho agentivos.
3. A divisão reasoning_content/content do lado do servidor produz respostas vazias que relatam sucesso
Isso afeta todos que usam modelos de raciocínio via API, usando ou não chamada de ferramentas. Ao enviar um prompt simples para Qwen3.5-35b-a3b via /v1/chat/completions pedindo para listar tags XML usadas para raciocínio, o servidor retornou:
{
"content": "",
"reasoning_content": "[3099 tokens de deliberação detalhada]",
"finish_reason": "stop"
}
O modelo fez um trabalho extenso — 3099 tokens de raciocínio — mas ficou preso em um loop de deliberação dentro de <think> e nunca produziu saída no campo content. O servidor retornou finish_reason: "stop" com conteúdo vazio, relatando sucesso.
Isso significa:
- Toda suíte de avaliação verificando
finish_reason == "stop"aceita silenciosamente respostas vazias - Toda estrutura agentiva propaga strings vazias para o próximo passo
- Todo usuário vê uma resposta em branco e conclui que o modelo está quebrado
- O raciocínio real está preso em
reasoning_content— o modelo fez trabalho real que ninguém vê a menos que verifique explicitamente esse campo
Isso é do lado do servidor, não um bug de UI, confirmado pela inspeção da resposta bruta da API e do log do servidor do LM Studio. A divisão reasoning_content/content acontece antes que a resposta alcance qualquer cliente.
Interação dos bugs
Esses não são problemas independentes. Eles interagem para criar problemas sistêmicos com chamada de ferramentas e raciocínio no LM Studio.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Browser39: Um Navegador Web Headless para Agentes de IA
Browser39 é um navegador web headless projetado especificamente para agentes de IA que converte páginas da web em Markdown otimizado para tokens localmente, executa JavaScript, gerencia cookies e sessões, consulta o DOM e preenche formulários. É um único binário sem necessidade de navegador externo, sem taxas e sem serviço externo.

Godogen: Habilidades de Código Claude para Geração Completa de Jogos Godot
Godogen é um pipeline de código aberto que utiliza as habilidades do Claude Code para gerar projetos completos e jogáveis do Godot 4 a partir de prompts de texto. Ele lida com o design de arquitetura, geração de assets 2D/3D, escrita de GDScript e testes visuais de QA, abordando gargalos de engenharia específicos como a escassez de dados de treinamento para GDScript e problemas de estado em tempo de compilação versus tempo de execução.

PeaDB: Banco de Dados Compatível com Redis Codificado com Assistência de IA em C++20
Um desenvolvedor criou o PeaDB, uma substituição direta do Redis 7.2.5 escrita em C++20 usando Codex, Copilot e Claude, implementando cerca de 147 comandos com persistência, replicação e suporte a cluster. Os benchmarks mostram desempenho próximo ao do Redis.

Reddit MCP Personalizado para Claude Desktop/Código Compartilhado no GitHub
Um desenvolvedor lançou um MCP do Reddit personalizado projetado para Claude Desktop e Claude Code para integrar a pesquisa do Reddit diretamente no fluxo de trabalho. A ferramenta está documentada no GitHub e disponível para uso gratuito.