3,583 papers
arXiv:2511.17467 74 21 нояб. 2025 г. FREE

PersonaAgent with GraphRAG: персонализация через личную историю + паттерны сообщества

КЛЮЧЕВАЯ СУТЬ
LLM плохо балансирует персонализацию. Опирается только на твою историю — зацикливается на одном (ты часто читаешь про женские протесты → модель классифицирует статью про подростка-активиста как 'женщины' вместо 'политика'). Дай больше похожего контента — игнорирует твой вкус. PersonaAgent with GraphRAG решает это через двухисточниковый контекст: для каждого запроса модель получает твою личную историю + примеры от похожих пользователей. Личная история показывает предпочтения, глобальные паттерны корректируют перекос — модель персонализирует, но не зацикливается.
Адаптировать под запрос

TL;DR

Что это и как работает: PersonaAgent with GraphRAG — метод персонализации ответов LLM, который комбинирует две категории контекста: личную историю пользователя (что ты делал раньше) + глобальные паттерны (что делают похожие на тебя люди). Система строит граф знаний из взаимодействий пользователя, а затем при каждом запросе извлекает релевантный контекст из обоих источников и передаёт LLM.

Главная находка: Модели ошибаются в персонализации когда опираются только на личную историю — особенно если история сильно перекошена. Пример: пользователь часто читает статьи о женских протестах → модель классифицирует статью про подростка-активиста после стрельбы как "женщины" вместо "политика". Добавление примеров от других пользователей (статьи про молодёжный активизм, реформу оружейных законов) корректирует этот перекос — модель видит широкий контекст и правильно определяет категорию.

Суть метода: Система использует двухисточниковый поиск (dual-source retrieval): для каждого запроса находит топ-K похожих взаимодействий из твоей истории + топ-K похожих взаимодействий от других пользователей. Оба набора комбинируются в промпт вместе с распределением твоих предпочтений по категориям и релевантными концептами. LLM генерирует ответ учитывая и личный вкус, и коллективную мудрость.


🔬

Схема метода

ЭТАП 1: Построение базы знаний (один раз)
├─ Собери историю взаимодействий (фильмы/новости/покупки)
├─ Извлеки из каждого взаимодействия: категорию, ключевые концепты
└─ Сохрани в структурированном виде

ЭТАП 2: Обработка запроса (каждый раз)
├─ Найди топ-K похожих взаимодействий из личной истории
├─ Найди топ-K похожих взаимодействий от других пользователей
├─ Добавь распределение предпочтений по категориям
└─ Составь промпт: задача + личный контекст + глобальный контекст

ЭТАП 3: Генерация ответа
└─ LLM генерирует решение на основе объединённого контекста

Исследователи автоматизировали этапы 1-2 через граф знаний и GraphRAG. Для ручного применения в чате — читай секцию "Пример применения".


🚀

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

Задача: Ты выбираешь что посмотреть вечером. Хочешь чтобы LLM учла твой вкус, но не зациклилась на одном жанре.

Контекст: Ты обычно смотришь триллеры (Игра в кальмара, Чёрное зеркало, Северная вода) и документалки про преступления. Но последнее время замечаешь что рекомендации однообразные — одни убийства и детективы.

Промпт:

Помоги выбрать сериал на вечер.

МОЯ ИСТОРИЯ (что я смотрел и оценивал высоко):
- Игра в кальмара (триллер) — 5/5
- Чёрное зеркало (sci-fi триллер) — 5/5  
- Северная вода (детектив) — 4/5
- Мир Дикого Запада (sci-fi драма) — 4/5
- По ту сторону изгороди (детектив) — 4/5

МОИ ПРЕДПОЧТЕНИЯ ПО КАТЕГОРИЯМ:
- Триллер: 60%
- Детектив: 25%
- Sci-fi: 15%

