- Дата публикации
Memento: как научить ИИ‑агента помнить ошибки, решения и привычки пользователя
Что открыли
Исследователь под ником Flashy_Test_8927 предложил систему памяти для LLM‑агентов под названием Memento. Она решает конкретную проблему: после окончания сессии агент теряет весь накопленный контекст.
Вместо классического RAG с большими «кусочками» текстов Memento разбивает память на фрагменты длиной 1–3 предложения. Каждый такой фрагмент получает тип из шести категорий:
- факты (Facts)
- решения (Decisions)
- ошибки (Errors)
- предпочтения (Preferences)
- процедуры (Procedures)
- связи и отношения (Relations)
Автор утверждает, что плотность полезной информации при таком фрагментном подходе существенно выше, чем у стандартного RAG по крупным чанкам, хотя формальных метрик пока нет. Система уже работает в личной продакшн‑среде и поддерживает рабочие процессы разработки ПО.
Как исследовали
Memento разработали вокруг идеи «долгой памяти» для LLM‑агентов, которые помогают в программировании. В фокусе — не академический датасет, а реальное использование в повседневных задачах инженера.
Ключевые элементы архитектуры:
- таксономия из 6 типов фрагментов памяти
- модель забывания, вдохновлённая кривой забывания Эббингауза: у разных типов фрагментов разные скорости «старения»
- трёхуровневый стек поиска:
- Redis как быстрый первый слой
- PostgreSQL GIN‑индексы для текстового поиска
- pgvector с HNSW‑поиском по эмбеддингам
- объединение результатов через RRF (Reciprocal Rank Fusion)
Важная деталь — асинхронный конвейер: генерация эмбеддингов и поиск противоречий между фрагментами не блокируют основную работу агента. Проще говоря, помощник продолжает писать код, пока его память «индексируется на фоне».
Сейчас оценка качества памяти — в основном качественная. Автор планирует формализовать бенчмарки и оформить работу как статью по cs.AI на arXiv, для чего и ищет эндорсмент.
Что это меняет на практике
Для практических LLM‑агентов здесь два важных эффекта.
Первый: более чистая и точная память. Вместо длинных суммаризаций, где теряются детали, агент получает маленькие, типизированные фрагменты: конкретное решение, явную ошибку, явное предпочтение пользователя. Это снижает шум от не относящихся к делу кусков текста.
Второй: контролируемое забывание. Не все части прошлого опыта одинаково важны. Информация о разовой ошибке в дебаге старого сервиса может «стареть» быстрее, чем привычки пользователя по стилю кода. Memento закладывает разные скорости забывания для разных типов фрагментов.
Система уже крутится в реальной среде разработки, а не в синтетическом тесте, так что архитектура хотя бы выдержала боевое использование одним инженером. Но до массовых продуктов ей ещё далеко: нет общепринятого датасета и формального сравнения с классическими RAG‑решениями.
Что это значит для вас
Если вы уже пользуетесь GPT‑4, Claude 3 или подобными моделями как личным ассистентом, знакомая боль — потеря контекста между сессиями. Агент забывает, как вы предпочитаете комментировать код, какие линтеры любите, какие решения уже пробовали и что сломалось.
Подход Memento показывает рабочую траекторию развития персональных ИИ‑помощников:
- память разбита на мелкие смысловые фрагменты, а не на безликие чанки по 2 000 символов
- у агента есть чёткое понятие «предпочтений» и «ошибок», а не только «вот большой лог, вдруг пригодится»
- инфраструктура для памяти может жить рядом с вашим рабочим стеком: Redis, PostgreSQL, pgvector уже стоят у многих команд
Если вы разрабатываете собственных LLM‑агентов, Memento можно посмотреть как референс‑архитектуру: типы фрагментов, трёхуровневый поиск, асинхронная обработка. Код доступен на GitHub: https://github.com/JinHo-von-Choi/memento-mcp.
Если вы просто пользуетесь ИИ‑ассистентами, это сигнал, куда движется рынок: от одноразовых сессий к агентах, которые помнят ваши решения, предпочитаемый стек и прошлые ошибки. Когда это придёт в массовые продукты вроде IDE‑плагинов и «умных» чатов, вопрос уже не «запомнит ли помощник», а «как именно он хранит и забывает ваши данные».