Memora: гармоничная память для долгих проектов ИИ-агентов

Microsoft Research опубликовала исследование про Memora, систему памяти, разработанную для долгосрочных ИИ-агентов. Проблема современных LLM-моделей: они не имеют состояния между сессиями. Каждый новый диалог начинается с нуля, и при длинных разговорах модель вынуждена перечитывать всю историю. Когда агент помогает вам вести многомесячный проект, он должен помнить не только последнее решение, но и весь путь к нему, какие идеи отвергались, кто высказывал мнение, какие сроки согласованы. Без этого агент становится всё менее эффективным на больших проектах.
Memora решает проблему, разделяя то, что хранится, от того, как это извлекается. Содержимое памяти остаётся богатым и выразительным (например, шкала времени проекта, многооборотное обсуждение ограничений), а отдельный лёгкий структурный слой отвечает за индексирование и поиск. Каждая запись памяти имеет первичную абстракцию, короткую фразу (6, 8 слов), которая определяет суть, и значение памяти с полным содержимым. Только абстракция индексируется для поиска сходства; само содержимое не извлекается напрямую.
Дополнительно используются якорьки-подсказки (cue anchors), короткие теги, извлекаемые из памяти, которые предоставляют альтернативные пути доступа к той же информации. Например, если пользователь сказал «Дейв и Сара согласились отложить прототип на 1 апреля, пилот на 2 мая, MVP на 30 мая», система создаст первичную абстракцию типа «Обновлена шкала Project Orion, согласовано Дейвом и Сарой» и якорьки типа «Дейв обновление Project Orion» или «График прототипа Project Orion». Это позволяет навигировать к памяти разными путями без жёсткой схемы.
На бенчмарках LoCoMo (диалоги в среднем 600 ходов) и LongMemEval (контексты до 115 000 токенов) Memora показала результаты на уровне state-of-the-art: 86,3% на LoCoMo и 87,4% на LongMemEval, превзойдя RAG, Mem0, Nemori, Zep, LangMem и даже полный контекст. Главное: Memora использует до 98% меньше токенов, чем полный контекст, и хранит примерно вдвое меньше записей памяти, чем Mem0 (344 против 651).
Код Memora опубликован на GitHub, статья представлена на ICML 2026. Microsoft также работает над расширениями: MemLoop (учимся на ошибках памяти), Deferred Memory (отложенное создание памяти) и Group Memory (память для команд и агентов).
Ключевые факты
- Memora разделяет хранение (богатое содержимое) от извлечения (лёгкие абстракции и якорьки), решая конфликт между детализацией и масштабируемостью
- На бенчмарках LoCoMo и LongMemEval Memora достигла state-of-the-art (86,3% и 87,4% точности) и использует до 98% меньше токенов, чем полный контекст
- Каждая память имеет первичную абстракцию (6, 8 слов) для индексирования и cue anchors (якорьки-подсказки) для альтернативного доступа без жёсткой онтологии
- Memora уменьшает фрагментацию: новая информация об одной теме merges в существующую запись вместо создания дубликатов
- Применяется для долгосрочных агентов (многомесячные проекты, исследователи с накапливающимся опытом), перейти от stateless к долгой памяти
Почему это важно
Современные LLM-агенты остаются stateless между сессиями. Они не помнят прошлое и вынуждены перечитывать всю историю при каждом запросе, что становится мучительно неэффективным на долгих проектах. Для масштабирования агентов нужна система памяти, которая одновременно хранит детали (что делалось, кто высказывался, какие сроки) и масштабируется эффективно без затоп- ления контекста. Memora, это первый принципиальный подход, который избегает классического выбора между фрагментацией (потеря целостности) и грубой абстракцией (потеря деталей).
Кому это важно
Разработчикам ИИ-агентов, которые работают на горизонтах в несколько месяцев (проектные коприлоты, исследовательские агенты, ассистенты, накапливающие domain expertise). Компаниям, которые хотят развёртывать агентов в долгосрочных рабочих сценариях вместо однократных запросов. Исследователям памяти в LLM и систем с состоянием.
Как это применить
Memora выпущена как open-source на GitHub (microsoft/Memora). Разработчики могут интегрировать её в свои ИИ-системы через предоставленный API. Система поддерживает политику-управляемый ретривер, который можно использовать с prompt-инструкциями (на сильной LLM) или дистиллировать в маленькую модель через reinforcement learning. Для быстрого старта: инициализируйте память с первичными абстракциями и якорьками, разрешите retriever идти по cue anchors и останавливаться самостоятельно.
Можно ли доверять
Статья опубликована Microsoft Research на ICML 2026, одной из топ-конференций машинного обучения. Результаты воспроизведены на двух авторитетных бенчмарках (LoCoMo и LongMemEval) с прямым сравнением конкурентов (RAG, Mem0, GraphRAG, Zep). Код доступен для проверки. Однако результаты на бенчмарках, это контролируемые сценарии; реальная эффективность в production зависит от качества абстракций и якорьков, которые система генерирует из реальных данных.
Риски и подводные камни
Memora зависит от качества первичных абстракций, плохая абстракция потеряет важный контекст. Система требует хорошей инициализации и может накапливать ошибки, если retriever часто путает близкие якорьки. На больших объёмах памяти (годовые проекты) не ясно, как система масштабируется за пределы тестовых бенчмарков. Microsoft параллельно работает над MemLoop (обучение на ошибках), это намёк, что текущая версия несовершенна.
«Memora разделяет то, что хранится (богатое содержимое памяти) от того, как оно извлекается (лёгкие абстракции и якорьки-подсказки), балансируя абстракцию и специфичность.»
— Microsoft Research, блог Memora