3,583 papers
arXiv:2510.23998 73 28 окт. 2025 г. FREE

PICOs-RAG: двухшаговая фильтрация запросов для точного поиска информации

КЛЮЧЕВАЯ СУТЬ
Парадокс поиска с дополнением (RAG): чем больше контекста добавляет модель, тем хуже результаты поиска. Запрос «сопли неделю, Називин не помог» расширяется до текста про риниты, синуситы, аллергии, деконгестанты — и поиск находит случай 69-летнего с пневмонией вместо статьи про детский насморк. Метод PICOs-RAG позволяет находить точные медицинские доказательства без шума через двухшаговую обработку. Фишка: сначала расширь запрос профессиональными терминами, потом отфильтруй только критически важное — четыре элемента PICO (Пациент, Вмешательство, Сравнение, Результат). Поиск идёт по сжатым элементам, не по всему расширенному тексту — точность выросла на 6-8%.
Адаптировать под запрос

TL;DR

PICOs-RAG — метод обработки запросов в два шага: сначала LLM расширяет вопрос профессиональными терминами, затем извлекает из него только критически важные элементы по формату PICO (Population, Intervention, Comparison, Outcome). Эти элементы используются для поиска, а не весь расширенный текст.

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

PICO-фильтр оставляет суть: из расширенного вопроса извлекаются четыре элемента — кто (ребёнок), что делается (лечение заложенности), с чем сравнивается (капли не помогли), что хотим (избавиться от симптома). Поиск по этим четырём компонентам находит точные доказательства вместо шума. Точность ответов выросла на 6-8% по двум разным метрикам оценки.


🔬

Схема метода

ШАГ 1: Расширение запроса
LLM добавляет профессиональные термины и контекст
→ Развёрнутый профессиональный вопрос

ШАГ 2: PICO-извлечение 
LLM извлекает 4 ключевых элемента:
- P (Population) — кто/что является субъектом
- I (Intervention) — какое действие/вмешательство
- C (Comparison) — с чем сравнивается (опционально)
- O (Outcome) — желаемый результат
→ Структурированные поисковые термины

ШАГ 3: RAG-поиск по PICO-элементам
Поиск идёт по сжатым элементам, не по всему расширенному тексту
→ Релевантные доказательства → Точный ответ

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


🚀

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

Задача: Мама двухлетнего ребёнка пишет в медицинский чат: "Сопли уже неделю, Називин не помогает, что ещё попробовать?"

Промпт (Шаг 1 — расширение):

Ты — медицинский консультант. Расширь этот вопрос профессиональными терминами, 
добавь важный контекст для педиатрии. Не отвечай на вопрос, только переформулируй.

Вопрос: "Сопли уже неделю, Називин не помогает, что ещё попробобвать?"

Промпт (Шаг 2 — извлечение PICO):

Извлеки ключевые элементы из этого медицинского вопроса в формате PICO:

P (Population) — кто пациент, возраст, состояние
I (Intervention) — какое лечение/действие
C (Comparison) — с чем сравнивается
O (Outcome) — желаемый результат

Расширенный вопрос: [вставить результат Шага 1]

Результат:

На Шаге 1 модель выдаст развёрнутый профессиональный текст с терминами "ринит", "деконгестанты", "возрастные ограничения", "аллергический компонент", возможно упомянет синуситы и другие диагнозы. На Шаге 2 из этого текста будут извлечены только критически важные элементы: P = ребёнок 2 года, ринит 7 дней; I = медикаментозное лечение; C = Називин неэффективен; O = устранение симптомов. Шаг 3: поиск по этим четырём элементам найдёт статьи именно про затяжной детский ринит и альтернативы сосудосуживающим каплям, а не случайные упоминания Називина в контексте взрослых пациентов или других заболеваний.


🧠

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

LLM хорошо расширяет контекст, добавляя профессиональную терминологию и релевантные детали. Но при этом модель создаёт шум — упоминает смежные диагнозы, препараты из других групп, добавляет общие фразы вроде "консультация специалиста" или "дифференциальная диагностика". Если искать по всему этому тексту, поисковая система найдёт слишком много нерелевантного.

Сильная сторона LLM — извлечение структурированной информации из текста. Модель умеет выделять суть: кто пациент, что с ним делается, что хотим получить. PICO-формат — это медицинский стандарт формулировки клинических вопросов, но принцип универсален: отбрось детали, оставь критически важное.

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


📋

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

