3,583 papers
arXiv:2505.20231 85 26 мая 2025 г. FREE

MemGuide: Управляемый намерениями выбор памяти для целеориентированных многосессионных LLM-агентов

КЛЮЧЕВАЯ СУТЬ
Куда планируется поездка
Адаптировать под запрос

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

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

Суть метода MemGuide — перестать относиться к памяти LLM как к стогу сена, в котором ищется похожая иголка, и начать использовать ее как хирург использует инструменты: брать только то, что нужно для конкретной операции.

Традиционный RAG (Retrieval-Augmented Generation) работает по принципу семантической близости. Если вы спрашиваете "какой отель забронировать в Париже?", он будет искать в истории диалога все упоминания "отеля" и "Парижа". Это приводит к "шуму" — модель может вспомнить ваше обсуждение отелей в Берлине или ресторанов в Париже, что только мешает.

MemGuide предлагает двухэтапный процесс:

  1. Intent-Aligned Retrieval (Поиск по намерению): Сначала LLM анализирует ваш текущий запрос и определяет главную цель. Например, не просто "отель в Париже", а "забронировать отель в Париже на рождественские каникулы". Затем он ищет в памяти только те прошлые диалоги, которые соответствуют этой глобальной цели.

  2. Missing-Slot Guided Filtering (Фильтрация по недостающим данным): Это ключевая инновация. После того как найдены релевантные диалоги, система не сваливает их все в контекст. Вместо этого она использует Chain-of-Thought рассуждение, чтобы понять: "А какой информации мне не хватает прямо сейчас, чтобы выполнить задачу?". Например: "Я знаю город (Париж) и даты, но не знаю бюджет и количество звезд". Затем система целенаправленно ищет в отобранной памяти ответы именно на эти вопросы ("бюджет", "звезды") и подает в финальный промпт только их.

Дополнительно, исследование показывает, что хранение информации в памяти в виде структурированных пар "Вопрос-Ответ" (например, Q: "Какой бюджет на отель?", A: "До 200 евро/ночь") работает гораздо лучше, чем хранение сплошного текста диалога.

  • Прямая применимость: Низкая. Пользователь не может развернуть систему с дообученным фильтром LLaMA-8B. Однако, можно напрямую применять формат хранения данных в виде QA-пар в своих промптах, создавая секцию "Память" или "База знаний".

  • Концептуальная ценность: Очень высокая. Пользователь получает понимание, что для сложных, многоэтапных задач нельзя просто "скармливать" модели всю историю. Нужно заставлять модель сначала думать о цели и пробелах в данных, а уже потом искать ответы. Это меняет подход к написанию промптов для LLM-агентов с "дай мне все, что знаешь" на "сначала подумай, что тебе нужно, а потом найди это".

  • Потенциал для адаптации: Высокий. Логику MemGuide можно имитировать в одном большом промпте. Пользователь может явно прописать инструкции для LLM, заставляя его следовать двухэтапному процессу:

    1. Определи цель пользователя.
    2. Составь список данных, которые уже есть, и которых не хватает для выполнения цели (missing slots).
    3. Просмотри предоставленную "Базу знаний" (память) и найди ответы только для недостающих данных.
    4. На основе найденного, сформулируй проактивный ответ или уточняющий вопрос.

Представим, что вы планируете отпуск и общаетесь с чат-ботом-ассистентом в течение нескольких дней.

# РОЛЬ
Ты — мой личный ассистент по планированию путешествий. Твоя задача — помогать мне с организацией поездки, запоминая мои предпочтения между нашими разговорами.

# ПАМЯТЬ (MEMORY_BANK)
Здесь хранится информация из наших прошлых обсуждений в формате "Вопрос-Ответ".


  
    Куда планируется поездка?
    Италия, регион Тоскана.</answer>
  
  
    Предпочтительный тип отдыха?
    Гастрономический тур, посещение виноделен, спокойный отдых.</answer>
  
  
    Бюджет на перелет?
    Средний, не лоукостеры, важен комфорт.</answer>
  


