3,583 papers
arXiv:2510.18297 80 21 окт. 2025 г. FREE

MedRGAG: трёхэтапное восполнение знаний через суммаризацию, анализ пробелов и генерацию контекста

КЛЮЧЕВАЯ СУТЬ
Проблема: Поиск по базе (RAG) находит 60% нужного, остальное отсутствует. Генерация из головы выдумывает факты. Когда просто смешиваешь найденное и сгенерированное — модель путается и выбирает неправильный источник. MedRGAG позволяет контролировать баланс между фактами и генерацией — модель не выдумывает при неполной информации. Фишка: модель сама определяет пробелы в знаниях («тут не хватает информации про X»), генерирует только недостающее, затем выбирает лучшие фрагменты. +12.5% точности против простого поиска.
Адаптировать под запрос

TL;DR

MedRGAG — метод, который сначала суммирует имеющуюся информацию, затем определяет чего не хватает для ответа, и только потом генерирует недостающий контекст. В отличие от простого поиска (RAG) или простой генерации (GAG), здесь модель делает три последовательных шага внутри одной задачи.

Проблема классических подходов: поиск по базе знаний даёт неполную картину (нашлось 60% нужного, 40% отсутствует), а генерация "из головы" даёт галлюцинации (выдумывает факты). Когда просто смешиваешь найденное и сгенерированное — модель путается и даёт неправильный ответ, потому что не понимает какой источник надёжнее.

MedRGAG решает это через управляемую генерацию: модель сначала читает что нашлось, выделяет пробелы ("тут не хватает информации про X"), и генерирует только недостающие части. Затем выбирает лучшие фрагменты из найденного и сгенерированного. В медицинских тестах это дало +12.5% точности против обычного поиска и +4.5% против простой генерации.

🔬

Схема метода

ШАГ 1: Суммаризация
Для каждого найденного документа → извлечь полезное для вопроса
(фильтр шума, убрать нерелевантное)

ШАГ 2: Анализ пробелов
Прочитать все суммари → определить 2-3 ключевых пробела в знаниях
(что КРИТИЧНО для ответа, но отсутствует)

ШАГ 3: Генерация контекста
Для каждого пробела → сгенерировать справочный документ
(заполнить недостающее)

ШАГ 4: Селекция документов
Сгруппировать найденное + сгенерированное по темам → выбрать топ-5 источников
(баланс: факты из поиска + контекст из генерации)

ШАГ 5: Финальный ответ
Использовать отобранные 5 источников → дать ответ

Все шаги выполняются отдельными запросами. Каждый этап — новый промпт с результатами предыдущего.

🚀

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

Задача: Вы консультант и помогаете стартапу выбрать бизнес-модель для SaaS-продукта в b2b-сегменте. У вас есть несколько статей про монетизацию, но информация разрозненная.

Промпт:

У меня 3 статьи про монетизацию SaaS:

[Статья 1]: Freemium модель даёт высокую конверсию в платных сегментах...
[Статья 2]: Enterprise-продажи требуют длинного цикла сделки... 
[Статья 3]: PLG-подход снижает CAC через вирусность...

ЗАДАЧА: Определить оптимальную стратегию монетизации для b2b-инструмента автоматизации отчётности (целевые клиенты — средний бизнес в России, 50-500 человек).

Выполни последовательно:

1. СУММАРИЗАЦИЯ: Для каждой статьи — выдели только релевантное для моего кейса (средний b2b, Россия). Если статья не содержит полезного — напиши "Нет полезной информации".

2. АНАЛИЗ ПРОБЕЛОВ: Прочитай все суммари. Определи 2-3 критичных пробела в знаниях — что нужно знать для выбора модели, но отсутствует в статьях?

3. ГЕНЕРАЦИЯ КОНТЕКСТА: Для каждого пробела создай короткую справку (3-4 предложения) с недостающей информацией.

4. СЕЛЕКЦИЯ: Из всех источников (3 статьи + справки) выбери топ-5 самых релевантных для решения. Объясни почему именно эти.

