engram

Обзор

Engram — AI-система памяти для агентов

Engram

Engram — система долговременной памяти для AI-агентов. Хранит решения, паттерны и исправления с семантическим поиском, автоматической дедупликацией и самообучением.

Возможности

  • Гибридный поиск — векторный (HNSW cosine) + полнотекстовый (FTS5 BM25)
  • HyDE — LLM генерирует гипотетическое воспоминание, эмбеддинг строится по гипотезе вместо сырого запроса
  • Автоматическая дедупликация — cosine similarity > 0.95 при записи
  • Консолидация — предварительный просмотр → LLM-анализ → применение (объединение/удаление/архивирование)
  • Q-Learning роутер — 4 уровня: стратегия поиска, выбор LLM, контекстуализация, проактивность
  • Три цикла обучения — быстрый (Q-Learning на каждый вызов), средний (trainer ежедневно/еженедельно), глубокий (LoRA fine-tune)
  • Кросс-проектный перенос — поиск в рамках проекта с множителем оценки, инсайты не привязаны к проекту
  • Graceful degradation — каждая API-зависимость имеет локальный фоллбэк
  • MCP интеграция — работает с Claude Desktop, Claude Code, Cursor
  • CLI — полноценный интерфейс командной строки
  • TUI-дашборд — терминальный интерфейс с 5 вкладками и мастером инициализации

Три цикла обучения

Engram использует три уровня адаптации, каждый с разной скоростью и глубиной:

  • Быстрый цикл (Q-Learning) — обновляет Q-таблицу после каждого вызова. Роутер корректирует стратегию поиска, выбор модели и уровень контекстуализации на основе обратной связи. Задержка — миллисекунды.
  • Средний цикл (Trainer) — запускается периодически (ежедневно или еженедельно). Кластеризация воспоминаний, выявление временных паттернов, обучение классификатора и ранжирующей модели. Результаты сохраняются как ONNX-модели.
  • Глубокий цикл (LoRA fine-tune) — дообучение DistilGPT2 на данных пользователя с помощью LoRA-адаптеров. Заменяет API-вызовы для HyDE и рутинных операций локальной генерацией текста.

Обученные модели

Trainer создаёт три ONNX-модели, хранящиеся в ~/.engram/models/:

МодельРазмерАлгоритмНазначение
mode_classifier.onnx13 КБTF-IDF + LogisticRegressionКлассификация типа запроса (query/research/brainstorm/debugging) для Q-Learning роутера
ranking_model.onnx23 КБGradientBoostingПереранжирование результатов поиска по оценке, использованию, давности, длине и тегам
text_generator.onnx~312 МБDistilGPT2 + LoRAЛокальная генерация текста, заменяющая API-вызовы для HyDE и рутинных операций

Первые две модели обучаются при обычном запуске engram train. Генератор текста требует engram train --deep с установленным PyTorch.

Архитектура

Engram использует двухпроцессную модель:

  • Rust-ядро (engram-core) — долгоживущий unix-socket сервер или автономный CLI. Содержит всю бизнес-логику: хранение, поиск, эмбеддинги, роутинг, консолидацию, ONNX-инференс.
  • TypeScript MCP-сервер (@engram/mcp-server) — тонкий транслятор MCP ↔ JSON-RPC. Управляет жизненным циклом Rust-процесса.

Подробнее — в разделе Архитектура.

TUI-дашборд

engram-tui — терминальный дашборд на базе ratatui, подключающийся к engram через unix-сокет и SQLite напрямую.

5 вкладок:

  • Status — состояние базы, сервера и моделей
  • Memories — просмотр, удаление и архивирование воспоминаний
  • Search — гибридный поиск через unix-сокет сервера
  • Q-Learning — состояние Q-таблицы роутера
  • Models — список обученных ONNX-моделей

При первом запуске engram-tui предлагает интерактивный мастер инициализации, аналогичный engram init.

cargo install engram-tui --locked
engram-tui

Дальнейшее чтение

Документация также доступна на GitHub Pages.