# ИНСТРУКЦИИ ПО ОБРАБОТКЕ ЗАПРОСА (Логика MemGuide)
Прежде чем ответить, выполни следующие шаги:
1.  **Анализ цели:** Проанализируй мой новый запрос и определи мою текущую цель (например, "найти жилье", "выбрать ресторан").
2.  **Поиск пробелов (Missing Slots):** Определи, какая информация тебе необходима для выполнения этой цели, которой еще нет в текущем диалоге (например, "даты проживания", "тип жилья", "количество гостей").
3.  **Обращение к ПАМЯТИ:** Проверь секцию `MEMORY_BANK`. Найди там информацию, которая может быть полезна для текущей цели и заполнения пробелов.
4.  **Проактивный ответ:** Сформулируй ответ, который не просто отвечает на мой вопрос, а проактивно использует информацию из `MEMORY_BANK`, чтобы уточнить детали или предложить релевантные варианты.

---
# ИСТОРИЯ ДИАЛОГА
**Я (вчера):** Привет! Начинаю планировать поездку в Италию. Хочу в Тоскану, интересует в основном еда и вино.

**Ты (вчера):** Отличный выбор! Тоскана славится своей кухней. Я сохранил ваши предпочтения.

---
# НОВЫЙ ЗАПРОС
**Я (сегодня):** Привет! Давай теперь посмотрим варианты жилья. Что можешь предложить?

Этот промпт работает, потому что он заставляет LLM не просто генерировать случайные "варианты жилья в Тоскане", а следовать четкому алгоритму, имитирующему MemGuide:

  1. Структурированная память: Вместо сплошного текста диалога, ключевые факты вынесены в <MEMORY_BANK> и оформлены как QA-пары. Модели гораздо легче извлечь конкретный факт ("тип отдыха: гастрономический тур"), чем выискивать его в потоке речи.
  2. Явные инструкции: Раздел # ИНСТРУКЦИИ заставляет модель сначала провести анализ ("цель: найти жилье", "пробелы: даты, количество гостей, тип жилья"), а затем синтез.
  3. Проактивность: Инструкция "проактивно используй информацию" подталкивает модель к генерации более качественного ответа. Вместо "Какие даты?", модель, скорее всего, сгенерирует что-то вроде: "Рад помочь с жильем для вашего гастро-тура по Тоскане! Чтобы я подобрал лучшие варианты, например, агротуризмо с собственной винодельней, уточните, пожалуйста, даты поездки и количество гостей". Это демонстрирует "память" и повышает качество диалога.

Сфера: Ведение экспертного блога.

# РОЛЬ
Ты — мой контент-стратег и редактор. Твоя задача — помогать мне создавать посты для моего блога о персональных финансах, сохраняя единый стиль и учитывая интересы целевой аудитории.

# БАЗА ЗНАНИЙ (MEMORY_BANK)
Здесь хранятся ключевые установки для контента блога.


  
    Какая целевая аудитория блога?
    Начинающие инвесторы, 25-35 лет, которые хотят разобраться в основах, но боятся сложных терминов.</answer>
  
  
    Какой тон повествования (Tone of Voice)?
    Дружелюбный, простой, ободряющий. Объяснять сложное простыми словами, использовать аналогии из жизни.</answer>
  
  
    Какая основная цель постов?
    Дать практическую пользу, один конкретный совет или инструмент в каждом посте. Избегать "воды".</answer>
  


# ИНСТРУКЦИИ ПО ГЕНЕРАЦИИ ПОСТА (Логика MemGuide)
Прежде чем написать текст, выполни следующие шаги:
1.  **Анализ задачи:** Пойми тему поста, которую я прошу.
2.  **Поиск пробелов:** Определи, какие аспекты темы нужно раскрыть, чтобы пост был полезен.
3.  **Сверка с БАЗОЙ ЗНАНИЙ:** Обязательно просмотри `MEMORY_BANK`. Убедись, что твой текст будет соответствовать целевой аудитории, тону повествования и главной цели постов.
4.  **Генерация текста:** Напиши черновик поста, явно применяя принципы из `MEMORY_BANK`.

---
# НОВЫЙ ЗАПРОС
**Я:** Напиши, пожалуйста, пост на тему "Что такое диверсификация портфеля?".

