3,583 papers
arXiv:2610.24671 72 17 окт. 2026 г. FREE

Поиск по сырой истории против «умной памяти»: сложная память агента не обыгрывает простой поиск по исходной переписке

КЛЮЧЕВАЯ СУТЬ
Парадокс: шесть известных систем памяти для агентов (Mem0, A-Mem, MemoryBank, LightMem, SimpleMem, HyperMem) не обыграли хранение переписки «как есть». Выводы авторов позволяют не тратить часы на конспекты и выжимки: реплики сохраняются целиком, а перед ответом модель достаёт из них нужные цитаты. Не пересказывай историю, а улучшай поиск по ней. Конспекты стоят до часов вычислений на один диалог, а поиск по сырой истории (генерация с поиском, RAG) даёт 63–78% точности, и ни одна «умная» система стабильно его не побила.
Адаптировать под запрос
⚡

TL;DR

«Явная память» (explicit memory) — это когда агент после каждого разговора превращает переписку в конспекты, выжимки фактов и связанные заметки, а потом ищет по ним. Альтернатива: хранить переписку как есть и при вопросе находить в ней нужные реплики (это называется RAG по сырой истории). Исследователи сравнили шесть известных систем явной памяти (Mem0, A-Mem, MemoryBank, LightMem, SimpleMem, HyperMem) с таким простым поиском.

Главная находка: ни одна из «умных» систем стабильно не обыграла простой поиск по исходным репликам. При этом построение памяти стоит дорого: до часов вычислений на один диалог. Часть систем теряет нужные факты ещё при составлении конспектов, и потом их нечем найти. Другие факты сохраняют, но не могут достать. Вариант «засунуть всю историю в контекст» оказался хуже всех: модель тонет в лишнем.

Вывод для практики: не усложняй память, а улучшай поиск. Храни исходные реплики, ищи по ним хорошим поиском и отдавай модели только релевантный кусок. Сложная память полезна в узких случаях: вопросы «а этого мы вообще обсуждали?», маленькие модели и очень жёсткий лимит контекста.

🔬

Схема метода

Это не техника промптинга, а схема эксперимента. Она же показывает, где у агента с памятью может сломаться.

ШАГ 1. ПОСТРОЕНИЕ памяти:
   явная память → LLM делает конспекты / факты / заметки (дорого, часы)
   сырая история → реплики просто сохраняются как есть (бесплатно)

ШАГ 2. ПОИСК: по вопросу достаём нужные куски (ключевые слова, смысловой поиск или оба)

ШАГ 3. ОТВЕТ: модель отвечает по найденным кускам (лимит контекста)

Что варьировали: способ поиска, размер контекста, модель-отвечающая
Оракул: подсунули «идеальные» куски, чтобы понять, где потеря — в памяти или в поиске
🚀

Пример применения

В статье готового промпта нет: исследование про устройство систем памяти. Но вывод можно применить руками. Ниже ручная версия «поиска по сырой истории» вместо «пересказа истории».

Задача: вы ведёте клиента в онлайн-школе. Переписка в Telegram и почте тянется уже 4 месяца. Перед созвом нужно вспомнить, что именно клиент говорил про бюджет и сроки. Раньше вы просили модель «сделай саммари всей переписки», и из саммари пропадали нужные детали: например, что бюджет «до 300 тысяч, но только если запуск до 1 марта».

Промпт:

Ниже — выгрузка переписки с клиентом (реплики с датами). Не пересказывай её и не делай саммари.

Вопрос: что клиент говорил про бюджет и сроки запуска, менялись ли условия со временем?

Правила:
1. Сначала найди в переписке ВСЕ реплики, где упоминаются деньги, бюджет, цены, сроки, даты запуска. Выведи их дословно, с датой и автором, списком.
2. Только потом, на основе этих цитат, ответь на вопрос. Если условия менялись, покажи последнюю актуальную версию и что было раньше.
3. Если в переписке об этом ничего нет, прямо напиши: «в переписке этого нет». Не додумывай.

Переписка:
{текст_переписки}

Результат: модель сначала выдаст список дословных цитат с датами, а затем короткий ответ, который на них опирается. Если условия менялись, в ответе будет видна история изменений. Если информации нет, модель так и скажет, а не придумает.

🧠

Почему это работает