ЧТО СМОТРЯТ ПОХОЖИЕ НА МЕНЯ ЗРИТЕЛИ (из рецензий на кинопоиске):
- Разлом Сан-Андреас (катастрофа) — "для любителей напряжённого экшна"
- Рик и Морти (анимация sci-fi) — "заходит фанатам Чёрного зеркала"
- Отрочество (драма) — "неожиданно зашло после триллеров"
- Остаться в живых (мистика) — "если любишь Мир Дикого Запада"

Сейчас выбираю между:
1. Тёмные начала (фэнтези)
2. Настоящий детектив (криминал)
3. Рик и Морти (анимация sci-fi)

Какой выбрать и почему? Учти что хочу разнообразия, но в зоне комфорта.

Результат:

Модель увидит: - Твой явный перекос в триллеры/детективы (личная история) - Сигналы от похожих зрителей про нетривиальные варианты (Рик и Морти для фанатов Чёрного зеркала) - Запрос на разнообразие

Ответ будет сбалансированным: скорее всего порекомендует Рик и Морти (пересечение твоего sci-fi интереса + глобальная рекомендация + выход из зоны одних триллеров) или Настоящий детектив (если решит остаться в зоне комфорта). Но не просто "бери детектив потому что ты любишь детективы" — а с учётом паттернов похожих зрителей.


🧠

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

Слабость LLM: Модель не видит твою историю взаимодействий — ей доступен только текущий контекст. Если дать только список "что ты смотрел раньше", модель экстраполирует линейно: любишь триллеры → вот ещё триллеры. Она не знает что похожие пользователи с таким же вкусом часто открывают для себя неочевидные варианты.

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

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

Рычаги управления: - Размер истории (топ-5, топ-10, топ-20) — чем больше, тем точнее портрет, но дольше промпт - Соотношение личное/глобальное — можешь дать 70% личных примеров / 30% глобальных или наоборот - Категории предпочтений — можешь явно указать "хочу 20% выйти за пределы привычного" — модель учтёт - Источник глобальных примеров — можешь брать из рецензий, рейтингов, форумов, соцсетей — разный источник даст разный угол


📋

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

Помоги решить: {задача}

МОЯ ИСТОРИЯ (что я {действие} и как оценивал):
{список личных взаимодействий с оценками}

МОИ ПРЕДПОЧТЕНИЯ ПО КАТЕГОРИЯМ:
{категория_1}: {процент}%
{категория_2}: {процент}%
{категория_3}: {процент}%

ЧТО ДЕЛАЮТ ПОХОЖИЕ НА МЕНЯ ЛЮДИ:
{список примеров от других пользователей с контекстом}

Сейчас выбираю между:
{варианты для выбора}

{дополнительные критерии или ограничения}

Что подставлять: - {задача} — что выбираешь (фильм, статью, товар, решение) - {действие} — смотрел, читал, покупал, делал - {список личных взаимодействий} — 5-10 примеров из твоей истории с категориями и оценками - {категория} и {процент} — распределение твоих предпочтений (прикинь на глаз) - {список примеров от других} — 3-5 примеров что делают похожие пользователи (найди в рецензиях, форумах, рейтингах) - {варианты для выбора} — конкретные опции между которыми выбираешь - {дополнительные критерии} — "хочу разнообразия", "остаться в зоне комфорта", "открыт к экспериментам"


⚠️

Ограничения

⚠️ Требует подготовки данных: Нужно собрать свою историю взаимодействий (список фильмов/статей/покупок с оценками) и найти примеры от похожих пользователей. Это не быстро — для первого применения уйдёт 15-30 минут.

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

⚠️ Зависит от качества глобальных примеров: Если примеры от других пользователей нерелевантны или низкого качества, они могут исказить рекомендацию вместо того чтобы скорректировать. Нужно осознанно выбирать источник (рецензии экспертов vs массовые рейтинги).

⚠️ Не подходит для холодного старта: Если у тебя нет истории взаимодействий (новая область), метод не сработает — нечего персонализировать.


🔍

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