Этот промпт эффективен, так как он предотвращает генерацию стандартного, "академического" текста про диверсификацию.

  1. Целевая генерация: Инструкции заставляют модель не просто написать о диверсификации, а написать об этом для конкретной аудитории ("начинающие инвесторы 25-35 лет") и в конкретном стиле ("простыми словами, с аналогиями").
  2. Применение памяти: Модель вынуждена обратиться к MEMORY_BANK и извлечь оттуда ключевые установки. Вместо сухого определения, она, скорее всего, начнет пост с аналогии: "Представьте, что вы несете все свои яйца в одной корзине...". Это прямое следствие применения QA-пары о "Tone of Voice".
  3. Повышение качества: Такой подход гарантирует, что каждый новый пост будет соответствовать общей стратегии блога, создавая целостный и узнаваемый продукт. Метод MemGuide, адаптированный в промпте, превращает LLM из простого "писателя" в "редактора", который помнит о стратегии.
📌

Основные критерии оценки

  • A. Релевантность техникам промтинга: Да, исследование предлагает концептуально новый подход к структурированию контекста (памяти) в виде Вопрос-Ответ (QA) и двухэтапный процесс мышления для LLM, который можно имитировать в промпте.
  • B. Улучшение качества диалоговых ответов: Да, исследование прямо заявляет о повышении успешности выполнения задач на 11% (с 88% до 99%) и сокращении длины диалога, что является прямым улучшением качества.
  • C. Прямая практическая применимость: Низкая для полного фреймворка (требует дообучения моделей и отдельной системы), но высокая для адаптации ключевых принципов в промптах (структурирование памяти в QA-формате, двухэтапная логика).
  • D. Концептуальная ценность: Очень высокая. Объясняет, почему простой RAG (поиск по семантической близости) неэффективен для сложных задач, и предлагает мощную ментальную модель: поиск должен быть основан на намерении и недостающей информации, а не на схожести слов.
  • E. Новая полезная практика: Работа попадает в несколько кластеров:
    • 1. Техники формулирования промптов: Предлагает имитировать CoT-рассуждения для поиска "недостающих слотов".
    • 2. Поведенческие закономерности LLM: Косвенно затрагивает проблему "lost-in-the-middle", предлагая не подавать весь контекст, а фильтровать его.
    • 3. Оптимизация структуры промптов: Идея структурировать память в виде QA-пар — это прямая оптимизация.
    • 6. Контекст и память: Это ядро исследования — продвинутая RAG-стратегия для многосессионных диалогов.
    • 7. Надежность и стабильность: Повышение успешности выполнения задач напрямую связано с надежностью.
📌

Цифровая оценка полезности

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

Аргументы за оценку: * Высокая концептуальная ценность: Исследование дает пользователю мощную ментальную модель: перестать думать о памяти как о "свалке фактов" и начать думать о ней как о базе знаний, к которой нужно обращаться с конкретной целью, предварительно поняв, чего не хватает. * Практичный паттерн: Идея форматировать память в виде пар "Вопрос-Ответ" (QA) — это конкретная, легко применимая техника, которая улучшает извлечение информации. * Адаптируемая логика: Двухэтапный процесс "Понять цель -> Найти недостающее -> Отфильтровать память" можно воспроизвести в виде инструкций в сложном промпте, что делает его полезным для продвинутых пользователей. * Четкие выводы: Вывод о том, что фильтрация памяти по недостающим данным значительно эффективнее простого семантического поиска, напрямую влияет на то, как пользователь будет конструировать промпты для задач с большим контекстом. Это заслуживает оценки выше 75.

Контраргументы (почему оценка могла быть ниже/выше): * Почему не 90+: Полное внедрение метода требует дообучения моделей и создания сложной системы, что находится за пределами возможностей обычного пользователя. Это не готовый "скопируй и вставь" промпт, а скорее продвинутая стратегия, требующая осмысления и адаптации. * Почему не 65-70: Несмотря на сложность полного фреймворка, ключевые идеи (QA-память и фильтрация по "недостающим слотам") настолько сильны и применимы в виде инструкций в промпте, что практическая польза для опытного пользователя значительно выше, чем просто "любопытно".


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

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

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