Слабость. Пересказ теряет детали. Когда модель сжимает переписку в конспект, она сама решает, что важно, а нужный вопрос заранее неизвестен. Часть деталей пропадает навсегда. Обратная крайность тоже плоха: если вывалить всю историю в контекст, модель отвечает хуже. В исследовании «вся история целиком» дала лишь около 22% точности против 63–78% у поиска.

Сильная сторона. Модель хорошо отвечает, когда перед ней небольшой набор точных цитат по вопросу. Исходные реплики не искажены, и из них можно собрать и ответ, и хронологию.

Как это использует метод. Сначала поиск находит нужные куски в сырой истории, потом модель отвечает по ним. «Узким местом» оказывается именно поиск: смена поисковика подняла точность на 14,8 пункта, больше, чем любая «умная» память.

Что можно менять и какой эффект это даёт: - Что искать: реплики пользователя или пары «вопрос-ответ». Поиск только по репликам пользователя в среднем работал лучше, пары были слабее. Если ведёте историю сами, индексируйте то, что говорил человек. - Размер контекста. Чем модель меньше и жёстче лимит, тем больше пользы от готовых выжимок. Для больших моделей лучше дать больше сырых цитат. - Вопросы «было или не было». Здесь явная память реально помогает. Если в задаче важно отвечать «этого не обсуждали», добавляйте явное правило отказа, как в пункте 3 промпта.

📋

Шаблон промпта

В тексте статьи готового промпта нет: промпт ответа вынесен в приложение, а в предоставленной части его нет. Практическую инструкцию для агента на основе выводов см. в блоке ниже. Это моя адаптация, а не метод авторов.

⚠️

Ограничения

⚠️ Неполный текст: во входных данных обрезан конец статьи. Разделы про «оракульный» поиск (RQ3) и стоимость (RQ4) я пересказываю по аннотации и введению, без таблиц.

⚠️ Это не промпт-техника: выводы относятся к устройству систем памяти. Читателю без разработки они помогают выбирать и не усложнять, но не дают готовой настройки.

⚠️ Явная память не бесполезна: она выигрывала на вопросах «об этом не говорили» (на одном из наборов до +15 пунктов), на маленьких моделях и при очень жёстком лимите контекста.

⚠️ Проверено в узких рамках: основная модель — Qwen3-30B (средний размер, не флагман), оценка ответов — через GPT-4o mini, два набора вопросов по диалогам. Для топовых моделей с огромным контекстом картина может отличаться.

⚠️ Системы памяти берут в готовом виде: возможно, их можно было настроить лучше. Авторы честно проверили разные поисковики, но разработчики тоже могли подбирать настройки под свои тесты.

🔍

Как исследовали

Идея простая: честно сравнить «умную память» с «глупым поиском» при одинаковых условиях. Раньше системы памяти сравнивали целиком: у каждой свой поиск, свой размер контекста, свои промпты. Победа ничего не доказывала: непонятно, помогла память или просто лучший поиск.

Поэтому авторы разделили конвейер на три этапа: построение памяти, поиск и ответ. Память каждой из шести систем построили один раз и заморозили. Дальше меняли только поиск (8 вариантов: ключевые слова, смысловой, смешанный) и размер контекста (8 вариантов). Получилось по 64 конфигурации на метод. Проверяли на двух наборах: LongMemEval-S (500 вопросов к длинным диалогам) и BEAM-100K (400 вопросов).

Лучший простой поиск набрал 78,0% против максимум 64,0% у «умных» систем на LongMemEval-S. Смена поисковика сама дала +14,8 пункта. Так что часть «преимуществ» памяти в чужих статьях могла быть просто слабым поиском в базовом варианте. В среднем сырой поиск выигрывал примерно 4 пункта на каждом наборе. Сильнее всего память проигрывала на вопросах про обновление знаний и рассуждения по нескольким сессиям. Именно для них её и придумывали.

Любопытная деталь: «оракульная» проверка (когда системе дают идеальные куски) показала два разных типа провала. Одни системы теряют факты при построении памяти, а другие сохраняют, но не умеют найти. Для практики это значит: сначала выясни, где у тебя дыра, и только потом чини.

💡

Адаптации и экстраполяции

🔧 Техника: «цитаты сначала, вывод потом» → защита от потерь при пересказе

В примере выше промпт заставляет модель сначала вытащить дословные реплики, а потом отвечать. Это ручная версия «поиска по сырой истории». Если убрать шаг 1, модель вернётся к пересказу, и детали начнут теряться.

