Ninetails Memory Engine V4.5: Квантование Int8 + Кэш LRU сокращает локальную память MCP до 60 МБ

Движок памяти Ninetails V4.5 решает проблему узкого места в памяти для локальных инструментов MCP (Model Context Protocol), внедряя скалярную квантовую обработку Int8 в сочетании со стратегией вытеснения LRU. Решение позволяет всему процессу движка работать в настольном приложении Tauri, занимая всего 40–60 МБ оперативной памяти.
Проблема с памятью
Стандартное вложение с 1536 измерениями в формате float32 занимает около 6144 байт (~6 КБ). Хранение 10 000 воспоминаний означает ~60 МБ только для векторов, а для 100 000 воспоминаний — уже ~600 МБ. Для локального инструмента, работающего на SQLite, такое потребление ресурсов неприемлемо.
Техническая реализация
Уровень 1: Скалярная квантовая обработка Int8
Сжатие float32 (4 байта/измерение) до int8 (1 байт/измерение) сокращает объём хранилища до четверти от исходного размера. Реализация вычисляет числовой диапазон каждого измерения, преобразует числа с плавающей запятой в целочисленный диапазон от -128 до 127, а затем выполняет обратную квантовую обработку в float32 при извлечении для расчёта косинусного сходства.
# Квантование: 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)
# Обратная квантовая обработка: int8 → float32 (приближённо)
def dequantize_vector(vector_int8, scale, zero_point):
return (vector_int8.astype(np.float32) - zero_point) * scale
Результат на практике: вектор с 1536 измерениями сокращается с 6144 байт до 1536 байт. С учётом накладных расходов на глобальный масштаб и нулевую точку реальный коэффициент сжатия составляет около 3,8–4,0.
Уровень 2: Стратегия вытеснения LRU
Квантованные векторы хранятся в базе данных SQLite (vector_cache.sqlite) с использованием стратегии наименее недавно использованных (LRU) и жёстким ограничением в 10 000 записей. Часто используемые векторы остаются в оперативной памяти, а устаревшие — вытесняются.
Соображения по точности
Квантование Int8 приводит к потере данных, но допустимо для извлечения памяти, потому что:
- Движок использует гибридный поиск: 70% векторного сходства + 30% BM25. Даже если квантование слегка искажает ранжирование векторов, точное совпадение ключевых слов через BM25 возвращает релевантные воспоминания наверх.
- Для извлечения памяти ИИ достаточно вывести контекст в топ-5 результатов, в отличие от рекомендательных алгоритмов, которым нужна абсолютная точность для первого места.
Пояснение по поводу «TurboQuant»
Движок использует стандартную скалярную квантовую обработку Int8 для хранения векторов в SQLite, а не TurboQuant от Google (ICLR 2026), который представляет собой алгоритм сжатия на 3 бита (PolarQuant + QJL), разработанный для кэша ключ-значение при выводе ИИ на GPU. Брендинг «TurboQuant Compression» в интерфейсе — это дань философии агрессивного сокращения битов.
Полный технологический стек
- Сжатие векторов: Скалярная квантовая обработка Int8 (~4x реальное сжатие)
- Управление кэшем: SQLite + стратегия вытеснения LRU (ограничение: 10 000 записей)
- Поисковая система: Гибридная: 70% векторного сходства + 30% BM25
- Менеджер профилей: Автоматическое извлечение фактов STATIC/DYNAMIC
- Извлечение фактов: Фоновые асинхронные вызовы ИИ через
asyncio.to_thread - Хранение данных: 3 базы данных SQLite (100% локально)
- Настольное приложение: Tauri + Vue 3 + PyInstaller sidecar
Движок имеет открытый исходный код под лицензией MIT на GitHub: sunhonghua1/ninetails-memory-engine.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Tokenmeter: Бесплатное приложение для Windows для офлайн-отслеживания использования токенов Claude Code
Tokenmeter — это бесплатное приложение с открытым исходным кодом для Windows, которое читает локальные файлы .jsonl от Claude Code, показывая использование токенов, расчетные затраты, экономию кэша и тепловую карту активности за 90 дней — полностью офлайн.

Пять плагинов OpenClaw, решающих ключевые проблемы производства.
Пользователь Reddit выделил пять плагинов OpenClaw, решающих распространённые проблемы в продакшене: Manifest для маршрутизации моделей, Composio для управления интеграциями, Hyperspell для памяти, Foundry для автоматизации рабочих процессов и Opik для трассировки.

x402 API Gateway для OpenClaw Bots: Один конечный пункт заменяет 18 ключей API
Шлюз API x402 устраняет необходимость в нескольких API-ключах для ботов OpenClaw, предоставляя доступ к 18 сервисам, включая интеллектуальную маршрутизацию LLM, веб-поиск, карты, путешествия, еду, ИИ и финансовые данные, через единую конечную точку с аутентификацией через кредиты кошелька USDC.

Обновление V6rge AI Suite добавляет поддержку графических процессоров NVIDIA и бета-версию агента для написания кода.
V6rge AI Suite выпустил обновление, которое устраняет проблемы с обнаружением GPU, добавляет полную поддержку GPU NVIDIA для повышения производительности и представляет нового бета-агента для написания кода, который генерирует и помогает с кодом прямо внутри приложения.