Guarda de Raciocínio: Detecção de Loop em Nível de Proxy para Inferência Local de LLM

Um desenvolvedor executando Qwen3.6 MoE por trás de um proxy vLLM encontrou um problema comum de confiabilidade: loops de raciocínio descontrolados onde o modelo se repete dentro de um bloco de raciocínio, queimando tokens e travando agentes. A 180+ tokens/seg, mesmo um loop de 20-30 segundos desperdiça tempo de GPU e bloqueia requisições de clientes. Eles construíram uma proteção leve que vive na camada do proxy e aplica verificações determinísticas na saída do stream antes que ela chegue ao cliente.
Arquitetura
Cliente → Proxy → vLLM → Modelo
O proxy intercepta a resposta do stream ao sair do vLLM. Ele não modifica pesos do modelo, chama um segundo LLM, ou usa embeddings ou análise semântica. Todas as verificações são baratas e determinísticas.
O que verifica
- Limites de tokens de raciocínio (configuráveis por nível de esforço)
- Detecção de parágrafos repetidos
- Repetição de n-gramas com janela deslizante
- Impressão digital de frases repetidas
- Detecção fuzzy de padrões de abertura (captura loops como "Na verdade, acho que encontrei…")
- Caminho de recuperação corta-e-continua
Fluxo de recuperação
Quando a proteção é acionada, ela:
- Para o stream upstream
- Captura o raciocínio produzido até o momento
- Reenvia a requisição com esse raciocínio embutido como contexto anterior do assistente
- Desabilita o pensamento para a continuação
- Mescla as estatísticas de uso da fase 1 e fase 2
Como o cache de prefixo do vLLM já está ativo, a continuação é efetivamente perfeita. A fase 2 geralmente retoma com ~50-100ms de TTFT, então o cliente vê o raciocínio fluir diretamente para a resposta final em vez de travar.
Observabilidade
O proxy registra cada acionamento com:
- Se a proteção foi acionada
- Motivo do acionamento
- Limite de tokens usado
- Contagem de tokens de raciocínio
- Uso total mesclado
- Metadados do fim do stream
Resultado
Antes: blocos de raciocínio ocasionais de 2000+ tokens que não levavam a lugar nenhum. Depois: o modelo ainda raciocina quando útil, mas o pensamento descontrolado é cortado e redirecionado para uma resposta. O autor descreve como um "cinto de segurança no nível do proxy para inferência local de LLM".
Sem cirurgia no modelo, sem chamadas extras de LLM — apenas interceptação de stream, contagem de tokens, detecção de loop e um caminho de recuperação limpo. A proteção foi validada de ponta a ponta através do proxy ao vivo contra logs de rastreamento reais.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Camada de Memória Auto-Hospedada para o Claude Roda Gratuitamente na Cloudflare
Um servidor MCP Cloudflare Worker permite que o Claude se lembre e recupere notas por meio de pesquisa semântica usando Workers AI e Vectorize — tudo no nível gratuito.

Dois Meses com o Spec-Kit do GitHub e Claude Code: O Que Funciona, O Que Não Funciona
Um desenvolvedor compartilha notas práticas sobre o uso do kit de desenvolvimento orientado por especificações do GitHub com o Claude Code, abordando o fluxo de trabalho de cinco fases, problemas de deriva, compensações de sobrecarga e dicas de configuração.

Configuração do RouteLLM para Roteamento de Tarefas de IA com Custo-Eficiente
Um usuário do Reddit compartilha uma configuração do Docker Compose que combina o modelo local Qwen3.5:4b da Ollama com o GitHub Copilot via OpenWire, usando o RouteLLM para direcionar tarefas complexas para o GPT-4o enquanto lida com tarefas mais simples localmente.

Garry Tan's gstack: Um Framework de Agente de IA de Código Aberto para Claude Code
O gstack de Garry Tan é uma fábrica de software de código aberto que transforma o Claude Code em uma equipe de engenharia virtual com 13 comandos de barra especializados para planejamento, design, engenharia, revisão, QA e gerenciamento de lançamentos.