5. ФИНАЛЬНЫЙ ОТВЕТ: На основе отобранных источников дай рекомендацию по стратегии монетизации.

Результат:

Модель выдаст структурированный процесс:

  • Шаг 1: Суммари каждой статьи с фокусом на средний b2b
  • Шаг 2: Например, "Пробел 1: нет данных о платёжеспособности среднего бизнеса в РФ", "Пробел 2: не описаны риски freemium в b2b"
  • Шаг 3: Короткие справки по каждому пробелу
  • Шаг 4: Список выбранных источников с обоснованием
  • Шаг 5: Финальная рекомендация с опорой на источники

Вы получите явную логику решения — видно откуда взята каждая мысль (статья или сгенерированная справка), и почему модель пришла к выводу.

🧠

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

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

Сильная сторона LLM: Модель отлично анализирует что есть и логически выводит чего не хватает, если её явно попросить это сделать. Также хорошо генерирует контекст по конкретному запросу ("напиши справку про X"), но плохо генерирует "в целом".

Как метод использует сильную сторону:

  1. Суммаризация фильтрует шум — вместо "вот 10 документов, разбирайся" модель сначала выделяет суть каждого. Это снижает cognitive load на финальном этапе.
  2. Явное определение пробелов переводит абстрактную задачу ("дай хороший ответ") в конкретную ("чего именно не хватает?"). Модель перестаёт выдумывать и честно говорит "не знаю про X".
  3. Целевая генерация создаёт контекст точечно ("справка про X"), а не вообще ("расскажи всё про тему"). Это резко снижает галлюцинации, потому что запрос узкий и проверяемый.
  4. Селекция не даёт модели утонуть в информации — она сама выбирает топ-5 источников, балансируя факты (из поиска) и логику (из генерации). Без этого шага модель может переоценить сгенерированный контекст (он выглядит связнее) или недооценить найденные факты (они фрагментарны).

Рычаги управления промптом:

  • Число пробелов (2-3) → увеличь до 5 для сложных задач, уменьши до 1 для простых — контроль глубины анализа
  • Число финальных источников (топ-5) → больше источников = больше контекста, но выше риск шума
  • Формат генерации ("3-4 предложения") → задай объём справок под свою задачу
  • Критерии селекции → добавь "приоритет фактам из поиска" или "приоритет свежим данным"
📋

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

У меня есть {источники_информации}.

ЗАДАЧА: {твоя_задача}.

Выполни последовательно:

1. СУММАРИЗАЦИЯ: Для каждого источника — выдели только релевантное для задачи. Если источник не содержит полезного — напиши "Нет полезной информации".

2. АНАЛИЗ ПРОБЕЛОВ: Прочитай все суммари. Определи 2-3 критичных пробела в знаниях — что нужно знать для решения, но отсутствует в источниках?

3. ГЕНЕРАЦИЯ КОНТЕКСТА: Для каждого пробела создай короткую справку (3-4 предложения) с недостающей информацией.

4. СЕЛЕКЦИЯ: Из всех материалов (исходные источники + справки) выбери топ-5 самых релевантных для решения. Объясни почему именно эти.

5. ФИНАЛЬНЫЙ ОТВЕТ: На основе отобранных источников дай решение задачи.

Подстановки:

  • {источники_информации} — документы, статьи, заметки, или "я провёл поиск и нашёл..."
  • {твоя_задача} — конкретный вопрос или проблема

Если у вас НЕТ готовых источников:

Замени Шаг 1 на:

1. ПОИСК + СУММАРИЗАЦИЯ: Найди в своих знаниях релевантную информацию по теме. Раздели её на 3-4 тематических блока и суммаризуй каждый.

Модель использует внутренние знания как "псевдо-документы" и дальше работает по той же схеме.

⚠️

Ограничения

⚠️ Число запросов: Метод требует 1 запрос на все шаги (можно в одном промпте) или 5 отдельных запросов (если хотите контролировать каждый этап). Для простых вопросов это избыточно — прямой ответ быстрее.

