"🔧 Агентская память : реализации Давайте поговорим как все устроено в этой агентской памяти. Запоминать и извлекать сведения определённо можно совершенно по-разному. Принципиальные варианты реализации: - 👈 контекст сохраняет/извлекает система ИИ агента - ""обвязка"" модели, не сама модель; - 👉 агент ""самостоятельно"" рулит сохранением/извлечением информации из памяти Посмотрим - какие готовые механизмы памяти есть в существующих ИИ системах. 1️⃣ Модули памяти общего профиля для чатов До всего движения с агентами мы работали с LLM в чатах. Для чатов и были сделаны первые варианты ""памяти"". Сведения были довольно простые: блокнотик с фактами о пользователе. Механизм сохранения: тулюз инструмента записи в память. Механизм извлечения: помещаем ""блокнотик"" в системпромпт. С ростом количества чатов встала необходимость ""возвращаться"" к обсуждавшимся в прошлых чатах вопросам. Реализацию такой фичи сделали на уже отработанной технологии RAG, всё несложно: ⊖ все чаты чанкаем, чанки контекстно обогащаем, делаем саммари чатов - и генерим эмбеддинги всего этого богатства ⊖ эмбеддинги укладываем в любую базу с векторным поиском расстояний - нынче это может быть даже Postgres/SQLite, но классикой будет Chroma/Qdrant/FAISS и товарищи ⊖ эмбеддингами обрабатываем запрос пользователя ⊖ ищем вектором похожее на эмбеддинг запроса пользователя в векторной базе, а классическим BM25 - по ключевым словам ⊖ итоги реранкаем быстрой моделью и отдаём в контекст модели ⊖ модель формирует ответ пользователю У chatgpt не все чаты сохранены, а только ""полезная"" на взгляд какой то модели выжимка - https://help.openai.com/en/articles/8590148-memory-faq Что то в этом духе работает сейчас у антропиков. https://support.anthropic.com/en/articles/10185728-understanding-claude-s-personalization-features#h_4afb5dcf4b Известны сторонние реализации: mem0, zep - они, конечно, предлагают дополнительные фичи. ▶️ zep (https://getzep.com/) Интересно, что продукт называется Agent Memory (https://www.getzep.com/product/agent-memory/ ), но его фичи ясно указывают что это память скорее для чат бота, причём с поддержкой специфических бизнес-данных. Штука работает на их же open source проекте Graphiti (https://www.getzep.com/product/open-source/), предлагает RAG на графовой базе (neo4j) + специальную поддержку темпоральных тэгов. То есть поиск учитывает временной аспект, и если пользователь летом любил кроссовки адидас, а осенью полюбил кроссовки puma, то поиск вернёт разные данные в зависимости от указанного временного периода. Есть возможность подключения сервиса через MCP сервер. ▶️ mem0 (https://mem0.ai/) Продукт также очень похож на zep, тоже скорее предназначен для чатботов, с сохранением фактов и поиском по перепискам. Тоже есть MCP сервер, всё как полагается (https://mem0.ai/openmemory-mcp). Фичи для такого класса продуктов стандартные - https://docs.mem0.ai/platform/features/platform-overview Эмбеддинги, гибридный поиск, реранкинг, фильтры, граф. #post @deksden_notes"