Базовый шаблон (для медицинских вопросов):

# ШАГ 1: Расширение
Ты — медицинский консультант по направлению {дисциплина}.
Расширь этот вопрос профессиональными терминами, добавь важный контекст.
НЕ отвечай на вопрос, только переформулируй его профессионально.

Вопрос: {исходный_вопрос}

---

# ШАГ 2: PICO-извлечение
Извлеки ключевые элементы из расширенного вопроса:

P (Population) — кто пациент (возраст, пол, состояние)
I (Intervention) — какое действие/лечение/вмешательство
C (Comparison) — с чем сравнивается (если есть)
O (Outcome) — желаемый результат

Расширенный вопрос: {результат_шага_1}

Выдай результат строго в формате:
P: ...
I: ...
C: ...
O: ...

Поля для подстановки:

  • {дисциплина} — медицинская специальность (педиатрия, кардиология, неврология и т.д.) или просто "общая медицина"
  • {исходный_вопрос} — вопрос пользователя как есть
  • {результат_шага_1} — текст, который выдала модель на Шаге 1

Адаптация под другие домены (не медицина):

PICO → СПДР (Субъект, Проблема, Действие, Результат):

  • С (Субъект) — кто/что является объектом (бизнес, процесс, система)
  • П (Проблема) — что не так, какое ограничение
  • Д (Действие) — какое решение/изменение рассматривается
  • Р (Результат) — что хотим получить

⚠️

Ограничения

⚠️ Требует двух последовательных запросов: Сначала расширение, потом извлечение. Для простых вопросов это избыточно — можно спросить напрямую.

⚠️ PICO изначально для медицины: Формат разработан для клинических вопросов. В других доменах нужна адаптация структуры (см. СПДР выше).

⚠️ Зависит от качества расширения: Если на Шаге 1 модель добавит неверный контекст, Шаг 2 извлечёт неправильные элементы. Критически важно указать правильную дисциплину или дать модели достаточно контекста.


🔍

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

Исследователи взяли китайский датасет WebMedQA — реальные вопросы пациентов с медицинских форумов. Это живой, непрофессиональный язык: люди пропускают детали, используют разговорные термины, описывают симптомы неточно. Проверяли на 500 вопросах разных типов: про лечение, диагностику, стоимость услуг.

Baseline — стандартный RAG: вопрос пользователя → векторный поиск → генерация ответа.

PICOs-RAG — расширение → PICO-извлечение → поиск по PICO → генерация.

Сравнивали на двух метриках оценки:

  • Method A (релевантность): насколько ответ покрывает информацию из эталонного ответа (оценивает BaiChuan2-13B)
  • Method B (точность): насколько ответ корректен с медицинской точки зрения (оценивает GPT-4o-mini)

PICOs-RAG выиграл на обеих метриках: +6.2% по Method A, +8.6% по Method B. Интересно, что улучшение устойчиво — работает на разных типах вопросов и при разных оценщиках.

Почему PICO, а не PIO? Проверили вариант без компонента C (Comparison). Разница оказалась минимальной (меньше 1%), но PICO чуть лучше — поэтому выбрали его. Это показывает, что сравнительный контекст иногда важен.

Любопытная деталь: когда убрали классификацию по дисциплинам (Шаг 0), Method B показал рост точности, но Method A упал на 12%. Причина: без дисциплины модель расширяет вопрос слишком широко, ответ получается общий и всеобъемлющий, но теряет фокус на специфике проблемы пользователя. Это подтверждает: контекст дисциплины критически важен для релевантности.


💡

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

📌

💡 Адаптация для юридических консультаций

PICO в юридическом контексте → СФТР (Сторона, Факты, Требование, Результат):

# ШАГ 1: Расширение
Ты — юридический консультант по {отрасль_права}.
Расширь этот вопрос профессиональными юридическими терминами.
НЕ давай юридическую оценку, только переформулируй.

Вопрос: {исходный_вопрос}

---

# ШАГ 2: СФТР-извлечение
Извлеки ключевые элементы:

С (Сторона) — кто участники (истец, ответчик, статус)
Ф (Факты) — что произошло (обстоятельства дела)
Т (Требование) — что хочет заявитель (иск, претензия)
Р (Результат) — какой исход желателен

Расширенный вопрос: {результат_шага_1}

Пример: "Застройщик не сдал квартиру вовремя, хочу штраф и неустойку"С: Дольщик vs Застройщик; Ф: Нарушение срока сдачи по ДДУ; Т: Неустойка по ст. 6 214-ФЗ; Р: Взыскание неустойки и компенсации морального вреда.