⚠️ Качество генерации: На Шаге 3 модель может сгенерировать неточные справки, если пробел выходит за рамки её знаний. В медицине это критично (дали неверный факт → неверный диагноз), в бизнесе — терпимо.

⚠️ Оверхед на простых задачах: Если вопрос простой ("столица Франции?"), 5-шаговый процесс вредит — модель может "найти" несуществующие пробелы и усложнить ответ.

⚠️ Субъективные критерии: Метод работает хуже, когда нужна оценка (креатив, стиль), а не факты. Модель не знает какой пробел критичнее: "не хватает данных о метрике X" vs "не хватает мнения эксперта Y".

🔍

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

Команда взяла пять медицинских датасетов (экзамены врачей, вопросы из PubMed) — всего ~8 тысяч вопросов. Сравнили три подхода: RAG (поиск по медицинским учебникам + Wikipedia), GAG (генерация контекста "из головы" моделью), и MedRGAG (их метод).

Тестировали на трёх reader-моделях (Qwen2.5-7B, LLaMA-3.1-8B, Ministral-8B) — это модели, которые читают контекст и дают финальный ответ. Для генерации использовали LLaMA-3.1-8B, для вспомогательных шагов (суммаризация, анализ пробелов, селекция) — GPT-4o-mini.

Почему результаты такие:

В медицине документы часто фрагментарны — один говорит про симптомы, другой про лечение, третий про механизм болезни. RAG выдаёт все три, модель теряется в объёме. GAG генерирует связный текст, но выдумывает детали (например, неверную дозировку).

MedRGAG сначала читает что нашлось, понимает "тут про симптомы есть, а про механизм болезни — нет", генерирует именно механизм болезни, и потом выбирает: берёт фактические симптомы из поиска + сгенерированный механизм. Это даёт +12.5% точности против чистого RAG.

Самое интересное: когда убрали селекцию документов (Шаг 4) и просто смешали все 10 источников (5 найденных + 5 сгенерированных) — точность упала. Оказалось, модель-reader переоценивает сгенерированные документы (они выглядят связнее) и игнорирует найденные факты (они выглядят разрозненно). Селекция балансирует это — явно говорит "возьми 2 из поиска, 3 из генерации".

Почему метод работает лучше:

Классический RAG берёт топ-5 документов по схожести с вопросом. Но схожий ≠ полезный. Может найтись 5 документов про симптомы, а про лечение — ни одного. MedRGAG анализирует что нашлось и целенаправленно генерирует недостающее.

Классический GAG генерирует 5 документов "про вопрос вообще". Модель выдумывает детали, потому что не знает что именно нужно. MedRGAG сначала определяет пробелы ("нужна информация про X"), и только потом генерирует — это снижает галлюцинации.

💡

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

📌

1. Упрощённая версия для одного запроса

Если не хочется делать 5 отдельных запросов, объедините всё в один промпт с явной структурой:

Задача: {твоя_задача}

Исходные материалы: {источники}

Выполни внутренним монологом (не показывай мне промежуточные шаги):
1. Суммаризуй каждый источник
2. Определи 2-3 пробела в знаниях 
3. Сгенерируй справки по пробелам
4. Выбери топ-5 источников (исходные + справки)

В финальном ответе покажи:
- Какие источники использовал (укажи найденные vs сгенерированные)
- Ответ на задачу

Модель выполнит все шаги внутри, но покажет только результат. Минус: теряете контроль над каждым этапом.

📌

2. Двухэтапная упрощённая версия

Для ситуаций, когда у вас вообще нет источников (работаете на чистых знаниях модели):

ШАГ 1:
Тема: {твоя_тема}

Найди в своих знаниях всю релевантную информацию. Раздели на 3-4 тематических блока. Для каждого блока — укажи ЧТО знаешь и чего НЕ хватает для полной картины.

ШАГ 2: 
На основе пробелов из Шага 1 — создай недостающие справки. Используй блоки + справки для ответа на вопрос: {твой_вопрос}.

Это адаптация для случая, когда внешних документов нет, но нужна структура мышления.

