3,583 papers
arXiv:2610.12124 74 8 окт. 2026 г. FREE

Hippocam: память агента через вложенные цели и пересжатие истории

КЛЮЧЕВАЯ СУТЬ
Обнаружено: у подходов к памяти агента разные слепые зоны. Схемы вида «выжми из опыта инструкцию» (ACE, ReasoningBank) теряют конкретные факты. Схемы вида «склад фактов» (mem0) ломаются, когда задача меняется. Метод Hippocam позволяет вести многочасовую работу с агентом и не терять ни выводы, ни детали. Фишка: закрытую цель заменяй конспектом от первого лица, но оригиналы не удаляй, а прячь уровнем ниже. Сжатие перестаёт быть необратимым: не хватило детали, агент спускается к исходнику.
Адаптировать под запрос
⚡

TL;DR

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

Главная находка: у разных подходов к памяти разные слепые зоны. Подходы вида «выжми из опыта инструкцию» (ACE, ReasoningBank) хорошо учатся на задачах, но теряют конкретные факты и на вопросах по прошлым разговорам почти не отвечают. Подходы вида «складывай факты в хранилище» (mem0) помнят факты, но при переключении между задачами почти полностью ломаются. Hippocam держит оба навыка, потому что выводы и оригиналы хранятся вместе, а детали не выбрасываются, а прячутся на уровень ниже.

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

🔬

Схема метода

ШАГ 1: Открыть цель (intent) → «зачем» + условия выхода: успех / провал
ШАГ 2: Перед каждым действием выбрать → Continue / Deepen / Close / Shift
ШАГ 3: Цель закрыта → конспект от первого лица (состояние, выводы + доказательства,
        полезные провалы, где лежат материалы). Процесс поисков — выбросить
ШАГ 4: Давно не нужное → пересжать вместе с новым: «рассказ» + «знания»,
        каждый раз абстрактнее. Используемое — обновляется, неиспользуемое — блёкнет
ШАГ 5: Не хватает деталей → спуститься к оригиналам на один уровень, остановиться,
        как только информации достаточно

В оригинале это разные LLM-вызовы под управлением кода: JANUS (цели), PRECIP (конспект цели), PALIM (пересжатие старого), плюс инструмент recall. В чате или в файле инструкций их можно имитировать ролями в одном промпте (шаблон ниже).

🚀

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

Задача: Вы с Claude Code переносите интернет-магазин кофе с Tilda на свой сайт. Нужно подключить ЮKassa, расчёт доставки через СДЭК и выгрузку заказов в «МойСклад». Сессия идёт уже третий час, контекст забит логами, кусками диффов и тупиками. Агент начал забывать, что в СДЭК уже выяснили про тарифы, и повторно гоняет те же проверки.

Промпт (в CLAUDE.md или в начале сессии):

Работай по целям (intents). Правила:

ЦЕЛЬ = «зачем» + условие успеха + условие провала.
Пример: Цель: подключить ЮKassa. Успех: тестовый платёж проходит и вебхук
обновляет статус заказа. Провал: 3 неудачные попытки без нового понимания причины.

Перед каждым крупным шагом пиши одну строку: Continue / Deepen / Close / Shift.
- Continue: цель актуальна, продолжаю.
- Deepen: открываю под-цель внутри текущей.
- Close: цель завершена (успех или провал по условиям выше).
- Shift: закрываю цель и открываю следующую.

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

Дальше опирайся на конспекты как на свою прошлую работу. Новые выводы считай
гипотезами, пока их не подтвердит тест. Если в конспекте не хватает детали —
открой указанный файл или лог и вернись к работе, как только нашёл нужное.

Результат: Агент начнёт каждый этап с короткой строки о цели и условиях выхода. По завершении этапа он выдаст компактный конспект в четыре блока: изменения, подтверждённые выводы, неудачи, ссылки на файлы. Тупики, например «СДЭК вернул 401 из-за неверного режима ключа», останутся в конспекте как урок. Длинные логи в него не попадут. Для деталей агент обратится к файлам по ссылкам из конспекта, а не будет гадать по памяти.

🧠

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

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