📌

💡 Адаптация для бизнес-анализа

PICO для бизнеса → КЗМР (Контекст, Задача, Метод, Результат):

# ШАГ 1: Расширение
Расширь этот бизнес-вопрос профессиональными терминами из {сфера_бизнеса}.
Добавь контекст рынка, типичные метрики, известные подходы.

Вопрос: {исходный_вопрос}

---

# ШАГ 2: КЗМР-извлечение
К (Контекст) — какой бизнес, рынок, стадия
З (Задача) — какая проблема/цель
М (Метод) — какие решения рассматриваются
Р (Результат) — какие метрики успеха

Расширенный вопрос: {результат_шага_1}

Пример: "Делаю SaaS для малого бизнеса, CAC высокий, как снизить?"К: B2B SaaS, малый бизнес РФ, ранняя стадия; З: Снижение CAC; М: Оптимизация воронки, контент-маркетинг, реферальная программа; Р: CAC < LTV/3, окупаемость < 12 месяцев.


📌

🔧 Техника: однозапросная версия → экономия на API-вызовах

Если нужна скорость, объединяем Шаг 1 и Шаг 2:

Ты — медицинский консультант. Выполни два действия:

1. Расширь вопрос профессиональными терминами по направлению {дисциплина}
2. Сразу извлеки PICO-элементы из расширенного вопроса

Формат ответа:
[РАСШИРЕННЫЙ ВОПРОС]
...текст...

[PICO]
P: ...
I: ...
C: ...
O: ...

Вопрос: {исходный_вопрос}

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


🔗

Ресурсы

Работа: "PICOs-RAG: PICO-supported Query Rewriting for Retrieval-Augmented Generation in Evidence-Based Medicine"

Авторы: Mengzhou Sun, Sendong Zhao, Jianyu Chen, Bing Qin

Организация: Faculty of Computing, Harbin Institute of Technology, Китай

Отсылки:

  • PICO framework — стандарт формулировки клинических вопросов в доказательной медицине
  • WebMedQA dataset — китайский датасет вопросов пациентов с медицинских форумов
  • RAG (Retrieval-Augmented Generation) — метод генерации с поиском внешних доказательств

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

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

Парадокс поиска с дополнением (RAG): чем больше контекста добавляет модель, тем хуже результаты поиска. Запрос «сопли неделю, Називин не помог» расширяется до текста про риниты, синуситы, аллергии, деконгестанты — и поиск находит случай 69-летнего с пневмонией вместо статьи про детский насморк. Метод PICOs-RAG позволяет находить точные медицинские доказательства без шума через двухшаговую обработку. Фишка: сначала расширь запрос профессиональными терминами, потом отфильтруй только критически важное — четыре элемента PICO (Пациент, Вмешательство, Сравнение, Результат). Поиск идёт по сжатым элементам, не по всему расширенному тексту — точность выросла на 6-8%.

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

Не расширяй запрос и не ищи сразу. Не извлекай структуру из исходного вопроса напрямую. Делай в два шага: Шаг 1 — модель обогащает вопрос контекстом и терминологией. Шаг 2 — та же модель выбрасывает шум и оставляет суть через формат PICO. Из «сопли неделю» получается развёрнутый текст про ринит, возрастные ограничения, группы препаратов. Потом из этого текста извлекаются четыре элемента: P (ребёнок 2 года, ринит 7 дней), I (медикаментозное лечение), C (Називин неэффективен), O (убрать симптомы). Поиск по этим четырём — находит статьи про затяжной детский насморк, не случайные упоминания Називина у взрослых.

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

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

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

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

Мини-рецепт

1. Расширь запрос: Дай модели роль специалиста по дисциплине. Инструкция: Расширь этот вопрос профессиональными терминами, добавь важный контекст. НЕ отвечай, только переформулируй. Указывай дисциплину явно — это критически важно для правильного контекста.

2. Извлеки структуру PICO: Скорми модели результат Шага 1. Инструкция: Извлеки ключевые элементы: P (кто пациент — возраст, состояние), I (какое действие/лечение), C (с чем сравнивается, если есть), O (желаемый результат). Требуй строгий формат вывода: P: ..., I: ..., C: ..., O: ...

3. Ищи по элементам PICO: Используй четыре извлечённых элемента как поисковые термины для системы поиска с дополнением (RAG), не весь расширенный текст из Шага 1.

