3,583 papers
arXiv:2510.10095 73 11 окт. 2025 г. FREE

CardRewriter: Карточки знаний для переписывания запросов

КЛЮЧЕВАЯ СУТЬ
LLM теряет фокус когда получает 10 документов с противоречиями одновременно. Начинает мешать факты из разных источников, появляются галлюцинации. CardRewriter позволяет работать с множественными противоречивыми источниками (поиск по видео, research, Q&A) без потери точности. Фишка: промежуточная карточка знаний — модель сначала суммаризирует все источники в краткую карточку (200 символов), потом использует карточку для основной задачи. Результат: модель работает с чистым контекстом вместо шумных данных.
Адаптировать под запрос

TL;DR

CardRewriter — RAG-техника для переписывания сложных запросов, которая работает в два шага: (1) собрать информацию из разных источников и суммаризировать её в карточку знаний, (2) использовать карточку как контекст для переписывания. Метод создан для платформ коротких видео (TikTok, Kuaishou), где LLM не знают специфический контент — стримеров, мемы, сленг, названия видео-серий.

Проблема: LLM галлюцинируют при запросах про специфический контент платформы. Пользователь ищет видео-серию "The Fostered Children" автора "Coco-Cola" (可可可乐), но опечатывается и пишет "Coca-Cola" (可口可乐). LLM думает что это про напиток, добавляет "creative ad" — результаты полностью мимо. Если скормить LLM кучу сырых данных (топ-10 видео, описания, OCR с кадров) — появляется шум и противоречия. Например, одно видео про MBTI-тест с "журавлём", другое про скин персонажа в игре. LLM запутывается и выдаёт ерунду.

Суть метода: Вместо прямой подачи сырых данных в LLM, CardRewriter сначала суммаризирует multi-source информацию в краткую карточку знаний — 1-2 абзаца с ключевыми фактами релевантными запросу. Карточка убирает шум, разрешает противоречия, фокусирует на главном. Затем LLM использует карточку для переписывания запроса. Результат: "可可可乐 被寄养的孩子系列" (Coco-Cola, The fostered children series) — правильный автор, правильная серия.


🔬

Схема метода

ШАГ 1 [Knowledge Collection]: Собрать информацию
 → Топ-k видео по оригинальному запросу (заголовки, OCR, авторы, BGM, кадры)
 → Топ-k видео по похожим high-quality запросам (rule-based + embedding matching)
 → Внешние документы из open-domain API
 → Дедупликация → Multi-source knowledge M

ШАГ 2 [Card Generation]: Создать карточку знаний
 → LLM суммаризирует M в карточку (1-2 абзаца, <200 символов)
 → Карточка = краткое описание намерения пользователя

ШАГ 3 [Card-based Rewriting]: Переписать запрос
 → LLM получает: оригинальный запрос + карточка знаний
 → Выдаёт: переписанный запрос

Все три шага в отдельных промптах.

🚀

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

⚠️ Метод создан для e-commerce/video search с доступом к поисковой системе. Для обычного пользователя чатов — адаптируем принцип на доступные данные.

Задача: Ты консультант. Клиент спрашивает про "ту компанию с синим логотипом что делает чат-боты". У тебя 5 описаний разных компаний из поиска — часть про Microsoft, часть про Anthropic, часть про стартапы. Напрямую скормить все 5 описаний → LLM запутается в противоречиях.

Промпт Шаг 1 — Создай карточку:

У меня есть вопрос клиента: "та компания с синим логотипом что делает чат-боты"

Вот 5 описаний компаний из поиска:
1. Microsoft — голубой логотип, разработчик Copilot и интеграции с OpenAI
2. Anthropic — логотип с оранжевым кругом, создатели Claude
3. Startbot Inc — синий логотип, B2B чат-боты для e-commerce
4. ChatCorp — зелёный логотип, AI-ассистенты для банков
5. BotFactory — синий логотип, конструктор чат-ботов без кода

Создай карточку знаний (до 200 слов):
- Какие компании подходят под "синий логотип + чат-боты"
- Разреши противоречия (несколько кандидатов)
- Укажи ключевые отличия

Формат карточки:
{
 "relevant_companies": [...],
 "disambiguation": "...",
 "key_facts": "..."
}

Промпт Шаг 2 — Используй карточку для ответа:

Вопрос клиента: "та компания с синим логотипом что делает чат-боты"

Карточка знаний:
{вывод из шага 1}

