Обзор
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.onnx | 13 КБ | TF-IDF + LogisticRegression | Классификация типа запроса (query/research/brainstorm/debugging) для Q-Learning роутера |
ranking_model.onnx | 23 КБ | 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Дальнейшее чтение
- Быстрый старт — установка и первые шаги
- CLI — команды интерфейса командной строки
- MCP-инструменты — интеграция с Claude Desktop и Cursor
- Конфигурация — настройка через TOML и переменные окружения
- Гибридный поиск — как работает поиск
- Q-Learning роутер — адаптивная маршрутизация
- Консолидация — дедупликация и объединение памяти
- Trainer — самообучение и экспорт моделей
Документация также доступна на GitHub Pages.