Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
JAM научила ИИ-агента сохранять полную историю, а нужный контекст собирать только после конкретного запроса. В препринте BAAI, Peking University и Hong Kong Polytechnic University, который не прошёл рецензирование, а все числа для него получили сами авторы, JAM обошла MemAgent по качеству и скорости ответа. Для продуктовой архитектуры это означает выбор между дешёвой заранее подготовленной памятью и более точным поиском во время работы.
Сводки служат картой, а не заменяют исходную историю
Большинство рассмотренных систем готовят память заранее (Ahead-of-Time, AOT): сжимают прошлые диалоги, наблюдения и цепочки действий до того, как появится следующий запрос. Такой подход сокращает работу при ответе, но заранее неизвестно, какая мелкая деталь понадобится позже. Если сводка её отбросила, поиск уже не поможет.
JAM разделяет память на архив и контекст запроса. Компонент Memorizer сохраняет каждую сессию целиком как исходный файл, составляет для неё короткое описание и размещает в иерархии каталогов. У каталога появляется обзорный файл, который кратко описывает вложенные материалы.
Эти описания работают как навигация, но не становятся единственным источником фактов. Когда история пополняется, Memorizer добавляет новую сессию в существующую структуру. Поэтому систему можно применять и к готовому архиву, и к непрерывно растущей истории агента.
После запроса включается Researcher. Он открывает каталоги, ищет кандидатов одновременно по словам и векторному сходству, затем читает выбранные файлы и извлекает относящиеся к задаче фрагменты. После каждого шага он решает, достаточно ли найденного; если нет, уточняет направление поиска.
Результатом становится не ответ пользователю, а компактный контекст для основной модели. В нём остаются найденные сведения и ссылки на исходные сессии. Так JAM отделяет поиск по памяти от дальнейшего рассуждения и позволяет проверить, откуда появился конкретный факт.
Researcher обучают искать доказательства, а не угадывать ответ
Для обучения авторы собрали Memory-Gym. Задания требуют найти факт в одной сессии, связать сведения из нескольких сессий или обобщить изменения по длинной истории. Исходные материалы охватывают веб-страницы, книги, диалоги, новости, научные статьи и длинные документы.
Сначала сильная учительская модель строит траектории поиска: выбирает инструменты, открывает материалы и оценивает достаточность сведений. Для обучения оставляют только траектории с правильным ответом и подтверждёнными источниками; поверхностный поиск и неподкреплённые выводы отбрасывает модель-оценщик.
Затем Researcher дообучают с подкреплением. Во время обучения он иногда получает подсказку о недостающих сведениях или следующем направлении поиска, но не готовый ответ. Награда зависит от полноты найденных исходных сессий. При обычной работе подсказки убирают.
Проверка охватывает LoCoMo, LongMemEval, NarrativeQA и HotpotQA: долговременную память в диалогах, работу с накопленной историей, рассуждение по длинным документам и связывание разнесённых фактов. JAM сравнивали с системами, которые заранее составляют память, а также с обучаемым агентом MemAgent.
На LoCoMo JAM получила F1 52,09 против 46,13 у MemAgent. F1 объединяет точность и полноту ответа в одну оценку. Средняя задержка запроса при этом составила 13,81 секунды против 58,08 секунды. Упрощение хранилища до плоского архива ухудшило и качество, и скорость, поэтому выигрыш даёт не только обучение Researcher, но и навигационная иерархия.
Командам стоит разделить архив и контекст запроса
Работа меняет планы для агентов, которые месяцами накапливают историю: помощников разработчика, исследовательских систем и автоматизации многошаговых процессов. В таких продуктах сводки лучше использовать как индекс, а сырые события сохранять как проверяемый источник. Иначе команда необратимо выбирает важные сведения до того, как узнает будущий запрос.
Цена подхода — дополнительная работа при каждом обращении. Researcher делает несколько последовательных поисковых шагов, поэтому JAM не заменяет лёгкую однократную выборку там, где важнее минимальная задержка. Максимальный бюджет составлял 20 раундов, но медиана на большинстве наборов была равна 3: предел оставляет запас для сложных запросов, а не задаёт постоянную стоимость.
Для внедрения полезен не столько готовый обученный компонент, сколько граница между слоями. Первый слой хранит полную историю и дешёвые навигационные описания. Второй получает запрос, собирает доказательства и останавливается, когда контекста достаточно. Основная модель работает уже с отобранным материалом.
Переход оправдан, если ответы зависят от деталей, разбросанных по разным сессиям, а один архив обслуживает много запросов. Если история короткая или запросы заранее известны, дополнительный исследовательский цикл может не окупить задержку. Поэтому JAM скорее задаёт архитектуру для прототипа и сравнения на собственных историях, чем требует немедленно менять рабочую систему памяти.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



