3,583 papers
arXiv:2610.30755 74 22 окт. 2026 г. FREE

RAW-RAG: память агента через поиск по сырой истории вместо сложных систем памяти

КЛЮЧЕВАЯ СУТЬ
Парадокс: сложные системы памяти для агентов (Mem0, MemOS, EverMemOS) почти всегда не лучше простого поиска по сырой истории, а часто хуже. Метод RAW-RAG позволяет отвечать на вопросы по долгой переписке или 40 созвонам без пересказов, «фактов» и графов. Храни сырой текст с датами, а порядок событий и актуальность пусть разбирает сама модель. Схема короткая: нарезать на куски, найти 128 похожих, переранжировать (оценить каждый кусок заново), отдать модели 15 лучших. Итог: не хуже сложных систем и сильно дешевле.
Адаптировать под запрос
⚡

TL;DR

RAW-RAG — это простая схема памяти для долгих диалогов. История хранится как есть, без пересказов, выжимок и графов. Она нарезается на куски, на вопрос находятся самые похожие куски, и модель сама разбирается, что из них актуально, а что устарело.

Главная находка: сложные «агентные» системы памяти (Mem0, MemOS, EverMemOS и другие) почти всегда не лучше этого простого подхода, а часто хуже. Когда LLM переписывает историю в «факты», «резюме» или «граф», она теряет детали, связи между событиями и порядок: что было до чего, что чем заменено. Потом на вопрос просто нечем ответить. Простая схема выигрывает не потому, что модель лучше читает, а потому, что нужный кусок вообще попал в запрос.

Суть метода в четырёх шагах: нарезать сырой текст с датами, найти кандидатов, переранжировать, отдать 15 лучших кусков модели. Самые тяжёлые операции (извлечение фактов, обновление и удаление записей) убраны полностью.

🔬

Схема метода

ШАГ 1 (индекс): сырой диалог + даты сообщений → куски по 256 токенов, перекрытие 32
ШАГ 2 (поиск): вопрос → 128 ближайших кусков по смыслу (эмбеддинги)
ШАГ 3 (переранжирование): модель-ранжировщик оценивает пары «вопрос–кусок» → топ-15
ШАГ 4 (ответ): вопрос + 15 кусков → LLM сама восстанавливает порядок событий и актуальное состояние

Шаги 1–3 выполняются кодом (эмбеддинги и ранжировщик). Шаг 4 — обычный запрос к LLM.

🚀

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

Сам RAW-RAG — это код. Но главный принцип, «храни сырьё, пусть модель сама разбирает хронологию», переносится в обычный чат или проект. Ниже пример в этой логике. Инструкция — наша обвязка, не промпт из статьи.

Задача: Основательница онлайн-школы ведёт 40 созвонов с ключевым B2B-клиентом. Договорённости менялись: цену сначала обсуждали 90 000 ₽, потом 75 000 ₽, дедлайн переносили дважды. Раньше она просила ChatGPT сжимать каждый созвон в «ключевые факты». Теперь пора готовиться к следующему звонку. Она загружает в Claude Project сырые транскрипты с датами и пишет инструкцию проекту.

Промпт (инструкция проекта):

Ты помогаешь готовиться к созвонам с клиентом «Школа Бизнеса Север».
Источник правды — только загруженные сырые транскрипты. Каждый файл назван датой звонка.

Правила:
1. Не опирайся на пересказы и выжимки, только на цитаты из транскриптов.
2. Если по одному вопросу (цена, сроки, объём) есть несколько версий — выстрой их по датам и назови актуальную. Актуальная — самая поздняя, если её явно не отменили.
3. Для каждого вывода дай цепочку: дата → что сказано → что изменилось.
4. Если нужного фрагмента в транскриптах нет, так и скажи. Не восстанавливай по догадке.

Вопрос: какие условия по цене и срокам сейчас действуют и что мы обещали в последний раз?

Результат: Модель выдаст хронологию по каждому пункту: цена, сроки, обещания. Рядом будут даты и цитаты, итоговая актуальная версия и пометка, если чего-то в записях нет. Видно, откуда взят каждый вывод, и это легко проверить.

🧠

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

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

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

Как метод это использует: вся сложность убрана из хранения. Остаётся одна задача — донести до модели нужные куски. Оказалось, что системы различаются прежде всего тем, насколько полно они эти куски находят. Когда нужные куски уже в запросе, ответы у всех систем получаются примерно одинаково хорошими.