Это моё применение вывода статьи, а не метод авторов.

Инструкция для агента (CLAUDE.md, системный промпт кастомного GPT):

Правила работы с историей и заметками:
1. Исходные материалы (переписка, протоколы, логи) храни и используй как есть. Не заменяй их своим пересказом.
2. Если нужна информация из прошлого, сначала найди и процитируй дословные фрагменты с датой и автором, потом отвечай.
3. Если в материалах нужного нет, напиши «в материалах этого нет». Не достраивай по общим соображениям.
4. Если вопрос касается изменений («что решили в итоге»), покажи, как менялось решение по датам, и назови последнюю версию.
5. Саммари можно делать только как оглавление. В качестве источника фактов используй исходные реплики.
🔗

Ресурсы

  • Статья: Do Conversational Agents Need Explicit Memory? A Controlled Comparison with Raw-History Retrieval
  • Авторы: Yongjie Zhou, Shuai Wang, Bevan Koopman, Guido Zuccon — Университет Квинсленда (Брисбен), CSIRO, Google
  • Код: https://github.com/ielab/memory-systems-vs-rag
  • Рассматриваемые системы: MemoryBank, A-Mem, Mem0, LightMem, SimpleMem, HyperMem
  • Наборы: LongMemEval-S, BEAM-100K

📋 Дайджест исследования

Ключевая суть

Парадокс: шесть известных систем памяти для агентов (Mem0, A-Mem, MemoryBank, LightMem, SimpleMem, HyperMem) не обыграли хранение переписки «как есть». Выводы авторов позволяют не тратить часы на конспекты и выжимки: реплики сохраняются целиком, а перед ответом модель достаёт из них нужные цитаты. Не пересказывай историю, а улучшай поиск по ней. Конспекты стоят до часов вычислений на один диалог, а поиск по сырой истории (генерация с поиском, RAG) даёт 63–78% точности, и ни одна «умная» система стабильно его не побила.

Принцип работы

Идея в том, чтобы разделить два шага: найти и ответить. Сначала достаёшь из исходной переписки несколько точных реплик по вопросу. Потом модель отвечает только по ним. Почему так лучше? Когда модель делает конспект, она сама решает, что важно. А какой вопрос прилетит потом, она не знает. Нужная деталь вроде «бюджет до 300 тысяч, но только если запуск до 1 марта» выпадает навсегда. Это как конспект лекции, где ты записал главное, а на экзамене спросили про мелочь. Исходные реплики не искажены, и из них можно собрать и ответ, и хронологию. Без пересказа ничего не теряется.

Почему работает

Конспекты теряют детали ещё на этапе записи. Часть систем в исследовании хранит факты, но не может их достать. Узкое место — поиск, а не память. Смена поисковика подняла точность на 14,8 пункта, больше, чем любая «умная» память. Обратная крайность тоже не работает. Жесть: «вся история целиком» в контексте дала около 22% точности против 63–78% у поиска. Модель тонет в лишнем, как студент с горой бумаг на столе. Ещё одна мелочь. Поиск только по репликам человека в среднем работал лучше, чем по парам «вопрос-ответ». Ответы модели добавляют шум.

Когда применять

Чат-боты и помощники с долгой историей → ответы по старой переписке (клиент, проект, личный ассистент), особенно когда в саммари пропадают цифры, даты и условия. Явная память всё же выигрывала в трёх случаях. Первый: вопросы «об этом мы вообще говорили?» (до +15 пунктов на одном наборе). Второй: маленькие модели. Третий: очень жёсткий лимит контекста. Не подходит как готовый рецепт для топовых моделей с огромным контекстом: проверяли на Qwen3-30B и двух наборах вопросов. Часть статьи обрезана, выводы про стоимость и «идеальный» поиск пересказаны по аннотации.

Мини-рецепт

1. Не делай саммари: храни переписку целиком, с датами и авторами.
2. Индексируй слова человека: реплики клиента или пользователя, а не пары «вопрос-ответ».
3. Сначала цитаты: проси модель вывести дословные реплики по теме списком, и только потом отвечать.
4. Давай только нужное: в большой модели оставь побольше сырых цитат. Если лимит жёсткий или модель маленькая, добавь короткие выжимки.
5. Разреши отказ: пропиши правило «если в переписке этого нет, так и напиши». Это закрывает вопросы «обсуждали или нет».
6. Крути поиск, а не память: если ответы плохие, меняй поисковик. Он даёт больше, чем сложные конспекты.

