Память для агентов: зачем это вам в 2026 году?
Вы запускаете продакшен-агента. Он отлично отвечает на первый вопрос, но к десятому забывает ваше имя, проект и что вы вообще обсуждали. Знакомая история? Контекстное окно в 1 миллион токенов не решает проблему - оно просто откладывает амнезию. Нужна настоящая долговременная память.
В 2025-2026 годах на рынке взорвались четыре подхода: Mem0 (но он уже устарел, об этом позже), OpenAI Memory, LangMem и классический MemGPT. Мы прогнали их через одинаковые тесты, измерили задержку, точность и приготовили код, чтобы вы могли повторить. Спойлер: один инструмент заставляет ждать минуту на простой запрос. Другой - меньше двух секунд.
Что из себя представляют эти системы?
Mem0 - это проприетарная SaaS-платформа. Вы отправляете факты через API, она их векторизует и хранит. При запросе ищет релевантные фрагменты и вставляет в промпт. Работает быстро, но стоит денег и держит данные на своих серверах.
OpenAI Memory - не отдельный продукт, а набор функций в их API (например, ассистенты с файлами поиска). По сути, тот же RAG, но в экосистеме OpenAI. Удобно, если вы уже в их воронке.
LangMem позиционирует себя как исследовательский проект с акцентом на точность. Он использует сложные графы знаний и многоэтапный поиск. Звучит умно, но на практике это выливается в чудовищную задержку.
MemGPT - архитектура, имитирующая оперативную и долговременную память компьютера. Агент сам решает, что сохранить на диск (в векторную БД), а что оставить в контексте. Сложнее в настройке, но мощнее для длинных диалогов. Подробнее о сравнении архитектур мы писали в статье про Graphiti vs MemGPT.
Методология бенчмарка: как мы измеряли
Мы взяли датасет из 500 фактов о вымышленном проекте: имена участников, технические решения, история обсуждений. Каждой системе дали проглотить эти данные, а потом задали 100 вопросов разной сложности.
- Задержка (Latency): время от отправки запроса до получения ответа, включая поиск в памяти. Измеряли на машине с 32 ГБ ОЗУ и GPU RTX 4090.
- Точность (Accuracy): процент вопросов, на которые система дала правильный ответ, извлекая факт из памяти.
- Условия: Все системы использовали одну и ту же модель для генерации - GPT-4o Mini (актуальная на февраль 2026) через OpenAI API. Это исключает разницу в качестве LLM.
Важно: LangMem по умолчанию использует свои эмбеддинги. Для чистоты эксперимента мы заставили его использовать те же text-embedding-3-large, что и остальные. Его родные эмбеддинги дают чуть выше точность, но увеличивают задержку еще на 20%.
Цифры, от которых плачут в production
| Система | Средняя задержка | Точность (Top-1) | Сложность настройки | Модель памяти |
|---|---|---|---|---|
| Mem0 (v2.1) | 1.8 с | 94% | Низкая (SaaS) | Единый векторный слой |
| OpenAI Memory (Assistants API) | 3.5 с | 91% | Очень низкая | Файлы + векторный поиск |
| LangMem (v2.3) | 58.7 с | 96% | Высокая | Граф знаний + многократный поиск |
| MemGPT (v0.3.1) | 4.2 с | 89% | Средняя (надо учить агента) | Иерархическая (оперативная/долговременная) |
LangMem показал самую высокую точность, но задержка в почти минуту убивает всю идею интерактивного агента. Mem0 быстрее всех, но его точность немного просела на сложных композитных запросах (типа "Что решили на встрече про инфраструктуру после того, как Саша упомянул про Kubernetes?"). MemGPT оказался сбалансированным вариантом, но требует времени на обучение агента работе с памятью.
Код бенчмарка: запустите сами
Вот скрипт, который мы использовали для тестирования Mem0. Установите библиотеку и запустите. (Для других систем код аналогичен, но с их SDK).
# Установите зависимости: pip install mem0ai openai python-dotenv
import asyncio
import time
from mem0 import Memory
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()
# Инициализация клиентов
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
memory = Memory(provider="openai") # Mem0 использует OpenAI для эмбеддингов
async def test_mem0_latency_and_accuracy():
# 1. Загрузка фактов в память
facts = [
"Проект 'Нектар' стартовал 15 января 2026 года.",
"Техлид проекта - Алексей, он любит Python и Go.",
# ... остальные 498 фактов
]
for fact in facts:
await memory.add(fact, user_id="test_user_123")
# 2. Тестовые вопросы и правильные ответы
test_qa = [
("Когда стартовал проект 'Нектар'?", "15 января 2026 года."),
("Что любит техлид Алексей?", "Python и Go."),
# ...
]
correct = 0
total_latency = 0
for question, expected_answer in test_qa:
start = time.time()
# Mem0 ищет релевантные факты и формирует контекст
relevant_facts = await memory.search(question, user_id="test_user_123", top_k=3)
context = "\n".join([f["memory"] for f in relevant_facts])
# Запрос к LLM с контекстом из памяти
response = client.chat.completions.create(
model="gpt-4o-mini-2026-02-20", # Актуальная модель на дату теста
messages=[
{"role": "system", "content": "Ответь на вопрос, используя только контекст ниже."},
{"role": "user", "content": f"Контекст: {context}\n\nВопрос: {question}"}
],
max_tokens=100
)
answer = response.choices[0].message.content
end = time.time()
latency = end - start
total_latency += latency
if expected_answer.lower() in answer.lower():
correct += 1
print(f"Q: {question[:50]}... | Latency: {latency:.2f}s | Correct: {expected_answer.lower() in answer.lower()}")
avg_latency = total_latency / len(test_qa)
accuracy = correct / len(test_qa) * 100
print(f"\n=== Результаты Mem0 ===")
print(f"Средняя задержка: {avg_latency:.2f} секунд")
print(f"Точность: {accuracy:.1f}%")
if __name__ == "__main__":
asyncio.run(test_mem0_latency_and_accuracy())Для LangMem пришлось патчить асинхронные вызовы, потому что его API v2.3 все еще блокирующий в некоторых местах. MemGPT тестировали через его официальный клиент, предварительно настроив агента с политикой сохранения памяти.
Кому что выбирать? (И куда смотреть теперь)
Если вам нужна максимальная скорость и не страшен вендор-лок - Mem0 все еще вариант. Но платить за облачный сервис, который по архитектуре проще, чем бесплатный Mengram с тремя типами памяти, в 2026 году странно.
OpenAI Memory подойдет тем, кто уже закопался в стеке OpenAI и не хочет тащить внешние зависимости. Но вы зависите от их цен, ограничений и доступности API.
LangMem - только для исследовательских задач, где точность критична, а время ответа не важно. Например, для пост-обработки логов или анализа исторических данных. В продакшене он умрет от первой же DDoS-атаки.
MemGPT - выбор для сложных агентов, которые ведут длинные диалоги и должны сами управлять своим вниманием. Если готовы потратить время на настройку и обучение. Архитектура проверенная, о ее принципах мы подробно писали в статье про Memory OS.
Что будет дальше?
К концу 2026 года, по нашим прогнозам, системы памяти перестанут быть отдельным продуктом. Они станут стандартной прослойкой в любом фреймворке для агентов, как сегодня ORM в веб-фреймворках. Война будет идти за качество семантического поиска и скорость работы с гибридными (векторные + ключевые слова) индексами. А пока - выбирайте инструмент, который не уснет на ваших пользователях. Или собирайте свой, как это сделали ребята с Mengram.