LLM не помнят ничего между сессиями. Каждый новый разговор — чистый лист, даже если вы уже объясняли контекст двадцать раз. Mnemo — open-source sidecar-сервис на Rust — решает именно эту проблему: принимает текст через REST API, извлекает именованные сущности и связи с помощью вашего же LLM, строит персистентный граф знаний в SQLite и автоматически инжектирует релевантный контекст в следующие промпты. Всё это — на вашем железе, без облака, в одном статическом бинарнике.
Контекст
Проблема памяти у LLM — не академическая. Любой, кто строит агентов, чат-ботов или ассистентов, упирается в неё практически сразу: контекстное окно конечно, между сессиями оно сбрасывается, а хранить историю «в лоб» — это либо дорого (токены), либо медленно (поиск по сырому тексту). Существующие решения — LangChain Memory, MemGPT, Zep — либо требуют облака, либо жёстко привязаны к конкретному фреймворку.
Mnemo выбирает другой путь: sidecar без зависимостей. Вы кормите его текстом через POST /ingest, он сам делает извлечение сущностей через ваш LLM-провайдер (Ollama, OpenAI, Anthropic или любой OpenAI-compatible endpoint), дедуплицирует их по имени и типу, сливает алиасы и пишет всё в SQLite. В памяти живёт граф на базе библиотеки petgraph — обновляется атомарно.
Извлечение контекста — POST /retrieve — проходит шесть стадий: полнотекстовый поиск по чанкам → поиск по именам сущностей → расширение по графу (BFS с настраиваемой глубиной) → фильтрация связей → скоринг и ранжирование → сборка строки context_prompt. Вы вставляете её в system prompt — и модель «знает» всё, что было раньше.
Аналитика
Mnemo — симптом более широкого сдвига: разработчики устали от вендор-локина в memory-слое. Облачные решения удобны, но создают зависимость, задержки и юридические риски (особенно для B2B-продуктов в регулируемых отраслях или юрисдикциях с жёсткими требованиями к локализации данных — как Цифровой кодекс КР). Локальный граф в SQLite — это контроль: данные не уходят за пределы сервера, latency предсказуема, стоимость масштабирования линейна.
Техническое решение через граф знаний, а не просто vector store — принципиально. Векторный поиск хорош для семантической близости, но плохо работает с отношениями: «Алиса — коллега Бориса, который работает в команде, которая использует инструмент X». BFS по графу с настраиваемой глубиной даёт именно такие многошаговые выводы. При этом 50 мс на retrieval в debug-сборке на Apple M2 — цифра рабочая даже для синхронных API.
Показательно и то, что проект сразу поставляется с Python SDK, CLI и Docker Compose. Это не proof-of-concept — это инструмент, рассчитанный на встройку в реальные стеки. 122 Rust-теста и 21 Python-тест при публикации — тоже сигнал серьёзности. Для open-source memory-слоя, где конкуренты часто выходят с «посмотрите на мой скрипт», это выгодно отличает проект.
Кейсы применения в бизнесе
B2B-SaaS стартап с AI-ассистентом. Вы строите продукт, где пользователь общается с AI-агентом — поддержка, онбординг, консультирование. Без памяти агент каждый раз спрашивает «расскажите о вашем бизнесе». Mnemo разворачивается как sidecar рядом с вашим FastAPI-бэкендом: каждый turn диалога идёт в /ingest, перед ответом — /retrieve. Граф накапливает профиль клиента: роль, стек, болевые точки. Через пять сессий агент уже знает контекст без переспросов. Внедрение — один-два дня, без изменения основного кода.
Корпорация с legacy и внутренним ботом. Внутренний Telegram-бот для HR или IT-поддержки обрабатывает повторяющиеся запросы. Проблема — каждый сотрудник объясняет свою ситуацию заново. Mnemo с Ollama (полностью локально, данные не выходят за контур корпоративной сети) строит граф: сотрудник → отдел → тикеты → решения. Следующий запрос от того же человека получает персонализированный ответ без повторного сбора контекста.
SMB и локальный бизнес в КР/СНГ. Небольшая команда использует AI-инструменты, но не может платить за облачные memory-сервисы и беспокоится о конфиденциальности клиентских данных. Mnemo + Ollama на дешёвом VPS (или даже на офисном компьютере) — это бесплатная персистентная память для любого LLM-воркфлоу. Скрипт на Python SDK в пять строк сохраняет информацию о клиенте после каждого звонка.
Кейсы в личной жизни
Разработчик, который ведёт несколько проектов. Вы переключаетесь между репозиториями — Claude не знает, что вы делали вчера. Mnemo-CLI в терминале: mnemo ingest "работаю над auth-модулем в vecdb, проблема с lifetime в Rust" — и завтра контекст инжектируется автоматически. Больше не нужно объяснять проект с нуля каждой сессии.
Контент-мейкер и исследователь. Вы собираете материал для серии статей или видео из десятков источников. Каждый прочитанный текст — в /ingest. При написании следующего материала /retrieve вытаскивает связанные факты, имена, цитаты из вашего личного графа знаний. Это персональная Wikipedia по вашей теме, которую строите вы сами.
Студент или фрилансер. Долгосрочный проект или курс — много разных сессий с AI. Mnemo сохраняет прогресс: что уже разобрали, какие концепции усвоены, где были затруднения. AI-тьютор с памятью — это принципиально другой инструмент обучения, чем чат без контекста.
Как применить сегодня
- Быстрый старт за 10 минут:
git cloneрепозитория,docker compose up -d— и Mnemo с Ollama работает локально. Проверить черезcurl :8080/health. - Python SDK:
pip install mnemo-sdkи три строки кода —client.ingest("..."), client.get_context("..."). Встраивается в любой существующий Python-агент без переписывания архитектуры. - Интеграция с Claude или OpenAI: выставите
MNEMO_LLM_BASE_URLиMNEMO_LLM_API_KEY— Mnemo будет использовать ваш провайдер для извлечения сущностей, а инжектировать контекст можно в любой downstream LLM. - CLI для личного use-case:
cargo installдаёт командыmnemo ingest,mnemo search,mnemo entities— достаточно для личного ведения «базы знаний» через терминал. - Настройка retrieval под задачу: параметр
graph_depthв/retrieveрегулирует глубину обхода графа — для плотных графов ставьте 1-2, для разреженных — 3-4.min_confidenceфильтрует шум от слабых связей.