Сильная сторона. Модель хорошо пересказывает по заданной структуре и хорошо сопоставляет новое с прошлым опытом. Если сказать ей, что сохранить (вывод + доказательство + провал + где лежит оригинал), она сделает это стабильно.

Как метод это использует. Цели с условиями выхода дают понятный момент, когда сжимать. Конспект привязан к цели, поэтому модель знает, что важно для работы, а что нет. Оригиналы сохраняются, поэтому сжатие не необратимо. Так достигается баланс между «чистым» контекстом и доступными деталями.

Рычаги управления: - Условия выхода цели → строже (одна попытка) или мягче (пять), чтобы агент не буксовал и не бросал рано. - Состав конспекта → добавь блок «открытые вопросы» или убери «где смотреть», если материалов нет. - Частота пересжатия → в конце каждого этапа или раз в час. Чем реже, тем больше деталей в контексте и тем выше риск шума. - Правило «гипотеза, пока не подтверждено» → оставь, если нужна строгость. Убери для быстрых прототипов.

📋

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

В статье нет готового текста промптов в доступной части. Ниже реконструкция по описанию механики. Роли JANUS, PRECIP и PALIM сведены в одну инструкцию.


Ты ведёшь долгую работу над: {проект}. Ты работаешь как три функции сразу:
JANUS (ведёт цели), PRECIP (сжимает закрытые цели), PALIM (пересжимает старое).



Текущая цель: {цель}
Условие успеха: {успех}
Условие провала: {провал}
Вложенные под-цели: {если есть}



Определи, что с целью: Continue / Deepen / Close / Shift.
Пиши от первого лица одну-две строки: какие цели закончены, что делать дальше,
каковы условия успеха и провала для следующего шага.
Следи за сменой цели, не за каждым действием. Не планируй всё заранее.



Замени рабочие сообщения цели одним самодостаточным конспектом от первого лица:
- Состояние: {что изменено}
- Выводы + доказательства (откуда известно)
- Полезные провалы (что не сработало и почему)
- Структура и расположение материалов: {где что лежит}
- Необработанное, что понадобится внешним целям
Выбрось: путь поиска, который ничего не установил.
Факты, подтверждающие один урок, объедини в один вывод.



Когда накопилось {N} конспектов закрытых целей, пересожми самые старые
вместе с новыми. Раздели каждый конспект на:
- РАССКАЗ: что делали и чем кончилось (становится короче и абстрактнее);
- ЗНАНИЯ: факты и уроки, сформулированные про сам предмет, а не про «как мы
  к этому пришли». Однотипные знания объединяй, новое дополняет или
  обновляет старое.
Не придумывай общих выводов, которых не было в исходных конспектах.
Последние {K} шагов не трогай.



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



Относись к конспектам как к своей прошлой работе. Новые выводы — гипотезы,
пока их не подтвердил результат или тест. Успехи и провалы добавляй
в следующий конспект.

Что подставлять: {проект} — описание работы; {цель}, {успех}, {провал} — первая цель с проверяемыми условиями; {N} — после скольких закрытых целей сжимать старое (например, 3–5); {K} — сколько последних шагов оставлять нетронутыми.

🚀 Быстрый старт — вставь в чат:

Вот шаблон Hippocam (работа по целям с конспектами и пересжатием). Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

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

⚠️

Ограничения

⚠️ Нужен код, а не чат: в оригинале три вспомогательных вызова LLM, стек целей, дерево сообщений и инструмент recall управляются программой. Шаблон выше — ручная имитация. В статье она не проверялась, и устойчивость такой эмуляции в обычном чате не доказана.

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

⚠️ Одна базовая модель: все сравнения проведены на одной модели (DeepSeek). Как метод поведёт себя на других моделях, не показано.

⚠️ Прирост неравномерный: на части тестов Hippocam лишь делит лидерство или опережает конкурентов на доли процента. Сильнее всего разрыв на длинных историях и обновлённых фактах. Даже там на очень длинном входе (64k токенов) точность остаётся около 41%.

⚠️ Абляции не видны: в доступном тексте обрезан раздел, который показывает, какой компонент (цели, пересжатие, recall) даёт какую долю выигрыша. Нельзя сказать, что из набора критично, а что можно выбросить.

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

🔍

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

