MarkTechPost→ оригинал

Mem0 и OpenAI: как собрать универсальный слой долгосрочной памяти для AI-агентов

Вышел подробный туториал по универсальной памяти для AI-агентов на базе Mem0, OpenAI и ChromaDB. В примере система сама извлекает факты из диалогов, сохраняет и

Mem0 и OpenAI: как собрать универсальный слой долгосрочной памяти для AI-агентов
Источник: MarkTechPost. Коллаж: Hamidun News.

У AI-агентов есть старая проблема: они хорошо отвечают в моменте, но быстро забывают всё, что было раньше. В новом практическом разборе показано, как превратить одноразовый чат в систему с постоянной памятью: Mem0 извлекает полезные факты из диалога, OpenAI-модели помогают их структурировать и использовать, а ChromaDB хранит память так, чтобы к ней можно было обращаться по смыслу, а не только по ключевым словам. Базовая сборка предельно прикладная.

Автор ставит mem0ai, openai, rich и chromadb, затем поднимает объект Memory с конфигурацией по умолчанию: в качестве LLM используется gpt-4.1-nano, для эмбеддингов — text-embedding-3-small, а локальным векторным хранилищем выступает ChromaDB. Идея в том, что агент перестаёт таскать за собой весь чат-лог и начинает сохранять только устойчивые факты: профессию пользователя, рабочий стек, предпочтения, текущие проекты, личные детали и другие сведения, которые действительно пригодятся в следующих сессиях.

Для демонстрации используется тестовый профиль Alice. Из нескольких коротких диалогов система автоматически извлекает десяток отдельных воспоминаний: что пользователь работает инженером-разработчиком, любит Python и машинное обучение, предпочитает тёмную тему, использует VS Code, строит RAG-пайплайн для внутренней документации финтех-стартапа, любит хайкинг и проводит время с собакой по кличке Max. Это важный сдвиг: вместо сырого текста в базе появляются атомарные смысловые записи, которые потом можно искать, обновлять и удалять независимо друг от друга.

Следующий шаг — семантический поиск. Туториал показывает, как обычный вопрос вроде «какой IDE пользуется этот пользователь?» превращается в запрос к памяти с ограничением по user_id и возвращает наиболее близкие записи вместе с score.

Поверх этого демонстрируются полноценные CRUD-операции: можно выгрузить весь профиль, взять конкретную запись по ID, поправить её содержимое и сразу проверить результат. В примере одна из записей о RAG-проекте обновляется пометкой confirmed, а позже другая память удаляется вовсе. То есть речь идёт не о красивой обвязке над чат-историей, а об отдельном слое данных, которым можно управлять как нормальной подсистемой.

Самая практичная часть — цикл memory-augmented chat. Перед каждым ответом агент сначала ищет в памяти до пяти релевантных фактов, затем собирает их в system prompt и только после этого вызывает модель gpt-4.1-nano-2025-04-14.

После генерации ответа новая пара user/assistant снова отправляется в Memory, чтобы база продолжала расти. Такой шаблон даёт агенту непрерывный контекст: он помнит, какой стек тебе ближе, над чем ты работаешь и что любишь делать вне работы, но при этом не обязан каждый раз прокидывать в модель весь исторический лог. Отдельно разобраны две вещи, без которых такой подход трудно представить в проде.

Первая — изоляция пользователей. Для второго профиля, Bob, сохраняются свои факты: специализация на computer vision и PyTorch, работа через Jupyter и Vim keybindings. Поисковые запросы для Alice и Bob возвращают разные результаты, подтверждая, что память жёстко ограничена user_id и не смешивает чужие данные.

Вторая — кастомная конфигурация. Memory можно создать через from_config, явно задав модель, temperature, лимит токенов, embedder, имя коллекции ChromaDB и путь к хранилищу. В финале автор также показывает историю памяти с таймстампами и полный список записей, что полезно для аудита и отладки.

Вывод простой: долговременная память для агентов постепенно становится отдельным инфраструктурным слоем, а не бонусной функцией чата. Связка Mem0, OpenAI и ChromaDB даёт понятный минимальный шаблон, с которого можно стартовать локально, а затем заменить векторную базу на Qdrant, Pinecone или Weaviate и встроить память в LangChain, LangGraph или CrewAI. Для команд, которые строят персональных ассистентов, саппорт-ботов или внутренние AI-инструменты, это уже не декоративное улучшение, а способ сделать ответы последовательными, персонализированными и управляемыми между сессиями.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…