Команда взяла бенчмарк LaMP (Large Language Models Personalization) и протестировала систему на трёх задачах: классификация новостных статей, тегирование фильмов, оценка продуктов. Для каждой задачи выбрали 100 пользователей с самой большой историей (чтобы было что персонализировать) и построили граф знаний из их взаимодействий: узлы — пользователи, статьи, фильмы, продукты; рёбра — связи через категории и концепты.

Для каждого запроса система использовала TF-IDF поиск чтобы найти топ-K похожих взаимодействий из личной истории + топ-K из глобальной. Эти два набора комбинировались в промпт вместе с распределением предпочтений пользователя по категориям. Сравнивали с четырьмя baseline: обычный LLM без персонализации, ReAct (prompting с рассуждениями), MemBank (память на векторах), и PersonaAgent (предыдущая версия без графа).

Результаты были особенно интересными на субъективных задачах: для новостей F1 вырос на 11.1%, для фильмов — на 56.1% (это огромный скачок!), для продуктов MAE снизился на 10.4%. Почему такая разница? Чем субъективнее задача (фильмы), тем сильнее помогает контекст сообщества — он корректирует личный перекос. Для новостей (более объективная категоризация) эффект меньше, но всё равно заметен.

Ключевой инсайт из кейса: модель LLaMA3-8B ошиблась с категорией статьи про подростка-активиста, классифицировав её как "женщины" вместо "политика" — потому что в истории пользователя было много статей о женских протестах. Когда добавили глобальные примеры (статьи про молодёжный активизм от других пользователей), модель исправилась. Это показывает что глобальный контекст работает как деbiasing механизм — расширяет узкую персональную историю до более сбалансированного представления.

Отдельно проверили разные LLM: Claude 3.5 Sonnet показал лучшие результаты (F1 и Recall), Claude 4 неожиданно провалился (склонен переусложнять), LLaMA2-7B почти сравнялся с LLaMA3-8B по точности. Это говорит что метод работает на разных моделях, но Claude 3.5 Sonnet наиболее чувствителен к структурированному персонализированному контексту.


💡

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

📌

🔧 Техника: Projects/Memory для накопительной персонализации

Вместо подготовки контекста вручную каждый раз — используй ChatGPT Projects или Claude Projects для накопления истории:

  1. Создай проект "Мои предпочтения: {домен}"
  2. Загрузи документ с твоей историей взаимодействий
  3. Регулярно обновляй: после просмотра фильма → добавь оценку в документ
  4. При запросе модель автоматически учтёт историю из проекта

Для глобального контекста: создай второй документ "Паттерны сообщества" — собирай туда интересные рецензии, тренды, рекомендации от похожих пользователей. Модель будет балансировать между двумя документами.

Плюс: не нужно каждый раз копировать контекст в промпт — он всегда под рукой.


📌

🔧 Техника: Явный вес источников

Управляй балансом личное/глобальное через инструкцию:

При выборе учитывай:
- МОЯ ИСТОРИЯ — вес 70%
- ГЛОБАЛЬНЫЕ ПАТТЕРНЫ — вес 30%

Если моя история сильно перекошена в одну категорию, 
увеличь вес глобальных паттернов до 50%.

Модель будет явно взвешивать источники при генерации.


📌

🔧 Техника: Динамическое объяснение выбора

Добавь в конец промпта:

После рекомендации объясни:
1. Какие сигналы из моей истории ты учёл
2. Какие паттерны сообщества повлияли на выбор  
3. Как ты балансировал между персонализацией и разнообразием

Это даст прозрачность — ты увидишь как модель использовала двухисточниковый контекст и сможешь скорректировать веса если нужно.


🔗

Ресурсы

PersonaAgent with GraphRAG: Community-Aware Knowledge Graphs for Personalized LLM

Siqi Liang (Purdue University), Yudi Zhang (Iowa State University), Yue Guo (Columbia University)

LaMP benchmark — https://lamp-benchmark.github.io (бенчмарк для персонализации LLM)

