3,583 papers
arXiv:2511.19325 72 24 нояб. 2025 г. FREE

Query Expansion с мультиязычными LLM: длина запроса определяет стратегию промптинга

КЛЮЧЕВАЯ СУТЬ
Чем проще ваш поисковый запрос, тем тупее должен быть промпт. Попытка использовать Chain-of-Thought или few-shot для запроса из 1-3 слов приводит к concept drift — модель «заражается» примерами и генерирует мета-текст («Давайте разберём...») вместо релевантного ответа. Метод позволяет правильно выбирать стратегию промптинга для расширения поисковых запросов. Градиент простоты: короткий запрос (1-3 слова) → zero-shot без примеров, длинный запрос (вопрос-предложение) → few-shot с примерами. Результат: чистый релевантный текст без воды.
Адаптировать под запрос

TL;DR

Исследование показывает, что длина вашего запроса определяет, какой тип промпта работает лучше. Авторы тестировали расширение запросов (когда LLM генерирует дополнительный текст для улучшения поиска) на разных моделях и языках.

Главная находка: для коротких запросов (1-3 слова) сложные техники промптинга вредят. Когда вы используете Chain-of-Thought или few-shot с примерами для короткого запроса, модель генерирует мета-текст ("Чтобы ответить на этот запрос, я предоставлю информацию о...") или "заражается" примерами — и это портит результат. А вот для длинных запросов (полноценные вопросы) few-shot с примерами работает лучше всего.

Принцип: чем короче ваш запрос — тем проще должен быть промпт. Чем длиннее и детальнее запрос — тем больше можно добавить структуры, примеров и инструкций.


🔬

Схема метода

КОРОТКИЙ ЗАПРОС (1-3 слова):
→ Zero-shot промпт (просто инструкция, без примеров)
→ Результат: чистый релевантный текст

ДЛИННЫЙ ЗАПРОС (предложение, вопрос):
→ Few-shot промпт (с примерами похожих задач)
→ Добавить оригинальный запрос к сгенерированному тексту
→ Результат: более точный и полный ответ

🚀

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

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

📌

Вариант 1: Короткий запрос

Промпт:

Сгенерируй короткий текст, который отвечает на поисковый запрос: "импортозамещение ПО"

Результат: Модель выдаст абзац текста о импортозамещении программного обеспечения — без лишних рассуждений, без мета-комментариев. Этот текст можно использовать как расширенный поисковый запрос или контекст для дальнейшей работы.

📌

Вариант 2: Длинный запрос

Промпт:

Вот примеры того, как выглядит хороший развёрнутый ответ на поисковый запрос:

Запрос: "какие документы нужны для регистрации ИП"
Ответ: Для регистрации индивидуального предпринимателя в России необходимо подготовить заявление по форме Р21001, копию паспорта, квитанцию об оплате госпошлины. Подать можно через МФЦ, налоговую или портал Госуслуг.

Теперь сгенерируй такой же развёрнутый ответ на запрос: "какие налоговые режимы доступны для самозанятых в 2024 году и чем они отличаются"

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


🧠

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

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

Почему zero-shot лучше для коротких: простая инструкция без примеров не даёт модели "зацепок" для дрейфа. Она фокусируется только на запросе и генерирует релевантный текст.

Почему few-shot лучше для длинных: длинный запрос содержит достаточно контекста, чтобы "перевесить" влияние примеров. Модель понимает, что именно нужно, и примеры помогают ей выдержать нужный формат и глубину ответа.

Рычаг управления: если ваш запрос средней длины — экспериментируйте. Попробуйте zero-shot, если результат размытый — добавьте один пример. Если результат "заражён" примером — уберите его.


📋

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

📌

Для коротких запросов (zero-shot):

Напиши краткий информативный текст по теме: {тема_запроса}

Текст должен содержать ключевые факты и термины, связанные с темой.
📌

Для длинных запросов (few-shot):

Вот пример развёрнутого ответа на информационный запрос:

Запрос: {пример_запроса}
Ответ: {пример_ответа}

Теперь напиши такой же развёрнутый ответ на запрос: {твой_запрос}

Добавь к ответу оригинальный запрос в начале.

Плейсхолдеры:

  • {тема_запроса} — 1-3 слова, ваша тема поиска
  • {пример_запроса} — похожий по формату вопрос
  • {пример_ответа} — образец ответа нужного формата и глубины
  • {твой_запрос} — ваш полный вопрос

⚠️

Ограничения

⚠️ Контекст исследования: выводы получены для задачи информационного поиска (retrieval), а не для генерации текстов или диалогов. Для креативных задач закономерности могут отличаться.

⚠️ Языковые различия: для языков с нелатинским алфавитом (китайский, арабский, японский) расширение запросов даёт больший прирост, но абсолютные результаты всё равно ниже. Если работаете с мультиязычным контентом — учитывайте это.

⚠️ Concept drift: при few-shot промптах модель может "подхватить" темы из примеров и добавить нерелевантный контент. Проверяйте, что ваши примеры не "заражают" ответ.


🔍

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

Команда взяла три модели (Aya Expanse 8B, Gemma 3 4B и 12B) и протестировала их на двух датасетах с принципиально разными типами запросов. CLIRMatrix — это запросы из заголовков Wikipedia (1-2 слова), mMARCO — полноценные вопросы из поисковых логов Bing.

Интересная деталь дизайна: исследователи варьировали порядок операций — сначала перевод, потом расширение, или наоборот. Оказалось, что расширение до перевода работает лучше для точности.

Неожиданный результат: fine-tuning на одном типе запросов ухудшил результаты на другом типе. Модель, дообученная на коротких запросах CLIRMatrix, показала падение на длинных запросах mMARCO. Это важный инсайт: специализация может вредить, если задачи различаются по формату.

Прирост от расширения запросов составил до 15% для коротких запросов и до 10% для длинных — при этом разница между техниками промптинга была меньше, чем разница между "с расширением" и "без расширения".


💡

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

💡 Адаптация для работы с чат-ботами: принцип "длина запроса → сложность промпта" работает и для обычных диалогов с ChatGPT/Claude. Если даёте короткую задачу — не перегружайте инструкциями и примерами. Если задача комплексная и детальная — добавляйте структуру, примеры, критерии оценки.

🔧 Техника: детектор concept drift

Если подозреваете, что модель "дрейфует" от темы:

Перечитай свой ответ. Все ли части напрямую связаны с запросом "{оригинальный_запрос}"? 
Удали абзацы, которые отвечают на другие вопросы.

💡 Адаптация для RAG-систем: если строите поиск по документам — учитывайте формат запросов ваших пользователей. Для поиска по ключевым словам используйте zero-shot расширение. Для поиска по вопросам — few-shot с примерами документов из вашей базы.


🔗

Ресурсы

Работа: "Generative Query Expansion with Multilingual LLMs for Cross-Lingual Information Retrieval"

Авторы: Olivia Macmillan-Scott (The Alan Turing Institute, UCL), Roksana Goworek (The Alan Turing Institute, Queen Mary University of London), Eda B. Özyi˘git (The Alan Turing Institute)

Датасеты: CLIRMatrix, mMARCO

Модели: Aya Expanse 8B, Gemma 3 4B, Gemma 3 12B


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

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

Чем проще ваш поисковый запрос, тем тупее должен быть промпт. Попытка использовать Chain-of-Thought или few-shot для запроса из 1-3 слов приводит к concept drift — модель «заражается» примерами и генерирует мета-текст («Давайте разберём...») вместо релевантного ответа. Метод позволяет правильно выбирать стратегию промптинга для расширения поисковых запросов. Градиент простоты: короткий запрос (1-3 слова) → zero-shot без примеров, длинный запрос (вопрос-предложение) → few-shot с примерами. Результат: чистый релевантный текст без воды.

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