Используя карточку:
1. Уточни у клиента о какой компании речь (если неоднозначно)
2. Или дай ответ если карточка однозначно указывает на компанию

Результат:

Шаг 1 создаст структурированную карточку с двумя кандидатами (Microsoft и Startbot Inc), разрешит противоречия (Anthropic не подходит по логотипу). Шаг 2 использует карточку для уточняющего вопроса или прямого ответа. Без промежуточной карточки LLM часто выдаёт мешанину фактов из всех 5 описаний.


🧠

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

Слабость LLM: Модель плохо фильтрует шум при большом объёме противоречивых данных. Если скормить 10 документов с разной информацией — часть фактов перепутаются, появятся галлюцинации, теряется фокус на оригинальном запросе.

Сильная сторона LLM: Модель отлично суммаризирует и структурирует информацию когда задача явная. Если попросить "выдели главное релевантное для вопроса X" — LLM справляется лучше чем с прямым "ответь на X используя все данные".

Как метод использует это: CardRewriter разделяет задачу на два этапа с разными когнитивными нагрузками. (1) Compression: суммаризация шумных данных в фокусированную карточку — LLM работает как фильтр и структуризатор. (2) Generation: использование чистого контекста (карточки) для основной задачи — LLM работает с минимальным шумом. Промежуточная карточка снимает когнитивную перегрузку — модель не пытается одновременно фильтровать и генерировать.

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

  • Длина карточки (<200 символов в оригинале): Уменьши для простых задач → быстрее и дешевле. Увеличь для сложных → больше контекста.
  • Формат карточки: JSON для структурированных данных, prose для описательных. Можно задать явную структуру: "Карточка должна содержать: 1) disambiguation, 2) key facts, 3) contradictions resolved"
  • Количество источников: Оригинал собирает топ-k видео + похожие запросы + external docs. В чате: сколько документов скормить на Шаг 1? 3-5 для простых задач, 10+ для complex research.
  • Итеративность: Можно добавить третий шаг — если карточка неоднозначна, собери дополнительные источники и пересоздай карточку.

📋

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

📌

Шаг 1: Создание карточки знаний

У меня есть {задача/вопрос}: "{текст_задачи}"

Доступная информация из {количество} источников:
{источник_1}
{источник_2}
...
{источник_N}

Создай карточку знаний (до {лимит_слов} слов):
- Выдели факты релевантные для задачи
- Разреши противоречия между источниками
- Укажи что однозначно, а что требует уточнения
- Игнорируй нерелевантную информацию

Формат карточки: {опционально: JSON / prose / структурированный список}

Что подставить:

  • {задача/вопрос} — твоя основная задача
  • {источник_N} — каждый документ/текст/контекст
  • {лимит_слов} — 100-300 слов в зависимости от сложности
  • Формат карточки можно задать явно или оставить на усмотрение модели
📌

Шаг 2: Использование карточки для задачи

{задача/вопрос}: "{текст_задачи}"

Карточка знаний:
{вывод_из_шага_1}

Используя карточку как контекст, {что_нужно_сделать}.
{дополнительные_инструкции}

Что подставить:

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

🚀 Быстрый старт — вставь в чат:

Вот шаблон CardRewriter для работы с множественными источниками информации. 
Адаптируй под мою задачу: [опиши свою задачу]. 
Задавай вопросы чтобы заполнить поля.

[вставить Шаг 1 и Шаг 2 выше]

LLM спросит: (1) какая у тебя задача, (2) какие источники доступны, (3) в каком формате нужна карточка, (4) что делать с карточкой на втором шаге. Она возьмёт двухшаговый паттерн из шаблона и адаптирует под твою ситуацию — ты получишь промпты готовые к использованию.


⚠️

Ограничения

⚠️ Требует доступ к данным: Оригинальный CardRewriter работает с поисковой системой платформы (топ-k видео, метаданные, похожие запросы). В обычном чате у тебя нет автоматического доступа к такой инфре — нужно вручную собрать источники или использовать web search.

⚠️ Два запроса вместо одного: Метод делает два промпта (создание карточки + использование карточки) вместо одного прямого. Если задача простая или источников мало (1-2) — овчинка выделки не стоит, прямой промпт эффективнее.

⚠️ Качество зависит от источников: Если все источники нерелевантные или противоречивые — карточка не спасёт. Garbage in → garbage out, даже с промежуточной суммаризацией.

⚠️ Не для креатива: Метод создан для фактических задач (поиск, Q&A, переписывание запросов). Для creative writing или brainstorming принцип карточек менее полезен.