Связанные работы из исследования: - PersonaGym (Samuel et al. 2024) — бенчмарк для оценки агентов с персонами - HARBOR (Kenan Jiang 2024) — изучение как персоны влияют на стратегии в аукционах - MemoryBank (Zhong et al. 2023) — система долгосрочной памяти для LLM


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

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

LLM плохо балансирует персонализацию. Опирается только на твою историю — зацикливается на одном (ты часто читаешь про женские протесты → модель классифицирует статью про подростка-активиста как 'женщины' вместо 'политика'). Дай больше похожего контента — игнорирует твой вкус. PersonaAgent with GraphRAG решает это через двухисточниковый контекст: для каждого запроса модель получает твою личную историю + примеры от похожих пользователей. Личная история показывает предпочтения, глобальные паттерны корректируют перекос — модель персонализирует, но не зацикливается.

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

Не давай модели только личную историю и не давай только общие паттерны. Комбинируй оба источника в промпте: топ-5 твоих взаимодействий + топ-5 от похожих людей. Добавь распределение предпочтений по категориям ('триллеры 60%, детективы 25%') и ключевые концепты. Модель синтезирует: рекомендация персонализирована под тебя, но скорректирована коллективным опытом — как твой вкус обычно эволюционирует у похожих пользователей.

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

Модель не видит динамику вкуса — ей доступен только текущий срез. Дашь список 'что ты смотрел' — она экстраполирует линейно: любишь триллеры → вот ещё триллеры. Не знает что похожие зрители с таким вкусом часто открывают нетривиальные варианты (анимацию, документалки). Двухисточниковый контекст создаёт корректирующий сигнал: личная история фиксирует предпочтения, глобальные примеры показывают куда эти предпочтения обычно развиваются. Модель находит баланс — рекомендация не просто 'под вкус', а с учётом траектории вкуса.

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

Рекомендательные системы → выбор контента (фильмы, статьи, музыка, покупки) → когда есть история взаимодействий и хочешь персонализации без filter bubble. Особенно полезно если замечаешь однообразие в рекомендациях. НЕ подходит для холодного старта (нет истории) и разовых уникальных решений (сбор контекста не окупается).

Мини-рецепт

1. Собери личную историю: 5-10 взаимодействий с оценками и категориями (фильмы которые смотрел, статьи которые читал)
2. Прикинь распределение: какой процент предпочтений по категориям ('триллеры 60%, sci-fi 15%')
3. Найди глобальные примеры: 3-5 примеров что делают похожие пользователи (из рецензий, форумов, рейтингов)
4. Составь промпт: задача + твоя история + распределение + глобальные примеры + варианты выбора
5. Добавь критерии: 'хочу разнообразия' или 'остаться в зоне комфорта'

Примеры

[ПЛОХО] : Я люблю триллеры. Вот список: Игра в кальмара 5/5, Чёрное зеркало 5/5, Северная вода 4/5. Что мне посмотреть из: Тёмные начала, Настоящий детектив, Рик и Морти?
[ХОРОШО] : Помоги выбрать сериал. МОЯ ИСТОРИЯ: Игра в кальмара (триллер) 5/5, Чёрное зеркало (sci-fi) 5/5, Северная вода (детектив) 4/5. ПРЕДПОЧТЕНИЯ: триллеры 60%, детективы 25%, sci-fi 15%. ЧТО СМОТРЯТ ПОХОЖИЕ ЗРИТЕЛИ: Рик и Морти — 'заходит фанатам Чёрного зеркала', Остаться в живых — 'если любишь Мир Дикого Запада', Отрочество — 'неожиданно зашло после триллеров'. Выбираю между: Тёмные начала, Настоящий детектив, Рик и Морти. Хочу разнообразия, но в зоне комфорта.
Источник: PersonaAgent with GraphRAG: Community-Aware Knowledge Graphs for Personalized LLM
ArXiv ID: 2511.17467 | Сгенерировано: 2026-01-12 17:48

Концепты не выделены.

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

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

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