Команда взяла готовые тесты для долгих агентов и сравнила Hippocam с шестью известными подходами: mem0, A-Mem, Letta, ReasoningBank, ACE и HiAgent. Все работали на одной и той же модели, а контрольный вариант «Plain» был той же моделью без памяти. Проверяли четыре вещи. Первая: учится ли агент на накопленном опыте (ALFWorld, ScienceWorld, StreamBench). Вторая: переносятся ли знания в другую область (из домашних задач в научные эксперименты). Третья: держится ли память при долгой работе (чередование задач, вопросы по прошлым разговорам, обновлённые факты). Четвёртая: насколько метод общий.

Результаты сильно неравномерны. Hippocam лидирует или делит лидерство в семи из восьми показателей. На ALFWorld у него 97,8%, как у ACE. На ScienceWorld после переноса из других задач прирост составил +19,2 п.п. против +14,0 у ACE. На длинных обновлённых фактах при 32k токенов он держит 77%, а лучший конкурент не выше 37%. Самое интересное — профили конкурентов. ACE и ReasoningBank, которые учат правила из опыта, на ответах по прошлым разговорам набрали 22,5% и 18,3%. У ACE идеальные 100% на «неотвечаемых» вопросах при нуле на отвечаемых: он просто отказывался отвечать. Mem0 при чередовании задач рухнул до 3,3%. Вывод для практики: конспект-урок без оригиналов теряет факты, а склад фактов без структуры путается при смене задач. Hippocam выигрывает, потому что хранит и то и другое, а детали прячет, а не выбрасывает. На поздних этапах он ещё и обошёлся примерно на 10% дешевле на задачу.

💡

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

🔧 Техника: добавить в конспект блок «Не абстрагировать» → числа и идентификаторы не теряются при пересжатии

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

Это защита от слабой стороны любого сжатия: точные значения превращаются в «около» и «примерно». Идея — моя, в статье такого правила нет.

Экстраполяция: файл NOTES.md как «дерево» между сессиями

Ту же логику можно вынести за пределы одной сессии. Агент в конце сессии дописывает в NOTES.md раздел «Знания» (проверенное, без истории) и раздел «Рассказ» (что делали, коротко), а на каждом проходе пересжимает старые записи. В начале новой сессии файл читается первым.

В конце сессии обнови NOTES.md: в «Знания» объедини новое со старым
(дополняй или правь, не дублируй), в «Рассказ» сожми прошлые записи
до одной-двух строк. Детали оставляй в коммитах и логах, в NOTES.md —
ссылки на них. Читай NOTES.md в начале следующей сессии.

Это перенос принципа, а не результат статьи: авторы тестировали механику внутри одной непрерывной работы.

🔗

Ресурсы

  • Статья: Use and Disuse: Intent-Structured Experience Consolidation for Memory and Learning in LLM Agents
  • Авторы: Xiangyi Zeng, Baihang Liu, Xutong Wang, Ze Jin, Yunpeng Li, Qixu Liu — Institute of Information Engineering, Chinese Academy of Sciences; School of Cyber Security, University of Chinese Academy of Sciences (Пекин)
  • Сравнивались с: mem0, A-Mem, Letta, ReasoningBank, ACE, HiAgent
  • Бенчмарки: ALFWorld, ScienceWorld, StreamBench, GoodAI LTM, LoCoMo, MemoryAgentBench

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

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

Обнаружено: у подходов к памяти агента разные слепые зоны. Схемы вида «выжми из опыта инструкцию» (ACE, ReasoningBank) теряют конкретные факты. Схемы вида «склад фактов» (mem0) ломаются, когда задача меняется. Метод Hippocam позволяет вести многочасовую работу с агентом и не терять ни выводы, ни детали. Фишка: закрытую цель заменяй конспектом от первого лица, но оригиналы не удаляй, а прячь уровнем ниже. Сжатие перестаёт быть необратимым: не хватило детали, агент спускается к исходнику.

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