🔍

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

Команда взяла реальные данные с платформы Kuaishou (китайский аналог TikTok): 200k запросов для обучения генерации карточек, 400k запросов для обучения query rewriting, 150k запросов для reward model. Для каждого запроса собрали топ-50/300 видео из поисковой системы, извлекли мультимодальный контент (заголовки, OCR с обложек, имена авторов, BGM, три ключевых кадра), добавили похожие запросы из логов и внешние документы.

Сравнивали три baseline: (1) Prompt-based — прямое переписывание через промпт, (2) Naive RAG — скормить все сырые данные напрямую, (3) Card RAG (CardRewriter) — создать карточку, потом переписать. Обучали модели через SFT + GRPO с кастомной наградой (баланс relevance + retrieval effectiveness). Тестили на 15k запросов.

Главный инсайт: Naive RAG ухудшает semantic relevance между оригиналом и rewrite (QR-Rel падает с 78% до 69-74% в зависимости от метода) — шум и противоречия в сырых данных сбивают модель с толку. Card RAG наоборот улучшает QR-Rel до 84-86%, потому что промежуточная суммаризация убирает шум и фокусирует модель.

Удивительное: Naive RAG увеличивает Increment (больше новых видео в выдаче) но не улучшает Hitrate (мало ground-truth видео среди новых) — модель просто галлюцинирует и добавляет случайный контент. Card RAG улучшает и Increment, и Hitrate одновременно — новые видео действительно релевантны.

Для практики: Если у тебя есть 5-10 документов и нужен точный ответ — не скармливай всё сразу. Двухшаговый workflow (summarize → use) даёт +10-20% к качеству при тех же токенах. Особенно критично когда источники противоречивые или шумные.


📄

Оригинал из исследования

Контекст: Исследователи использовали два промпта — один для генерации карточки, второй для query rewriting. Промпты на английском с примерами на китайском (оригинальная платформа — Kuaishou в Китае). Ниже — промпт для Card Generation, переведённый с китайского:

Role:
You are a short video search expert. Your task is to analyze the [original query], 
combine it with retrieved video information and general information, and generate 
a [demand description analysis] within 200 characters. This helps the platform 
better understand user intent, so it can rewrite an improved query.

Task Requirements:
1. Video information includes: title, cover OCR text, author name, background music name, key frames. 
 General information refers to open-domain data related to the query.

2. Use this information to determine video relevance to the [original query]. 
 User queries may contain ambiguous expressions — clarify the true referent 
 (specific streamer, short drama title, game name) in the [demand description analysis].

3. The [demand description analysis] must be concise and effective. 
 Do not include irrelevant content. 
 Do not include phrases like "based on video information" or "according to search results". 
 Do not give instructions on how to rewrite — only provide an analysis of user intent.

4. Output in JSON format. The "desc" field represents your analysis. 
 Final output must contain only one JSON result, no extra characters.

Input:
-- Original Query: {query}
-- Short Video Information:

... (repeat for other videos)
-- General Information: {external_docs}

Промпт для Card-based Rewriting:

Role:
You are an expert in optimizing user search queries for short video platforms. 
Your task is to rewrite the [original query] into a query that is more easily understood 
by search engines. You are provided with the [original query] and [demand analysis] 
from search experts. Use this analysis to understand and rewrite the query.

Task Requirements:
====Query Analysis Requirements====
1. Short video queries have these characteristics: 
 - Strong domain knowledge
 - Colloquial and concise descriptions
 - Vague or broad intent
 - High number of typos
 
2. Consider core intent, key entities, and attribute constraints. 
 Refer to [Demand Analysis] to correctly understand the [Original Query].

====Query Rewriting Requirements====
1. Rewrite from a video search expert perspective. 
 User's core intent and original needs must not change.
 Avoid changing the scope of original needs — don't remove key attributes 
 or add irrelevant restrictions.

2. The rewritten query should differ from the original — change wording and description 
 to increase retrieved videos and prevent duplication.

3. Keep rewritten query concise. Replace complex descriptions with synonyms. 
 Shorten long queries when possible, don't lengthen short queries. 
 Avoid meaningless suffixes like "xxx video" or "xxx related videos".

4. For long queries, use keywords in parallel rather than long declarative sentences.

5. Domain terms unclear after [Demand Analysis] should be output as is. 
 Don't guess their meaning. If query contains usernames, short drama titles, 
 or proper nouns, don't modify them.