📌

3. Комбинация с Chain-of-Thought

Если задача требует не только знаний, но и логических шагов (например, диагностика проблемы):

Задача: {твоя_задача}

Материалы: {источники}

1. ЗНАНИЯ: Выполни MedRGAG (суммаризация → пробелы → генерация → селекция)

2. РАССУЖДЕНИЕ: На основе отобранных источников — пошаговое рассуждение:
 - Что известно?
 - Какие гипотезы?
 - Как проверить?
 - Финальный вывод

Покажи оба процесса отдельно.

Это позволяет разделить накопление знаний (MedRGAG) и логический вывод (CoT).


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

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

Проблема: Поиск по базе (RAG) находит 60% нужного, остальное отсутствует. Генерация из головы выдумывает факты. Когда просто смешиваешь найденное и сгенерированное — модель путается и выбирает неправильный источник. MedRGAG позволяет контролировать баланс между фактами и генерацией — модель не выдумывает при неполной информации. Фишка: модель сама определяет пробелы в знаниях («тут не хватает информации про X»), генерирует только недостающее, затем выбирает лучшие фрагменты. +12.5% точности против простого поиска.

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

Процесс из пяти шагов вместо одного запроса. Шаг 1 (Суммаризация): Для каждого найденного документа → извлечь полезное для вопроса. Фильтр шума. Шаг 2 (Анализ пробелов): Прочитать все выжимки → определить 2-3 критичных пробела — что нужно для ответа, но отсутствует. Шаг 3 (Генерация контекста): Для каждого пробела → создать справку. Генерация точечная («справка про X»), а не общая («расскажи всё»). Шаг 4 (Селекция): Из найденного + сгенерированного → выбрать топ-5 источников. Баланс: факты из поиска + логика из генерации. Шаг 5 (Финальный ответ): Использовать отобранные источники.

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

Модель не знает границ своих знаний. При прямом вопросе она выдумывает или игнорирует пробелы. Прикол: когда явно просишь найти пробелы — модель честно говорит «не знаю про X». Перестаёт фантазировать. Целевая генерация («напиши справку про X») снижает галлюцинации — запрос узкий и проверяемый, а не абстрактный. Суммаризация убирает шум перед финальным этапом. Селекция не даёт модели утонуть в информации — она балансирует связные сгенерированные тексты (выглядят убедительнее) и фрагментарные факты из поиска (менее связные, но точнее).

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

Анализ и консалтинг → когда информация разрозненная (статьи, заметки, отчёты), и неясно чего не хватает для вывода. Особенно для задач где цена ошибки высока (медицина, финансы, юридические заключения). НЕ подходит для простых вопросов («столица Франции?») — 5 шагов создают лишний оверхед. Не подходит для субъективных оценок (креатив, стиль) — модель не знает какой пробел критичнее: «нет данных о метрике X» vs «нет мнения эксперта Y».

Мини-рецепт

1. Суммаризация: Для каждого источника — выдели только релевантное для задачи. Если источник пустой — напиши «Нет полезной информации».

2. Анализ пробелов: Прочитай все выжимки. Определи 2-3 критичных пробела — что нужно знать для решения, но отсутствует в источниках?

3. Генерация контекста: Для каждого пробела создай короткую справку (3-4 предложения) с недостающей информацией.

4. Селекция: Из всех материалов (исходные источники + справки) выбери топ-5 самых релевантных. Объясни почему именно эти.

5. Финальный ответ: На основе отобранных источников дай решение.

Контроль через параметры: Число пробелов (2-3 для простых задач, 5 для сложных), число финальных источников (топ-5 стандарт), объём справок (3-4 предложения), критерии селекции («приоритет фактам из поиска» или «приоритет свежим данным»).

Примеры

