Проблема: LLM как золотая рыбка с амнезией
Вы когда-нибудь объясняли свою задачу GPT-5o (или даже локальной Llama 4 70B), а через три сообщения она спрашивает: "А о чем мы вообще говорим?" Это бесит. Контекстное окно — не память, а временная записная книжка, которую сжигают после каждого сеанса.
На 24.03.2026 проблема забывчивости LLM все еще актуальна, несмотря на все улучшения архитектуры. RAG — это костыль для поиска по документам, а не для запоминания разговора. Нужно что-то более элегантное.
Вот тут появляется NGT Memory. Не очередной коммерческий сервис в стиле Mem0, а открытый движок с Docker-контейнером и REST API. Разработчики заявляют три механизма извлечения памяти: по косинусному сходству, через ассоциативный граф Хебба и по контекстному окну. Звучит как академический проект, который внезапно оказался полезным.
Что внутри? Три мозга вместо одного
NGT Memory не просто векторная база. Это гибридная система, которая пытается имитировать разные типы человеческой памяти. И да, это работает лучше, чем кажется.
| Механизм | Как работает | Когда использовать |
|---|---|---|
| Косинусное сходство | Ищет похожие эмбеддинги. Стандартный подход, как в RAG, но для памяти диалога. | Когда нужно найти факты или прямые цитаты из прошлых разговоров. |
| Ассоциативный граф Хебба | Строит связи между концепциями. "Кофе" связывается с "утром", "работами", "бодростью". | Для творческих задач, мозговых штурмов, когда важны неочевидные связи. |
| Контекстное окно | Извлекает память, которая была активна в последние N сообщений. Как кратковременная память. | Для поддержания связности в длинных диалогах, чтобы LLM не теряла нить. |
В теории это похоже на интерпретируемую память из MemoryLLM, но здесь все упаковано в готовый сервис. Не надо разбираться в трансформерах — просто отправляешь HTTP-запросы.
Ставим за 5 минут. Серьезно, это быстро
Разработчики сделали установку идиотски простой. Если у вас есть Docker, вы уже на полпути.
1Тянем образ и запускаем
docker pull ghcr.io/ngt-memory/ngt-memory:1.3.0
docker run -d -p 8000:8000 \
-v ngt_memory_data:/app/data \
ghcr.io/ngt-memory/ngt-memory:1.3.0Порт 8000, данные в volume. Все. REST API сразу доступен. Если хотите поменять модель эмбеддингов или параметры — есть environment variables. Документация довольно скудная, но основные параметры понятны.
Внимание на ресурсы: NGT Memory сам по себе легкий, но если вы используете локальные эмбеддинг-модели (а не удаленный API), ему потребуется оперативка. Для BGE-M3 нужно около 2.5 ГБ. Учитывайте это, если крутите всё на домашнем сервере с 10 ГБ VRAM или на ноутбуке с 16 ГБ ОЗУ. Лучше выделить отдетельную машину.
2Пишем первый клиент
API RESTful. Для примера — Python с requests. Сохраняем память о пользователе.
import requests
import json
BASE_URL = "http://localhost:8000"
# Сохраняем факт
memory_data = {
"text": "Пользователь Алексей любит кофе без сахара и работает удаленно с 2024 года.",
"metadata": {"user_id": "alexey", "category": "preferences"}
}
response = requests.post(f"{BASE_URL}/memory", json=memory_data)
print(response.json()) # {"id": "mem_123", "status": "saved"}
# Извлекаем память по ассоциации
query = {"text": "Что любит Алексей?", "method": "hebbian", "limit": 3}
response = requests.get(f"{BASE_URL}/memory/search", params=query)
memories = response.json()
for mem in memories:
print(mem['text'], mem['score'])Вот и все. Метод "hebbian" задействует ассоциативный граф. Если отправить "cosine" — получишь стандартный семантический поиск. "context" вернет последние релевантные воспоминания в рамках сессии.
А что, если...? Сравниваем с конкурентами
Mem0 — круто, но платно и закрыто. Mengram позиционируется как open-source замена Mem0 с тремя типами памяти. Так чем NGT Memory лучше или хуже?
| Инструмент | Цена | Гибкость | Сложность | Фишка |
|---|---|---|---|---|
| NGT Memory | Бесплатно (MIT) | Высокая. API, три метода, свои эмбеддеры. | Средняя. Нужно настраивать Docker и клиент. | Граф Хебба для ассоциаций. Академический подход. |
| Mengram | Бесплатно (Apache 2.0) | Средняя. Готовые интеграции с популярными фреймворками. | Низкая. Запустил и почти ничего не надо делать. | Три готовых типа памяти из коробки. Прагматично. |
| Mem0 | Платно (от $20/мес) | Низкая. Облачный сервис с ограниченным API. | Очень низкая. Регистрация, ключ API, всё работает. | Облачная инфраструктура, не надо ничего хостить. |
Выбор прост: если вам нужен полный контроль и вы готовы повозиться — NGT Memory. Если хотите быстрое решение без головной боли — Mengram. Если деньги не проблема и нужен сервис под ключ — Mem0.
Кстати, о полном контроле: NGT Memory позволяет кастомизировать граф Хебба, менять пороги сходства, настраивать время жизни памяти. В обзоре систем долговременной памяти такой гибкости почти нет ни у кого.
Живые примеры: не только для чат-ботов
Первый сценарий — умный ассистент, который помнит ваш рабочий процесс. Вы объясняете, что используете Python, FastAPI и Docker. Через неделю спрашиваете: "Как настроить health-check?" и получаете ответ с учетом вашего стека, а не общую инструкцию.
Второй сценарий — аналитика дискуссий. NGT Memory можно поставить между пользователями и LLM в корпоративном чате. Система будет строить ассоциативный граф по обсуждениям, выявлять ключевые темы и даже находить противоречия в требованиях.
Третий — геймификация обучения. Представьте систему, похожую на Vestige с алгоритмом FSRS, но для запоминания не фактов, а контекста. LLM учится, когда напоминать вам о ваших же идеях.
Кому это нужно? (Спойлер: не всем)
NGT Memory — инструмент для энтузиастов и инженеров, которые строят сложные LLM-приложения. Если вы просто хотите, чтобы ChatGPT помнил ваши предпочтения, это не ваш выбор.
- Разработчики кастомных AI-ассистентов: Которые устали от велосипедов с Redis и FAISS. Берите, настраивайте, экономьте месяц работы.
- Исследователи: Хотите экспериментировать с ассоциативной памятью? Граф Хебба — ваша песочница. Только будьте готовы к неочевидным результатам (иногда он выдает дикие связи).
- Команды с ограниченным бюджетом: Не хотите платить за Mem0 или не доверяете облачным API? Open-source решает.
А вот если вы запускаете LLM-IDS/IPS на DGX Spark или огромные LLM на CPU, NGT Memory может стать легковесным компонентом для хранения контекста атак или сессий.
Главный совет: перед внедрением проверьте, как работает граф Хебба на ваших данных. Иногда он генерирует гениальные инсайты, а иногда связывает "кофе" с "апокалипсисом" только потому, что оба слова встречались в одном саркастическом комментарии. Настройте пороги внимательно.
И последнее: на 24.03.2026 NGT Memory еще не достиг версии 2.0. Это значит, что API может меняться. Держите свои клиенты в версионированных контейнерах и следите за релизами. Сообщество растет, и, возможно, через полгода это будет стандарт де-факто для open-source памяти LLM. Или заглохнет. В open-source так всегда.