====Output Requirements====
1. Output in JSON format. The "RewriteQuery" field represents [Rewritten Query].
2. Do not output any irrelevant symbols or descriptions besides the JSON.

Task Start:
Original Search Query: {{Query}}
Original Search Query Requirements Analysis: {{Card}}

Важные детали:

  • Оригинал работает с мультимодальным контентом (текст + изображения с видео)
  • Ограничение на длину карточки — 200 символов китайского текста (~100-150 английских слов)
  • JSON-формат вывода для лёгкого парсинга
  • Явные инструкции "не добавляй мета-комментарии" и "не меняй intent"

💡

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

💡 Адаптация для research задач:

Используй принцип карточек для работы с множественными источниками в исследовании. Вместо "прочитай 10 статей и напиши обзор" → делай в два шага.

Промпт Шаг 1 — Research Card:

У меня есть исследовательский вопрос: "{вопрос}"

Вот 10 источников:
{список статей/документов}

Создай research card:
- Консенсусные выводы (что все источники согласны)
- Противоречивые мнения (где источники расходятся)
- Пробелы в знаниях (что не покрыто)
- Топ-3 релевантных факта для моего вопроса

Формат: JSON с полями "consensus", "conflicts", "gaps", "key_facts"

Промпт Шаг 2 — Use Research Card:

Вопрос: "{вопрос}"

Research Card:
{вывод из шага 1}

Используя карточку, напиши краткий обзор (500 слов) отвечающий на вопрос.
Укажи где есть консенсус, где дискуссия, какие пробелы.

Этот подход лучше прямого "summarize 10 papers" потому что промежуточная карточка структурирует противоречия и пробелы явно.


🔧 Техника: Multi-iteration cards → постепенное уточнение контекста

Если информации много или она очень противоречивая — не пытайся создать финальную карточку сразу. Делай итеративно:

Итерация 1 — Создай черновую карточку из первых 3-5 источников:

Источники 1-5: {тексты}

Создай черновую карточку: основные темы, первичные выводы, явные противоречия.
Укажи какие вопросы остались без ответа.

Итерация 2 — Дополни карточку следующими 3-5 источниками:

Черновая карточка из итерации 1:
{вывод итерации 1}

Новые источники 6-10: {тексты}

Обнови карточку:
- Подтверди или опровергни выводы из черновика
- Разреши противоречия если новые источники дают ответ
- Добавь новые факты релевантные для задачи

Итерация 3 — Финализируй:

Обновлённая карточка:
{вывод итерации 2}

Создай финальную версию карточки (макс 200 слов):
- Только validated факты
- Разрешённые противоречия
- Ключевые инсайты

Этот метод полезен когда источников 10+, или когда нужна высокая точность — каждая итерация снижает шум и повышает confidence.


🔗

Ресурсы

CardRewriter: Leveraging Knowledge Cards for Long-Tail Query Rewriting on Short-Video Platforms — Peiyuan Gong, Feiran Zhu, Yaqi Yin, Chenglei Dai, Chao Zhang, Kai Zheng, Wentian Bao, Jiaxin Mao, Yi Zhang (Renmin University of China, Kuaishou Technology, 2025).

Метод развёрнут в продакшене на Kuaishou (китайская платформа коротких видео, конкурент TikTok) с сентября 2025, обслуживает сотни миллионов пользователей ежедневно.


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

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

LLM теряет фокус когда получает 10 документов с противоречиями одновременно. Начинает мешать факты из разных источников, появляются галлюцинации. CardRewriter позволяет работать с множественными противоречивыми источниками (поиск по видео, research, Q&A) без потери точности. Фишка: промежуточная карточка знаний — модель сначала суммаризирует все источники в краткую карточку (200 символов), потом использует карточку для основной задачи. Результат: модель работает с чистым контекстом вместо шумных данных.

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

Два отдельных промпта вместо одного. Шаг 1: Создать карточку знаний — скормить модели все источники с задачей "выдели главное релевантное для вопроса X, разреши противоречия, игнорируй шум". Модель выдаёт карточку (1-2 абзаца). Шаг 2: Использовать карточку — дать модели оригинальный вопрос + карточку (без сырых данных), попросить выполнить основную задачу. Модель работает только с отфильтрованным контекстом.

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

