Post #415
33
Forwarded from Dealer.AI
Mem-agent еще одна концепция памяти 🧠
В своих постах про память, а также выступлении на datafest я обозревал самые популярные подходы к созданию памяти: long context, саммаризация, ner, function calling и rag. Однако мельком, буквально на слайдике одним пунктиком я упоминал про агентный подход для памяти. И обещал, что, как-нибудь, мы еще об этом поговорим.
После релиза manus и их восхитительного поста про то как они используют память на файлах и incontext learning, вышла еще одна интересная работа - MemAgent. И самое интересное, что у нее много общего и с решением Manus и с нашим подходом.
В центре всего стоит взаимодействие их small-LM на базе Qwen3-4b-thinking (т.е. рассуждающая моделька с CoT, SO, и т.п.). Кстати, модель обучена уже с GSPO против GRPO, но об этом в следующий раз. Вернёмся к малышке модельке, такой типоразмер, а главное способ обучения, и поддержка long-context позволяет нам не использовать RAG механики. Ввиду своей скорости, агент на такой модели может быстро серфить по их файловой системе памяти, основанной на двусторонней связи .md файлов по типу obsidian. Если мы вспомним мой рассказ про Manus, там тоже агенты пишут флоу/чекпоинты действий в "локальный" буфер в виде to-do файла. Это же, по словам авторов, позволяет не прибегать к сложному RAG подходу (векторным БД и т.п.), хотя использует поиск по ключевым словам. Да и я думаю, что rag механики только бы усилили этот сетап. Сейчас все-таки мода на гибридизацию памяти.
🗂️ Организация памяти
Mem-Agent использует иерархическую структуру хранения данных в формате Markdown:
· user.md: центральный файл с информацией о пользователе, содержащий ссылки на связанные сущности.
· entities/: каталог с дополнительными файлами, описывающими различные сущности (люди, организации, проекты).
Пример содержимого user.md:
Тут прям key/value подход как у нас.
🔗 Система связей
Mem-Agent реализует двунаправленные связи между файлами по аналогии с Obsidian, что позволяет агенту эффективно навигировать по данным и формировать контекстуально обогащенные ответы.
💻 MCP-сервер для интеграции.
Важно, стоит отметить, что данное решение только для работы с глобальной памятью. Поэтому это именно MemAgent, и для работы с ним даже есть свой MCP, чтобы можно было агрегировать в проекте любые доступные LLM-api и иметь локальную систему памяти на файлах.
В состав проекта входит MCP-сервер, который обеспечивает seamless-интеграцию с популярными платформами:
· Claude Desktop
· LM Studio
· ChatGPT
Это позволяет использовать Mem-Agent в качестве единого центра памяти для различных ИИ-помощников без необходимости переключения между платформами.
Итого на выходе получаем легкого агента для заполнения, и чтения/навигации по памяти. С возможностью работать с поиском, вызовом функций, MCP протоколом и интеграцией с популярными LLM api.
В своих постах про память, а также выступлении на datafest я обозревал самые популярные подходы к созданию памяти: long context, саммаризация, ner, function calling и rag. Однако мельком, буквально на слайдике одним пунктиком я упоминал про агентный подход для памяти. И обещал, что, как-нибудь, мы еще об этом поговорим.
После релиза manus и их восхитительного поста про то как они используют память на файлах и incontext learning, вышла еще одна интересная работа - MemAgent. И самое интересное, что у нее много общего и с решением Manus и с нашим подходом.
В центре всего стоит взаимодействие их small-LM на базе Qwen3-4b-thinking (т.е. рассуждающая моделька с CoT, SO, и т.п.). Кстати, модель обучена уже с GSPO против GRPO, но об этом в следующий раз. Вернёмся к малышке модельке, такой типоразмер, а главное способ обучения, и поддержка long-context позволяет нам не использовать RAG механики. Ввиду своей скорости, агент на такой модели может быстро серфить по их файловой системе памяти, основанной на двусторонней связи .md файлов по типу obsidian. Если мы вспомним мой рассказ про Manus, там тоже агенты пишут флоу/чекпоинты действий в "локальный" буфер в виде to-do файла. Это же, по словам авторов, позволяет не прибегать к сложному RAG подходу (векторным БД и т.п.), хотя использует поиск по ключевым словам. Да и я думаю, что rag механики только бы усилили этот сетап. Сейчас все-таки мода на гибридизацию памяти.
🗂️ Организация памяти
Mem-Agent использует иерархическую структуру хранения данных в формате Markdown:
memory/
├── user.md
└── entities/
└── [entity_name_1].md
└── [entity_name_2].md
└── …· user.md: центральный файл с информацией о пользователе, содержащий ссылки на связанные сущности.
· entities/: каталог с дополнительными файлами, описывающими различные сущности (люди, организации, проекты).
Пример содержимого user.md:
# User Information
- user_name: Atakan Tekparmak
- birth_date: 2001-09-27
- birth_location: Istanbul, Turkey
## User Relationships
- employer: [[entities/dria.md]]Тут прям key/value подход как у нас.
🔗 Система связей
Mem-Agent реализует двунаправленные связи между файлами по аналогии с Obsidian, что позволяет агенту эффективно навигировать по данным и формировать контекстуально обогащенные ответы.
💻 MCP-сервер для интеграции.
Важно, стоит отметить, что данное решение только для работы с глобальной памятью. Поэтому это именно MemAgent, и для работы с ним даже есть свой MCP, чтобы можно было агрегировать в проекте любые доступные LLM-api и иметь локальную систему памяти на файлах.
В состав проекта входит MCP-сервер, который обеспечивает seamless-интеграцию с популярными платформами:
· Claude Desktop
· LM Studio
· ChatGPT
Это позволяет использовать Mem-Agent в качестве единого центра памяти для различных ИИ-помощников без необходимости переключения между платформами.
Итого на выходе получаем легкого агента для заполнения, и чтения/навигации по памяти. С возможностью работать с поиском, вызовом функций, MCP протоколом и интеграцией с популярными LLM api.