Примеры

[ПЛОХО] : У ребёнка сопли неделю, Називин не помогает, что ещё? → прямой поиск по этому тексту находит статьи где упоминается Називин в любом контексте, включая взрослых пациентов и другие заболевания.
[ХОРОШО] : Шаг 1 — модель расширяет до текста про «ринит у детей раннего возраста, деконгестанты, возрастные ограничения, дифференциальная диагностика, аллергический компонент». Шаг 2 — модель извлекает P: ребёнок 2 года, ринит 7 дней | I: медикаментозное лечение | C: Називин неэффективен | O: устранение симптомов. Поиск по этим четырём элементам находит статьи именно про затяжной детский ринит и альтернативы сосудосуживающим каплям — точность +6-8%.
Источник: PICOs-RAG: PICO-supported Query Rewriting for Retrieval-Augmented Generation in Evidence-Based Medicine
ArXiv ID: 2510.23998 | Сгенерировано: 2026-01-12 00:20

Проблемы LLM

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

Методы

МетодСуть
Двухшаговая фильтрация — расширение потом сжатиеШаг 1: Попроси модель расширить вопрос. Промпт: "Переформулируй вопрос профессионально, добавь термины. НЕ отвечай на вопрос, только расширь его". Шаг 2: Попроси извлечь структуру из расширенного текста. Промпт: "Извлеки ключевые элементы: КТО (субъект), ЧТО ДЕЛАЕТСЯ (действие), С ЧЕМ СРАВНИВАЕТСЯ, ЧТО ХОТИМ (результат)". Шаг 3: Используй только извлечённые элементы для поиска. Почему работает: Модель хорошо добавляет контекст. Модель хорошо извлекает структуру. Но плохо делает оба действия одновременно. Два запроса = две сильные стороны. Первый обогащает (не теряем важное), второй сжимает (не ищем лишнее). Применяй когда: сложные вопросы с профессиональной терминологией, RAG-системы где важна точность поиска, прямое расширение даёт нерелевантные результаты. Не работает: простые вопросы (избыточно), если Шаг 1 добавит неверный контекст — Шаг 2 извлечёт неправильное

Тезисы

ТезисКомментарий
Расширение и фильтрация в одном запросе работают хуже чем в двухКогда просишь "расширь И выдели главное" в одном промпте — модель либо не расширяет достаточно, либо не фильтрует шум. Два действия конкурируют за внимание модели. Два отдельных запроса дают каждому действию полный фокус. Каждый шаг использует свою сильную сторону модели. Применяй: для сложной обработки делай несколько последовательных запросов с чёткой задачей в каждом. Не комбинируй противоположные действия (расширить + сжать, добавить + убрать) в один промпт
Извлечение структуры работает точнее на расширенном тексте чем на исходномЕсли извлекать ключевые элементы сразу из короткого вопроса — теряются детали. Модель не видит полную картину. Если сначала расширить вопрос, потом извлечь структуру — модель работает с полным контекстом и извлекает точнее. Парадокс: добавь информации чтобы потом лучше сжать. Применяй: для задач "выдели главное" сначала попроси модель развернуть текст с контекстом и терминами, потом извлекай структуру из развёрнутой версии. Не извлекай сразу из исходного текста
📖 Простыми словами

PICOs-RAG: двухшаговая фильтрация запросов для точного поиска информации

arXiv: 2510.23998

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

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

На практике это работает в два хода. Сначала LLM берет твой запрос и достраивает контекст, добавляя профессиональные термины и возможные диагнозы — это нужно, чтобы не упустить суть. Но вместо того, чтобы скармливать этот раздутый текст поисковику, включается фильтр PICOs-RAG. Он выгрызает из текста только критические элементы: например, «ребенок 2 лет» (Population) и «оксиметазолин» (Intervention). Поиск идет строго по этим тегам, что отсекает 90% нерелевантного мусора, который обычно ломает логику обычных моделей.

Хотя метод обкатывали на доказательной медицине, этот принцип универсален. Его можно натянуть на юриспруденцию, инженерию или техподдержку — везде, где есть строгая структура данных и цена ошибки слишком велика. Вместо того чтобы надеяться, что нейронка «сама разберется» в твоем длинном промпте, мы заставляем её сначала структурировать хаос, а потом искать ответ только по ключевым опорам. Это превращает поиск из лотереи в точный инструмент.

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

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

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

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