[ПЛОХО] : У меня 3 статьи про монетизацию SaaS. Определи оптимальную стратегию для b2b-инструмента автоматизации отчётности (средний бизнес, Россия, 50-500 человек) (Модель смешает найденное и выдуманное без структуры. Непонятно откуда взяты выводы — из статей или из головы.)
[ХОРОШО] : У меня 3 статьи про монетизацию SaaS: [Статья 1 про freemium], [Статья 2 про enterprise-продажи], [Статья 3 про PLG-подход]. ЗАДАЧА: Определить стратегию для b2b-инструмента (средний бизнес, Россия, 50-500 человек). Выполни последовательно: 1) СУММАРИЗАЦИЯ: Для каждой статьи — релевантное для моего кейса. 2) АНАЛИЗ ПРОБЕЛОВ: Определи 2-3 пробела в знаниях (что критично, но отсутствует). 3) ГЕНЕРАЦИЯ: Для каждого пробела создай справку (3-4 предложения). 4) СЕЛЕКЦИЯ: Выбери топ-5 источников (статьи + справки). Объясни выбор. 5) ФИНАЛЬНЫЙ ОТВЕТ: Рекомендация со ссылками на источники. (Явная логика — видно откуда каждая мысль: статья или справка. Модель не выдумывает, а признаёт пробелы и заполняет их целенаправленно.)
Источник: From Retrieval to Generation: Unifying External and Parametric Knowledge for Medical Question Answering
ArXiv ID: 2510.18297 | Сгенерировано: 2026-01-11 23:51

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

📖 Простыми словами

MedRGAG: трёхэтапное восполнение знаний через суммаризацию, анализ пробелов и генерацию контекста

arXiv: 2510.18297

Медицинские нейронки лажают, потому что пытаются либо вспомнить учебник, которого не видели, либо слепо верят кускам текста из поиска, которые могут вообще не относиться к делу. Суть метода MedRGAG в том, чтобы заставить модель сначала включить голову и провести инвентаризацию знаний. Вместо того чтобы сразу вываливать ответ, система сначала сжимает то, что уже нашла, а потом честно спрашивает себя: «Чего мне не хватает, чтобы не убить пациента?». Это фундаментальный сдвиг от простого поиска к осознанной генерации недостающих звеньев.

Это как если бы ты пришел к врачу с редкой сыпью, а он, вместо того чтобы сразу гуглить симптомы, сначала выписал на салфетку всё, что уже понял из твоего рассказа, осознал, что не знает результатов твоего анализа крови, и только тогда пошел искать конкретно эту деталь. Формально он мог бы угадать сразу, но без этого промежуточного шага он просто тычет пальцем в небо. MedRGAG убирает эту суету и заставляет модель работать по четкому алгоритму: суммаризация, поиск пробелов и только потом финальный ответ.

В основе лежат три конкретных этапа, которые превращают хаос в систему. Сначала идет суммаризация контекста — выкидываем мусор и оставляем только мясо. Затем включается идентификация недостающих знаний: модель буквально пишет список вопросов, на которые у неё нет ответов в текущем тексте. И финальный аккорд — генерация дополненного контекста, где LLM сама достраивает логические мостики, используя свою внутреннюю память, но строго под запрос этих самых пробелов. Это снижает риск галлюцинаций в разы, потому что модель больше не пытается угадать всё сразу.

Хотя метод обкатывали на медицине, где цена ошибки — жизнь, принцип универсален. Это идеальная схема для любой сложной области: юриспруденции, финтеха или глубокого консалтинга. Везде, где есть гора документов и высокий риск сморозить херню, MedRGAG сработает лучше стандартного RAG. Обычный поиск просто подсовывает похожие тексты, а этот метод заставляет нейронку структурировать незнание, что критически важно для принятия решений в условиях дефицита данных.

Короче, эпоха, когда мы просто скармливали модели PDF-ку и ждали чуда, заканчивается. Будущее за гибридными схемами, где модель сначала анализирует свои ограничения, а потом точечно их закрывает. Если твой AI-ассистент до сих пор выдает поверхностную фигню, значит, ему не хватает именно такого трехступенчатого фильтра. Либо ты учишь модель признавать пробелы в знаниях, либо продолжаешь получать ответы, которые красиво звучат, но абсолютно бесполезны на практике.

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

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

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