Слабость LLM — модель плохо фильтрует шум при большом объёме противоречивых данных. Если скормить 10 документов сразу, часть фактов перепутаются. Сильная сторона — модель отлично суммаризирует когда задача явная ("выдели главное"). CardRewriter разделяет когнитивные нагрузки — модель не пытается одновременно фильтровать и генерировать. Сначала работает как фильтр (создание карточки), потом как генератор (использование чистого контекста). Промежуточная карточка убирает когнитивную перегрузку.

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

Для задач с множественными источниками информации → конкретно для research, поиска по базе знаний, Q&A систем, особенно когда источники противоречат друг другу или содержат много нерелевантной информации. НЕ подходит для простых задач с 1-2 источниками (прямой промпт эффективнее) и creative writing (метод для фактических задач).

Мини-рецепт

1. Промпт "Создай карточку": Дай модели все источники + задачу "Создай карточку знаний (до 200 слов): выдели факты релевантные для {вопрос}, разреши противоречия, игнорируй шум. Формат: {JSON или prose}".
2. Промпт "Используй карточку": Дай модели оригинальный вопрос + карточку из шага 1 (БЕЗ сырых данных). Попроси выполнить основную задачу используя только карточку как контекст.

Примеры

[ПЛОХО] : У меня 10 статей про компанию X. Вот тексты всех статей: [10 длинных документов]. Ответь на вопрос: какая у компании X миссия? — модель путается в противоречиях между источниками, мешает факты.
[ХОРОШО] : Шаг 1: У меня вопрос: какая миссия у компании X? Вот 10 статей: [документы]. Создай карточку (до 200 слов): выдели факты про миссию, разреши противоречия между источниками, игнорируй нерелевантное. Шаг 2: Вопрос: какая миссия у компании X? Карточка знаний: [вывод из шага 1]. Используя карточку, дай развёрнутый ответ. — модель работает с чистым отфильтрованным контекстом.
Источник: CardRewriter: Leveraging Knowledge Cards for Long-Tail Query Rewriting on Short-Video Platforms
ArXiv ID: 2510.10095 | Сгенерировано: 2026-01-12 00:37

Проблемы LLM

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

Методы

МетодСуть
Промежуточная карточка знаний — фильтр шума из источниковШаг 1: Дай модели все источники (документы, выдержки, данные). Попроси создать карточку знаний — краткую суммаризацию (100-300 слов): выдели релевантное для задачи, разреши противоречия, отбрось шум. Формат: свободный текст или JSON. Шаг 2: Дай модели исходную задачу + карточку из шага 1. Попроси выполнить задачу используя карточку как контекст. Почему работает: Разделение задачи снимает когнитивную перегрузку. На шаге 1 модель только фильтрует и структурирует — делает это хорошо. На шаге 2 работает с чистым контекстом — нет шума и противоречий. Когда применять: 5+ источников информации, есть противоречия или нерелевантные данные, задача фактическая (поиск, анализ, Q&A). Когда не работает: 1-2 источника (овер-инжиниринг), креативные задачи, все источники одинаково нерелевантны
📖 Простыми словами

CardRewriter: Карточки знаний для переписывания запросов

arXiv: 2510.10095

Суть CardRewriter в том, что обычные нейронки тупеют, когда сталкиваются со специфическим контекстом вроде локальных мемов, имен стримеров или свежего сленга. Когда ты вбиваешь в поиск что-то редкое или странное, стандартная LLM пытается угадать смысл, опираясь на свои старые знания, и в итоге выдает полную ахинею. Метод решает проблему «длинного хвоста» — тех самых кривых запросов, по которым в базе мало данных, заставляя модель сначала собрать актуальное досье, а уже потом открывать рот.

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

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

Хотя метод обкатывали на поиске в TikTok и Kuaishou, принцип универсален. Его можно внедрить в любой e-commerce, базу знаний компании или сложный чат-бот. Везде, где есть уникальный контент, который не попадает в учебники, на которых учились GPT или Claude, стандартные методы поиска будут сосать лапу. CardRewriter превращает хаотичный набор метаданных в структурированный контекст, позволяя находить иголку в стоге сена, даже если эта иголка появилась там пять минут назад.

Главный вывод: не заставляй модель думать на пустом месте — сначала дай ей актуальную выжимку. Хватит надеяться, что LLM «сама поймет» контекст из огромного пласта документов; она просто захлебнется в них. Нужно внедрять промежуточное звено в виде таких карточек, иначе поиск по сложным и редким запросам останется бесполезным мусором. Кто научится фильтровать знания до того, как отдавать их модели, тот и получит адекватные ответы.

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

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

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