Ninetails Memory Engine V4.5: Quantização Int8 + Cache LRU Reduz Memória Local MCP para 60MB

O Ninetails Memory Engine V4.5 aborda o gargalo de memória em ferramentas locais de MCP (Model Context Protocol) implementando quantização escalar Int8 combinada com evicção de cache LRU. A solução mantém todo o processo do mecanismo rodando dentro de um aplicativo desktop Tauri com 40-60MB de RAM.
O Problema de Memória
Um embedding float32 padrão de 1536 dimensões ocupa cerca de 6144 bytes (~6KB). Armazenar 10.000 memórias significa ~60MB apenas para vetores, escalando para ~600MB para 100.000 memórias. Para uma ferramenta local rodando em SQLite, esse consumo de recursos é inaceitável.
Implementação Técnica
Camada 1: Quantização Escalar Int8
Ao comprimir float32 (4 bytes/dim) para int8 (1 byte/dim), o volume de armazenamento é reduzido a um quarto do tamanho original. A implementação calcula o intervalo numérico de cada dimensão, mapeia floats para uma faixa inteira de -128 a 127 e desquantiza de volta para float32 durante a recuperação para similaridade de cosseno.
# Quantizar: float32 → int8
def quantize_vector(vector_fp32, scale, zero_point):
quantized = np.round(vector_fp32 / scale) + zero_point
return np.clip(quantized, -128, 127).astype(np.int8)
# Desquantizar: int8 → float32 (Aproximação)
def dequantize_vector(vector_int8, scale, zero_point):
return (vector_int8.astype(np.float32) - zero_point) * scale
Resultado real: Um vetor de 1536 dimensões cai de 6144 bytes para 1536 bytes. Considerando a sobrecarga de escala global e zero_point, a taxa de compressão real é de cerca de 3,8x - 4,0x.
Camada 2: Evicção de Cache LRU
Vetores quantizados são armazenados em um banco de dados SQLite (vector_cache.sqlite) usando uma estratégia Menos Recentemente Usado com um limite rígido de 10.000 entradas. Vetores de alta frequência permanecem na RAM enquanto os obsoletos são removidos.
Considerações de Precisão
A quantização Int8 é com perdas, mas aceitável para recuperação de memória porque:
- O mecanismo usa busca híbrida: 70% similaridade vetorial + 30% BM25. Mesmo que a quantização distorça levemente a classificação vetorial, a correspondência exata de palavras-chave via BM25 traz as memórias relevantes de volta.
- A recuperação de memória de IA só precisa trazer contexto para os Top-5 resultados, diferentemente de algoritmos de recomendação que precisam de precisão absoluta para a posição #1.
Esclarecimento sobre "TurboQuant"
O mecanismo usa quantização escalar Int8 padrão para armazenamento vetorial em SQLite, não o TurboQuant do Google (ICLR 2026), que é um algoritmo de compressão de 3 bits (PolarQuant + QJL) projetado para KV Cache durante inferência de GPU em LLM. A marcação "TurboQuant Compression" na interface é uma referência à filosofia de redução agressiva de bits.
Stack Tecnológico Completo
- Compressão Vetorial: Quantização Escalar Int8 (~4x compressão real)
- Gerenciamento de Cache: SQLite + Evicção LRU (Limite: 10.000 entradas)
- Mecanismo de Busca: Híbrido: 70% Similaridade Vetorial + 30% BM25
- Gerenciador de Perfil: Extração automática de fatos ESTÁTICOS/DINÂMICOS
- Extração de Fatos:
asyncio.to_threadchamadas LLM assíncronas em segundo plano - Armazenamento de Dados: 3x Bancos de Dados SQLite (100% Local)
- Aplicativo Desktop: Tauri + Vue 3 + sidecar PyInstaller
O mecanismo é de código aberto sob Licença MIT no GitHub: sunhonghua1/ninetails-memory-engine.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Adam CAD Harness Integra com Fusion e Onshape para Edição CAD Agêntica
O harness CAD agêntico da Adam agora é integrado ao Autodesk Fusion e ao PTC Onshape, lendo e editando árvores de recursos via linguagem natural. Instale com comandos de uma linha para macOS/Windows.

Pipeline de código aberto transforma fluxo de trabalho do Claude Code em habilidades reutilizáveis
Um desenvolvedor que usou o Claude Code diariamente por 9 meses disponibilizou em código aberto um pipeline que estrutura o desenvolvimento de funcionalidades com pontos de verificação como documentação funcional, documentação técnica, estimativa de complexidade e verificações de segurança. O pipeline inclui pontos de entrada /new-feature e /bug-fix que orientam a implementação.

Qwen 3.6 27B F16 passa no teste de codificação Pacman, mas quantizações de 8 bits falham — Lições-chave sobre templates e decodificação especulativa MTP
Um usuário cria um clone do Pacman com um único prompt usando Qwen 3.6 27B F16 — duas de três tentativas produzem jogos quase perfeitos. Quants de 8 bits falham completamente. Notas detalhadas sobre ajuste de template de chat e ganhos de velocidade com decodificação especulativa MTP.

Integrando Agentes LLM Locais com ComfyUI para Geração de Lotes de Imagens em Linguagem Natural
Um desenvolvedor compartilha como conectou seu agente OpenClaw local ao ComfyUI, permitindo comandos em linguagem natural para fluxos de trabalho de geração de imagens em lote. A integração usa uma habilidade personalizada do agente que mapeia solicitações em inglês para JSON de fluxo de trabalho do ComfyUI e gerencia a comunicação via API.