Исследователи Google задались практическим вопросом: как заставить LLM-агента извлекать уроки из собственных запусков — и удачных, и провальных — не переобучая модель заново? Ответом стал ReasoningBank — фреймворк памяти, который превращает журналы взаимодействия агента в компактные, многократно применимые стратегии рассуждения.
Проблема накопленного опыта
ИИ-агенты неплохо справляются с многошаговыми задачами: сёрфят по веб-сайтам, управляют компьютером, чинят баги в реальных репозиториях. Но у большинства из них есть общая слабость — они не умеют накапливать и переиспользовать опыт. Обычная «память» агента — это либо сырые логи прошлых действий, либо жёсткие шаблоны-воркфлоу. Оба подхода плохо переносятся между разными окружениями и почти не используют сигналы из неудачных попыток, хотя именно в провалах часто скрыты самые полезные уроки.
ReasoningBank решает эту проблему иначе: память хранит не сырые трассы, а компактные, читаемые человеком элементы-стратегии, которые легко переносить между задачами и доменами.
Как это работает
Каждый опыт агента дистиллируется в memory item — заголовок, однострочное описание и содержимое с конкретными применимыми принципами: эвристиками, проверками, ограничениями. Поиск релевантных элементов построен на эмбеддингах: для новой задачи система достаёт top-k подходящих стратегий и внедряет их как системные инструкции. После выполнения задачи из полученного опыта извлекаются новые элементы и добавляются обратно в память.
Цикл намеренно простой: retrieve → inject → judge → distill → append (найти → внедрить → оценить → дистиллировать → добавить). Такая простота позволяет однозначно связать прирост качества именно с абстракцией стратегий, а не со сложной механикой управления памятью.
Ключ к переносимости — в том, что элементы памяти кодируют паттерны рассуждения, а не привязанные к конкретному сайту шаги по DOM-дереву. Пример такой стратегии: «предпочитать страницы аккаунта для персональных данных пользователя; проверять режим пагинации; избегать ловушек бесконечного скролла; сверять состояние с постановкой задачи». Провалы превращаются в негативные ограничения — например: «не полагаться на поиск, если сайт отключил индексацию; подтверждать сохранение состояния перед переходом на другую страницу». Это предотвращает повторение одних и тех же ошибок.
MaTTS: масштабирование с учётом памяти
Отдельно команда предложила memory-aware test-time scaling (MaTTS) — масштабирование вычислений во время выполнения задачи (то есть запуск нескольких прогонов или уточнений на одну задачу), эффективное только тогда, когда система умеет учиться на дополнительных траекториях.
MaTTS работает в двух режимах:
- Параллельный MaTTS: генерируется k параллельных прогонов, которые затем сравниваются между собой (self-contrast) для уточнения стратегической памяти.
- Последовательный MaTTS: одна траектория итеративно самоулучшается (self-refine), а промежуточные заметки становятся сигналами для памяти.
Синергия здесь двусторонняя: более широкое исследование пространства решений даёт лучшую память, а лучшая память направляет исследование в более перспективные ветки. По данным экспериментов, MaTTS даёт более сильный и монотонный прирост качества, чем обычный best-of-N без памяти.
Результаты
По эффективности связка ReasoningBank и MaTTS повышает успешность выполнения задач до 34,2% относительно варианта без памяти и превосходит прежние подходы к памяти, которые переиспользуют сырые трассы или только успешные воркфлоу.
По экономичности число шагов взаимодействия снижается на 16% в среднем; при этом наибольшее сокращение наблюдается именно на успешных прогонах, а значит, речь идёт о меньшем числе избыточных действий, а не о преждевременном прерывании задач.
Место в стеке агентов
ReasoningBank — это подключаемый слой памяти для интерактивных агентов, уже использующих циклы принятия решений в стиле ReAct или масштабирование best-of-N. Он не заменяет верификаторы или планировщики, а усиливает их, внедряя дистиллированные уроки на уровне промпта/системных инструкций. На веб-задачах фреймворк дополняет BrowserGym, WebArena и Mind2Web; на задачах разработки — надстраивается поверх сценариев SWE-Bench-Verified.
Источник: MarkTechPost.