Рычаги, которые измерили: - Переранжирование (вторая оценка найденного) → без него точность заметно падала. Держи его. - Число кусков → от 5 до 60 примерно одинаково, 1 кусок — сильно хуже, 120 — тоже заметно хуже. Много не значит лучше. - Размер куска (128–1024 токена) → почти не влиял, подбирать не обязательно. - Добавки (факты, резюме, графы) → ни одна не помогла, все ухудшили.

📋

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

В статье нет готового промпта для читателя. Промпты извлечения фактов лежат в приложении, и они как раз то, что не нужно использовать. Ниже наш шаблон инструкции для «читателя» (модели, которая отвечает по сырой истории). Он следует логике статьи: сырой источник, модель сама определяет актуальность.

Ты отвечаешь на вопросы по сырой истории: {что_за_история}.
Источник правды — только приведённые фрагменты. Пересказам и выжимкам не доверяй.

Правила:
1. Фрагменты имеют даты. Восстанови порядок событий.
2. Если по {предмет_вопросов} есть несколько версий, выстрой их по времени и назови актуальную.
   Версию считай устаревшей, если её заменили или отменили позже.
3. Для каждого вывода покажи цепочку: дата → фрагмент → что изменилось.
4. Если для ответа не хватает фрагментов, скажи, чего именно не хватает.

Фрагменты:
{сырые_фрагменты_с_датами}

Вопрос: {вопрос}

Что подставлять: {что_за_история} — переписка, созвоны, тикеты. {предмет_вопросов} — то, что меняется со временем: цена, статус, договорённости. {сырые_фрагменты_с_датами} — исходный текст, не пересказ. Даты обязательны.

⚠️

Ограничения

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

⚠️ Если история помещается в контекст — отдай целиком: на одном из тестов полный контекст сильно обошёл любой поиск. RAG нужен, когда истории слишком много, а не вместо контекста.

⚠️ Не «очень много кусков»: при слишком большой выдаче (120) точность упала. Нужны умеренный объём и переранжирование.

⚠️ Проверено только на текстовых диалогах: авторы прямо пишут, что интерактивные, мультимодальные и рабочие сценарии не проверены. Выводы относятся к тем бенчмаркам, которые они брали.

⚠️ Преимущество небольшое: над сильнейшей агентной системой RAW-RAG выигрывает на доли пункта в одном бенчмарке и на несколько пунктов в других. Честный вывод: «не хуже и сильно дешевле», а не «намного лучше».

⚠️ Хранение и приватность: сырая история хранится целиком, включая личные данные. Удаление по запросу и политика хранения усложняются.

⚠️ Сам RAW-RAG требует кода: эмбеддинги, ранжировщик и индекс собираются программно. Для чата переносится принцип, а не конвейер.

🔍

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

Авторы начали с вопроса: нужна ли вся эта сложность? Сначала они проверили, как часто системы памяти вообще обновляют и удаляют записи. Взяли Mem0 и прогнали все диалоги LoCoMo и 500 примеров LongMemEval. Обновления и удаления составили единицы процентов решений, многие из них были дублями или с ошибками. Когда авторы заменили всё на «только добавлять», точность на LoCoMo выросла (с 67,4 до 69,4).

Затем они собрали RAW-RAG: нарезка, поиск 128 кандидатов, переранжирование до 15. Сравнили с 12 системами памяти на четырёх бенчмарках с несколькими моделями-читателями. RAW-RAG занял первое место в шести из семи комбинаций бенчмарк+модель. Он же оказался в 5–30 раз быстрее по обработке. На длинной истории (около миллиона токенов) загрузка заняла 0,33 часа против 3–27 часов у других.

Дальше они искали, почему. Разделили вопрос на «достали ли нужный кусок» и «правильно ли ответила модель, если достали». Системы сильно различались по первому (около 19–45%) и мало по второму (80–90%). Победа RAW-RAG объясняется охватом, а не умением модели.

Самый показательный опыт: к RAW-RAG добавили факты, резюме и графы. Все три добавки ухудшили результат. Извлечение фактов почти уничтожило задачи на обучение по примерам. Даже когда системам памяти давали идеальный доступ ко всему их хранилищу, они не догоняли сырой текст.

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

💡

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

🔧 Техника: «только дописывать» → меньше потерь

Аудит Mem0 показал, что запрет на изменение и удаление записей не ухудшил результат, а чуть улучшил. Для файла вроде CLAUDE.md или журнала проекта: добавь в инструкцию агенту «Журнал только дополняется. Старые записи не переписывай и не сокращай. Если что-то изменилось, добавь новую запись с датой и ссылкой на старую».

Это наша экстраполяция из аудита Mem0. Проверять такое правило на агентных файлах авторы не пробовали.

