[1/2] MemCurrent: что агент уносит из прошлой сессии (Рубрика #Agent)
Databricks в октябре описала MemCurrent — систему памяти, которая помогает агенту использовать опыт прошлых сессий. В Genie, где пользователи задают вопросы к своим данным, таким опытом может быть поправка к расчёту метрики, знание о том, какую таблицу брать, или уже проверенный способ связать несколько таблиц.
У MemCurrent два слоя. В одном лежит сырой журнал сессий. В другом — извлечённые из него заметки с определениями, поправками и рабочими приёмами. При старте плагин показывает агенту их оглавление memory.md, а во время работы автоматически ведёт журнал. Агент может сам искать в обоих слоях и сразу записывать явные поправки. В фоне отдельный процесс, который авторы назвали dreaming, извлекает уроки из сессий, объединяет дубли и разбирает противоречия. Эта статья перекликается со статьей про dreaming от Anthropic, о которой я рассказывал
На публичных LoCoMo, LongMemEval и ConvoMem авторы проверили, как агент отвечает на вопросы по истории диалогов. С MemCurrent он в среднем отвечал примерно так же точно, как с полной историей в контексте, и использовал около 8,4 тыс. входных токенов на вопрос вместо 103 тыс. Для Genie сделали свой тест. В нём агенту надо, например, вспомнить прошлую поправку к метрике и применить её в SQL для нового отчёта. Из 12 000+ сессий авторы выделили примерно 3 000 кандидатов и после проверок получили 114 задач на историях 29 пользователей.
По данным Databricks, на этом наборе доля зачтённых задач у Genie выросла с 22,3% без памяти до 68,4% с MemCurrent. Среднее время сократилось с 340 до 252 секунд, расход токенов — на 31%. В одном из примеров агент после замечания пользователя запомнил, что перед ответом надо открыть файл с результатами SQL. В другом он почти шесть минут выяснял, где лежат данные о клиентах продукта SDP и как их связать. Когда пришёл новый вопрос о клиентах SDP, агент поднял сохранённый порядок действий и справился за 41 секунду.
Авторы также отключали компоненты по очереди. С одним журналом получилось 35,8%, с заметками и их оглавлением — 66,1%, с обоими слоями — 68,4%. В отдельном опыте по наполнению заметок фоновая обработка дала 63,5%, запись только во время сессии — 53,9%.
А теперь к моим заметкам на полях
У схемы на рис. 2 я выписал три способа подключить память — плагин, инструменты и фоновую обработку. Мне нравится, что на одной картинке видно, какая работа должна случиться прямо в сессии, а какую можно отложить. И два примера в статье хорошо показывают, зачем это нужно. Иногда прошлый опыт возвращает пропущенный шаг, а иногда позволяет сократить путь. В примере с клиентами ответ пришлось посчитать заново, а схему данных агент уже знал.
«На внутреннем бенче результаты отличные» — так я и записал. А рядом с воронкой отбора у меня другая пометка — «выборка быстро сжимается». Авторы специально искали задачи, на которых может пригодиться прошлый опыт. Чтобы понять средний выигрыш на обычном потоке запросов, надо ещё знать, как часто такие задачи там встречаются. Рядом с публичными тестами я отметил GPT‑5.6 luna. Интересно повторить сравнение на тех же задачах с другой моделью и посмотреть, сохранится ли отрыв.
Особенно понравились абляции. По ним видно, что заметки вместе с оглавлением дают основную часть прироста. Мне здесь хочется ещё одного прогона. Оставить агенту те же заметки и тот же поиск, убрать только оглавление и посмотреть, как часто он сам вспомнит, что ему есть куда заглянуть.
#AI #Agents #Architecture #Data #Evals
Файлы к публикации
- Annotated_MemCurrent_Designing_Persistent_Memory_for_Production.pdfСкачать PDF