Примеры

[ПЛОХО] : Сделай саммари всей переписки с клиентом за 4 месяца, потом я буду задавать вопросы
[ХОРОШО] : Не пересказывай переписку. Вопрос: что клиент говорил про бюджет и сроки запуска, менялись ли условия? Сначала найди ВСЕ реплики про деньги, цены, даты и сроки. Выведи их дословно, с датой и автором. Потом ответь по этим цитатам: покажи последнюю версию и что было раньше. Если в переписке этого нет, напиши: «в переписке этого нет». Не додумывай. Переписка: {текст_переписки} В саммари деталь про «до 300 тысяч, но только если запуск до 1 марта» легко теряется. В списке цитат она остаётся, и видно, как условия менялись.
Источник: Do Conversational Agents Need Explicit Memory? A Controlled Comparison with Raw-History Retrieval
ArXiv ID: 2610.24671 | Сгенерировано: 2026-10-20 16:50

Проблемы LLM

ПроблемаСутьКак обойти
Пересказ длинной переписки теряет детали, которые понадобятся позжеПросишь модель сжать историю в конспект. Она сама решает, что важно. Будущий вопрос ей неизвестен. Условия, исключения, даты и оговорки выпадают. В конспекте их уже нет, и вернуть их нельзя. Ответ по такому конспекту выглядит гладко, но неполный. Проблема касается любых длинных историй: клиентских чатов, заметок, протоколовХрани исходные реплики, а не только конспект. На вопрос отвечай в два шага. Шаг 1: проси найти и вывести дословные цитаты с датой и автором. Шаг 2: проси ответить только по этим цитатам. Добавь правило отказа: «если в тексте этого нет, напиши "этого нет"». Если история очень длинная, не клади её всю в контекст. Сначала отбери нужные куски поиском. Целая история в контексте даёт худший результат, чем небольшой набор точных цитат. Исключение: конспекты полезны для вопросов «обсуждали ли мы это вообще», для маленьких моделей и при жёстком лимите контекста
📖 Простыми словами

Do ConversationalAgentsNeed Explicit Memory? A Controlled Comparison with Raw-History Retrieval

arXiv: 2610.24671

Разработчики упорно пытаются научить AI-агентов вести конспекты твоих прошлых разговоров, и это полный провал. Когда модель сжимает диалог в краткую выжимку, она сама решает, что важно, а что нет. В итоге она безжалостно выкидывает «лишние» детали, которые через неделю оказываются критичными. LLM не умеет телепатически предсказывать будущее, поэтому любая предварительная суммаризация — это гарантированная потеря контекста ещё до того, как ты задал вопрос.

Это как нанять ассистента, который вместо хранения оригиналов чеков и договоров ведёт личный дневник по памяти. Вроде суть уловил, но когда тебе понадобится точный номер транзакции за прошлый вторник, он разведёт руками: «я решил, что это не имеет значения». Заставлять модель конспектировать саму себя — это игра в испорченный телефон, где выжимка убивает факты.

Исследователи столкнули лбами шесть распиаренных систем явной памяти — Mem0, A-Mem, MemoryBank, LightMem, SimpleMem и HyperMem — с обычным поиском по нетронутым логам. Результаты отрезвляют. Свалить всю переписку в контекст разом — гиблое дело, точность падает до позорных 22%, потому что модель слепнет от простыни текста. Зато точечный RAG по сырой истории разносит сложные надстройки в щепки, показывая от 63% до 78% точности.

Тестировали память агентов, но принцип универсален. Не строй многоэтажные надстройки с выжимками для баз знаний, тикетов техподдержки или заметок в CRM. Любая попытка скормить модели пересказанный пересказ превращает данные в кашу. Оставь сырые логи в покое и просто доставай куски текста по факту запроса. Меньше промежуточных суммаризаций — меньше галлюцинаций.

Короче: выбрось на свалку сложные графы и костыли с «умным сжатием памяти». Сырая история плюс RAG работают точнее, дешевле и быстрее любых модных архитектур. Храни переписку как есть, находи нужные реплики поиском и не давай модели «думать за тебя» на этапе сохранения. Сэкономишь кучу денег на токенах, пока индустрия героически чинит свои дырявые конспекты.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с