Работа режется на цели с условиями выхода. У каждой цели есть «зачем», условие успеха и условие провала. Агент сжимает историю только в момент, когда цель закрыта, а не по таймеру. Как это идёт: 1. Открыл цель и прописал, когда она считается успешной или проваленной. 2. Перед каждым крупным шагом написал одно слово: Continue (продолжаю), Deepen (открываю под-цель), Close (закрываю), Shift (закрываю и берусь за следующую). 3. Цель закрыта: рабочие сообщения заменены конспектом. В нём состояние, выводы с доказательствами, полезные провалы и где лежат материалы. Путь поисков, который ничего не дал, выбрасывается. 4. Старые конспекты склеиваются с новыми. Выходят «рассказ» (короче и абстрактнее) и «знания» (факты и уроки). Это как рабочий стол с шкафом. На столе только текущая папка и записки по старым делам. Сами документы лежат в шкафу, и к ним можно подойти.

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

Чем дольше сессия, тем больше в контексте мусора: логи, догадки, тупики. Модель хуже выбирает главное, точность падает. Если резать историю грубо или сжимать «в общих чертах», пропадают цифры, номера и причины ошибок. Модель хорошо пересказывает по заданной структуре. Скажи ей, что сохранить (вывод, доказательство, провал, где лежит оригинал), и она делает это стабильно. Цель даёт понятный момент для сжатия и критерий важного. Детали не выброшены, а спрятаны на уровень ниже, поэтому метод держит оба навыка сразу: и обучение на задачах, и точные ответы про прошлое. Честная оговорка: все сравнения сделаны на одной модели (DeepSeek). На очень длинном входе (64k токенов) точность всё равно около 41%. Часть тестов Hippocam лишь делит лидерство.

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

Долгие сессии с агентом (написание кода, миграции, исследования) → конкретно для работы на часы, где контекст забит логами и тупиками. Особенно когда агент повторно гоняет уже проверенное или забывает, что выяснил час назад. НЕ подходит для коротких задач на один-два обмена: цели и конспекты только добавят шума. Полную версию (три вспомогательных вызова LLM, стек целей, дерево сообщений) в чате не воспроизвести. Шаблон ниже — ручная имитация, в статье она не проверялась.

Мини-рецепт

1. Нарежь работу на этапы: подключить оплату, настроить доставку, выгрузить заказы. Один этап — одна цель.
2. Пропиши выход: условие успеха (тестовый платёж прошёл) и условие провала (3 попытки без нового понимания).
3. Заставь подписывать шаг: перед крупным действием одно слово — Continue, Deepen, Close или Shift. Агент не уплывёт молча.
4. Требуй конспект при закрытии: от первого лица, в четыре блока. Состояние, выводы с доказательством, полезные провалы, где смотреть. Путь поисков не нужен.
5. Дай правило недоверия: новые выводы считай гипотезами, пока тест их не подтвердил.
6. Оставь дверь к деталям: не хватает факта — открой файл или лог по ссылке из конспекта. Нашёл нужное — сразу вернись к работе.
7. Подкрути рычаги: условия выхода строже или мягче. Блок «открытые вопросы» добавь или убери. Пересжатие делай после каждого этапа или раз в час.

Быстрый путь: вставь шаблон из статьи в чат и скажи Адаптируй под мою задачу: {задача}. Задавай вопросы, чтобы заполнить поля.

Примеры

[ПЛОХО] Задача: переносишь интернет-магазин кофе с Tilda на свой сайт. Нужны ЮKassa, доставка через СДЭК и выгрузка заказов в «МойСклад». Третий час сессии. : Продолжай интеграцию, ты же помнишь, что мы уже выяснили про СДЭК
[ХОРОШО] : Работай по целям. Цель: подключить ЮKassa. Успех: тестовый платёж проходит и вебхук обновляет статус заказа. Провал: 3 неудачные попытки без нового понимания причины. Перед каждым крупным шагом пиши одну строку: Continue / Deepen / Close / Shift. Когда цель закрыта, напиши конспект от первого лица: 1) что изменено в проекте, 2) выводы с доказательством (команда, ответ API, номер строки), 3) полезные провалы и почему они не сработали, 4) в каких файлах и логах лежат детали. Путь поисков, который ничего не установил, не включай. Новые выводы считай гипотезами, пока тест не подтвердит. Не хватает детали — открой файл по ссылке из конспекта. Что получишь: тупик вроде «СДЭК вернул 401 из-за неверного режима ключа» останется в конспекте как урок. Длинные логи в него не попадут. За деталями агент пойдёт в файлы, а не будет гадать по памяти.
Источник: Useand Disuse: Intent-Structured Experience Consolidation for Memory and Learning in LLM Agents
ArXiv ID: 2610.12124 | Сгенерировано: 2026-10-09 06:00