Не пытайся впихнуть структуру в короткий запрос — дай модели минимум инструкций. Для «импортозамещение ПО» достаточно «Сгенерируй текст по теме: {запрос}» — без рассуждений, без примеров. Правило градиента: чем короче запрос, тем проще промпт. Для длинного вопроса («какие налоговые режимы доступны для самозанятых и чем отличаются») можно и нужно добавить few-shot — модель видит паттерн из примеров и держит фокус на запросе, потому что длинный запрос перевешивает влияние примеров.

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

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

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

Информационный поиск и query expansion → конкретно для задач, где LLM генерирует дополнительный текст для улучшения поиска релевантных документов, особенно когда работаешь с короткими запросами (ключевые слова) или развёрнутыми вопросами. НЕ подходит для креативных задач — выводы получены для retrieval, не для генерации контента или диалогов.

Мини-рецепт

1. Определи длину запроса: 1-3 слова = короткий, полноценный вопрос = длинный
2. Короткий запрос (zero-shot): Напиши краткий информативный текст по теме: {тема}. Текст должен содержать ключевые факты и термины.
3. Длинный запрос (few-shot): Добавь пример похожего вопроса и ответа → Вот пример: Запрос: {пример}. Ответ: {ответ}. Теперь напиши такой же развёрнутый ответ на: {твой_вопрос}. Добавь оригинальный запрос в начало.
4. Средняя длина: Начни с zero-shot, если результат размытый — добавь один пример. Если видишь «заражение» темой примера — убери его.

Примеры

[ПЛОХО] : Короткий запрос «импортозамещение ПО» + few-shot с примерами про другие темы → модель генерирует Давайте разберём вопрос импортозамещения, как в примере про регистрацию ИП... (дрейф к теме примеров, мета-текст)
[ХОРОШО] : Короткий → Сгенерируй текст по теме: импортозамещение ПО (zero-shot) → чистый релевантный абзац. Длинный → Пример: Запрос: какие документы для ИП. Ответ: заявление Р21001, паспорт, госпошлина. Теперь ответь: какие налоговые режимы для самозанятых в 2024 и чем отличаются (few-shot) → структурированный ответ по паттерну
Источник: Generative Query Expansion with Multilingual LLMs for Cross-Lingual Information Retrieval
ArXiv ID: 2511.19325 | Сгенерировано: 2026-01-11 20:25

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

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

Query Expansion с мультиязычными LLM: длина запроса определяет стратегию промптинга

arXiv: 2511.19325

Суть тут в том, что современные поисковики на базе нейронок — это не просто сканеры ключевых слов, а капризные интеллектуалы. Когда ты просишь их найти что-то, они используют расширение запроса, то есть додумывают за тебя контекст, чтобы поиск был точнее. Но вот беда: если твой запрос короткий, как выстрел, стандартные методы «умного» общения с AI начинают только мешать. Модель ловит concept drift — это когда нейронка уплывает в дебри, смешивая твою задачу с примерами из своей памяти, и выдает на гора кучу мусора вместо сути.

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

Исследователи выяснили четкую закономерность: для коротких фраз в 1–3 слова лучше всего работает Zero-shot промпт. Это когда ты даешь голую инструкцию без всяких примеров и рассуждений. Как только ты добавляешь Few-shot (примеры) или заставляешь модель «думать пошагово», она начинает галлюцинировать и приплетать лишнее. В цифрах это выглядит так: на коротких дистанциях простота бьет сложность, потому что модель не успевает запутаться в собственных ассоциациях и выдает чистый релевантный текст.

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

Короче, забудь про универсальные «золотые промпты» на все случаи жизни. Если твой запрос лаконичен — используй прямую инструкцию и не парь модели мозг примерами, иначе получишь ответ, который мимо кассы. Чем короче вводные, тем меньше должно быть «украшательств» в промпте. Кто поймет этот баланс, тот и будет получать от AI нормальные ответы, пока остальные тонут в информационном шуме.

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

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

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