Экстраполяция: проверка перед внедрением системы памяти

Перед покупкой или подключением «умной памяти» для чат-бота сравни её с контрольным вариантом: сырые логи + поиск + модель отвечает сама. Возьми 20–30 реальных вопросов из своих диалогов, прогони оба варианта и проверь вручную. Идея прямо следует из вывода авторов: сложная память должна доказать, что лучше простой базы. Сама процедура — наша.

🔗

Ресурсы

  • Статья: Is Complex Agentic Memory Always Needed? Naive RAG Is Stronger Than We Thought
  • Код: https://github.com/Litmeb/RAW-RAG
  • Авторы: Zhengye Bao, Shengtao Zhang, Haokai Zhang, Shiqi Lou, Muning Wen, Minnan Luo (Xi'an Jiaotong University, Shanghai Jiao Tong University, Zhejiang University, The Chinese University of Hong Kong)
  • Бенчмарки: LoCoMo, LongMemEval, MEME, MemoryAgentBench, BEAM-1M
  • Сравнивали с: Mem0, MemOS, EverMemOS, MemMachine, EMem, Memora, A-MEM и другими

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

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

Парадокс: сложные системы памяти для агентов (Mem0, MemOS, EverMemOS) почти всегда не лучше простого поиска по сырой истории, а часто хуже. Метод RAW-RAG позволяет отвечать на вопросы по долгой переписке или 40 созвонам без пересказов, «фактов» и графов. Храни сырой текст с датами, а порядок событий и актуальность пусть разбирает сама модель. Схема короткая: нарезать на куски, найти 128 похожих, переранжировать (оценить каждый кусок заново), отдать модели 15 лучших. Итог: не хуже сложных систем и сильно дешевле.

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

Четыре шага, и всё. 1. Индекс: сырой диалог с датами режется на куски по 256 токенов, перекрытие 32. 2. Поиск: на вопрос находятся 128 ближайших кусков по смыслу. 3. Переранжирование: отдельная модель оценивает пары «вопрос – кусок» и оставляет топ-15. 4. Ответ: вопрос плюс 15 кусков уходят в LLM. Она сама восстанавливает хронологию. Извлечение фактов, обновление и удаление записей убраны полностью. Вся сложность переехала из хранения в одну задачу: донести до модели нужные куски. Пересказ заранее похож на конспект, который пишут до того, как узнали вопрос экзамена. Что важно, ты не знаешь. Поэтому выкидываешь как раз нужное.

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

Когда LLM переписывает историю в «факты» и «резюме», она теряет детали, порядок событий и связи вроде «это отменило то». Потом на вопрос нечем ответить. В статье пересказы давали худший результат, чем исходный текст. Ни одна добавка (факты, резюме, графы) не помогла. Все ухудшили. Современная модель хорошо разбирает хронологию по сырому тексту. Дай ей записи за разные даты, и она сама поймёт, что устарело. Сильные модели справлялись даже с удалениями и каскадными изменениями. Простая схема выигрывает не потому, что модель лучше читает, а потому, что нужный кусок вообще попал в запрос. Когда куски найдены, ответы у всех систем примерно одинаково хорошие. Что измерили: - Переранжирование: без него точность заметно падает. Держи его. - Число кусков: от 5 до 60 почти одинаково. 1 кусок сильно хуже. 120 тоже хуже. Больше не значит лучше. - Размер куска: 128–1024 токенов почти не влияет. Можно не подбирать. Честно: над сильнейшей агентной системой выигрыш составляет доли пункта в одном тесте и несколько пунктов в других. Вывод такой: «не хуже и дешевле», а не «намного лучше».

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

Долгая память → ответы по переписке, созвонам, тикетам, где договорённости меняются со временем (цена, сроки, статус), особенно когда раньше ты сжимал всё в «ключевые факты» и потом терял детали. НЕ подходит, если история целиком влезает в контекст: на одном из тестов полный контекст сильно обошёл любой поиск. Тогда отдай всё сразу. Слабая модель тоже не справится с хронологией, на динамических задачах она провалила почти всё. Сам RAW-RAG требует кода (индекс и ранжировщик), в обычном чате переносится только принцип. Проверено лишь на текстовых диалогах. И помни про приватность: сырая история хранится целиком, а удаление по запросу усложняется.

Мини-рецепт

1. Храни сырьё: транскрипты и переписку целиком, без выжимок. Называй файлы датами.
2. Выброси старые пересказы из источников. Пусть модель не видит чужих «ключевых фактов».
3. Объяви источник правды: только загруженный сырой текст, цитаты вместо пересказов.
4. Научи разбирать версии: если по одному вопросу их несколько, выстроить по датам. Актуальная — самая поздняя, если её явно не отменили.
5. Требуй цепочку: дата, что сказано, что изменилось. Так любой вывод легко проверить.
6. Разреши сказать «не знаю»: если фрагмента нет, пусть так и пишет, а не додумывает.
7. Если пишешь код: куски по 256 токенов с перекрытием 32, 128 кандидатов, ранжировщик, топ-15 в модель. Начни с 15 кусков, не гони до сотни.
8. Проверь размер истории: влезает в контекст — отдай целиком, поиск не нужен.
9. Проверь модель: на слабой хронологию лучше не доверять.

Примеры

[ПЛОХО] Задача: основательница онлайн-школы готовится к звонку с ключевым клиентом. Было 40 созвонов, цену обсуждали сначала 90 000 ₽, потом 75 000 ₽, дедлайн переносили дважды. : Сожми каждый созвон в 5 ключевых фактов и сохрани их
[ХОРОШО] : Она загружает в проект сырые транскрипты, файлы названы датами, и пишет инструкцию: Источник правды — только загруженные сырые транскрипты. Пересказам не доверяй. Если по цене, срокам или объёму есть несколько версий — выстрой их по датам и назови актуальную. Актуальная — самая поздняя, если её явно не отменили. Для каждого вывода дай цепочку: дата → что сказано → что изменилось. Если фрагмента нет, так и скажи. Не восстанавливай по догадке. Вопрос: какие условия по цене и срокам действуют сейчас и что мы обещали в последний раз? Результат: хронология по каждому пункту с датами и цитатами, итоговая актуальная версия и пометка, если чего-то в записях нет. Цена 75 000 ₽ не потеряется, как в выжимке.
Источник: Is Complex Agentic Memory Always Needed? Naive RAG Is Stronger Than We Thought
ArXiv ID: 2610.30755 | Сгенерировано: 2026-10-23 07:30

Проблемы LLM

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

Методы

МетодСуть
Сырой источник с датами — модель сама находит актуальноеДай модели исходные фрагменты, а не выжимку. У каждого фрагмента должна быть дата. Попроси восстановить порядок и назвать актуальную версию. Шаблон: Источник правды — только фрагменты. Пересказам не доверяй. Если по {предмету} несколько версий — выстрой по датам, назови актуальную. Для вывода покажи цепочку: дата → фрагмент → что изменилось. Если фрагментов не хватает — скажи, чего именно. Почему работает: современная модель хорошо разбирает хронологию и противоречия по сырому тексту. Она сама видит, что цену заменили, а срок отменили. Выжимка эту информацию уже съела. Правило "скажи, чего не хватает" не даёт модели достраивать по догадке. Цепочка с цитатами позволяет быстро проверить ответ. Когда применять: данные меняются со временем (цена, статус, договорённости), историй много, важна проверяемость. Когда не работает: слабая модель путает порядок событий, ей нужны подсказки и меньше материала. Если вся история влезает в контекст, отдай её целиком, без отбора фрагментов. Сырая история хранит личные данные, продумай их удаление
📖 Простыми словами

Is Complex Agentic Memory Always Needed? Naive RAG Is Stronger Than We Thought

arXiv: 2610.30755

Инженеры пичкают AI-агентов сложными графами знаний и многослойными выжимками, но на деле это полный провал. Фундаментальная механика проста: когда модель заранее сжимает диалог в «факты», она пытается угадать важность информации, ещё не зная будущего вопроса. В итоге стираются критические нюансы и хронология, а наивный подход RAW-RAG — тупое сохранение сырого текста без обработки — разносит сложные архитектуры в щепки.

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

Суть метода RAW-RAG цинично проста: диалог нарезается на обычные куски текста как есть, без графов и суммаризаций. По запросу база достает похожие сырые фрагменты, кидает их в промпт, и современная модель сама разбирается в хронологии. LLM прекрасно понимает, что вчерашнее "планы изменились" перечеркивает позавчерашнее утверждение, пока хвалёная агентная память слепо путает причину и следствие.

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

Короче: наивный RAG оказался сильнее сложных схем, а попытка быть умнее самой модели только ломает логику. Хватит тратить ресурсы на генерацию красивых саммари — храни сырьё и скармливай LLM сырой контекст целиком. Кто откажется от лишних костылей, получит рабочий продукт уже сегодня, а остальные продолжат разгребать галлюцинации из чужих пересказов.

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

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

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