Проблемы LLM

ПроблемаСутьКак обойти
В длинной сессии контекст зарастает шумом, а обычное сжатие стирает фактыРабота идёт часами. В контексте копятся логи, догадки, тупики. Модель хуже выбирает главное. Забывает уже выясненное и повторяет проверки. Если просто обрезать историю или сжать «в общих чертах», пропадают цифры, номера, причины ошибок. Получается ловушка: шум мешает, а чистка съедает нужноеНе режь историю подряд. Сжимай по завершённым этапам: каждый этап превращай в конспект с выводами и доказательствами. Оригиналы сохрани в файле или логе и дай на них ссылку (см. метод ниже)

Методы

МетодСуть
Работа по целям с условиями выхода и конспектом при закрытии — чистый контекст без потери фактовЧто делать. Разбей работу на цели. Для каждой пропиши: зачем она, условие успеха, условие провала. Пример: Цель: подключить оплату. Успех: тестовый платёж проходит. Провал: 3 попытки без нового понимания причины. Перед крупным шагом проси одну строку: Продолжить / Углубить (под-цель) / Закрыть / Перейти (к следующей цели). Когда цель закрыта, проси конспект от первого лица («я выяснил…»): 1) что изменено; 2) выводы + доказательство (команда, ответ, номер строки); 3) полезные провалы — что не сработало и почему; 4) где лежат детали. Путь поиска, который ничего не установил, выбрасывай. Почему работает. Условия выхода дают понятный момент, когда сжимать. Конспект привязан к цели, поэтому модель знает, что важно, а что шум. Модель уверенно пересказывает по заданной структуре. Оригиналы остаются, так что сжатие обратимо. Если в конспекте нет детали, модель открывает источник, а не гадает по памяти. Дополнительно. Когда конспектов накопится 3–5, склей самые старые с новыми. Раздели каждый на «рассказ» (что делали, становится короче) и «знания» (факты и уроки о предмете). Не добавляй выводов, которых не было в исходных конспектах. Новые выводы считай гипотезами, пока их не подтвердит тест. Когда да: сессии на часы, много этапов, есть файлы и логи для ссылок. Когда нет: задача на 1–2 обмена (цели только добавят шума), нет места хранить оригиналы. Учти: в чате это ручная имитация, и она не проверена. Надёжнее, когда цели и конспекты ведёт программа
📖 Простыми словами

Useand Disuse: Intent-Structured Experience Consolidation for Memory and Learning inLLMAgents

arXiv: 2610.12124

Нейросети тупеют в длинных сессиях не от лени, а от банального мусора. Когда агент три часа ковыряет сложную задачу, контекст забивается простынями логов, битыми диффами и тупиковыми попытками — наступает когнитивная перегрузка. Если просто обрезать хвост истории, модель забудет пароли и конфиги. Если сжать историю стандартным саммари, останется бесполезная водянистая каша. Архитектура Hippocam чинит это через структурированную консолидацию памяти: в активном окне висит только текущий шаг, а весь пройденный путь превращается в сухие факты.

Это как толковый автомеханик против новичка. Новичок бросает все снятые детали, грязные тряпки и свернутые болты прямо на двигатель, пока под этой кучей хлама вообще перестает видеть мотор. Опытный мастер просто клеит на капот короткий стикер: "Тут сорвана резьба, болт М8 не крутить", а железки складывает на полку. Формально верстак идеально чист, но ни один критический косяк не потерян.

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

Тестировали на интеграциях касс и доставки, но паттерн универсален. Метод жизненно необходим везде, где сессия длится дольше получаса: рефакторинг легаси-кода, глубокий OSINT или автономные агенты для сложных ресерчей. Без такой схемы агент гарантированно начнет ходить по граблям и гонять по второму кругу тесты, которые завалил еще сорок минут назад. Контекстный шум убивает рассуждения, какими бы умными ни были базовые веса.

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

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

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

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