Понимание запроса и суммаризация
Две стороны одной функции
Заголовок раздела «Две стороны одной функции»Понимание запроса и суммаризация кажутся разными задачами, но это два конца одного процесса:
- На входе короткая и неточная формулировка, которую нужно превратить в хороший поисковый запрос.
- На выходе длинный набор найденного, который нужно сжать в ответ, не потеряв смысл и не потеряв источники.
Модель полезна на обоих концах, но по разным причинам: на входе — потому что понимает разговорный язык, на выходе — потому что умеет работать с большим объёмом текста.
Понимание запроса
Заголовок раздела «Понимание запроса»| Шаг | Что делает | Пример |
|---|---|---|
| Нормализация | Регистр, опечатки, раскладка, лишние символы | «rjgjvbxrf» → «компьютер» |
| Определение намерения | Купить, узнать, сравнить, найти конкретное | «цена» → транзакционный |
| Извлечение ограничений | Числа, даты, бренды, категории | «до 8000», «на выходных», «Nike» |
| Переписывание | Расширение синонимами, профессиональные термины | «не греет» → «низкое энергопотребление» |
| Декомпозиция | Составной вопрос на подвопросы | «сравни тарифы для ИП и ООО» → два запроса |
| Контекст диалога | Подстановка темы из предыдущих реплик | «а сколько это стоит?» → подставить предмет |
Порядок важен: дешевле сначала нормализовать и извлечь ограничения кодом, а модель звать только там, где без неё нельзя. Нормализация опечаток через LLM — дорогой способ решить задачу, с которой справляется словарь и расстояние Левенштейна.
Fan-out: один вопрос — много запросов
Заголовок раздела «Fan-out: один вопрос — много запросов»Ответные движки и продвинутые поисковики не выполняют один запрос. Они разворачивают вопрос в набор подвопросов («fan-out»), ищут по каждому, затем объединяют и синтезируют ответ. Это объясняет, почему в ответе могут оказаться источники, которые не отвечают на исходную формулировку буквально.
Для внутреннего поиска тот же приём полезен, когда вопрос составной: «какие документы нужны для возврата товара, купленного по карте» — это и регламент возврата, и способы оплаты, и сроки.
Цена — несколько вызовов модели и поиска на один запрос. Оправдано там, где ответ важнее задержки.
Суммаризация
Заголовок раздела «Суммаризация»Задача выглядит простой («сократи»), но у неё есть жёсткие требования, если результат идёт пользователю:
- Не терять цифры и условия. «До 30 дней» и «до 30 рабочих дней» — разные утверждения.
- Не менять модальность. «Может быть возвращён» не равно «будет возвращён».
- Сохранять источник. Каждое утверждение должно быть проверяемо; в ответных движках цитата — часть формата.
- Признавать противоречия. Если в двух документах разные сроки, честнее показать расхождение, чем выбрать один молча.
- Укладываться в формат. Сниппет на 300 знаков и обзор на 3000 слов — разные задачи с разными правилами.
Длинный контекст: что важно знать
Заголовок раздела «Длинный контекст: что важно знать»- «Помещается» не значит «прочитано». Модель может потерять факт из середины документа; важное лучше ставить в начало и в конец.
- Стоимость растёт линейно. Суммаризация 200 страниц на каждый запрос — дорогое удовольствие; кэширование и предварительные выжимки окупаются.
- Иерархия лучше одного вызова. Сначала выжимки по разделам, потом общий вывод — точнее и дешевле, чем «прочитай всё».
- Карта документа. Для больших корпусов полезно хранить оглавление и краткие описания разделов — это дешевле, чем full-text.
Где ломается
Заголовок раздела «Где ломается»- Переписывание меняет смысл. «Дешёвый» превратилось в «бюджетный сегмент», и поиск ушёл в другую категорию. Переписанный запрос стоит логировать и проверять.
- Слишком много подвопросов. Ответ становится общим, потому что каждый подвопрос размыл фокус.
- Галлюцинация в суммаризации. Модель добавляет «очевидное» условие, которого в тексте не было.
- Потеря редкого случая. Сжатие отбрасывает исключения — а именно они чаще всего и важны.
- Сниппет без источника. Пользователь не может проверить утверждение и либо верит зря, либо не верит вовсе.
Что проверять
Заголовок раздела «Что проверять»- Логируются ли исходный и переписанный запросы.
- Есть ли набор эталонных вопросов с правильными ответами и цитатами.
- Проверяется ли суммаризация на числах и условиях отдельно от общего качества.
- Обрабатываются ли противоречия между источниками явно.
- Укладывается ли задержка в ожидания интерфейса: понимание запроса на каждый ввод символа недопустимо дорого.
Связанные материалы
Заголовок раздела «Связанные материалы»- Поиск по сайту — куда уходит переписанный запрос.
- Ответные движки — где fan-out и цитаты видны пользователю.
- Чанкинг — как устроен контекст, который потом сжимается.
- Оценка качества — как измерять суммаризацию.
Материалы и источники
Заголовок раздела «Материалы и источники»- Google: AI features in Search — как поиск формирует ответы и цитаты
- Anthropic: Contextual Retrieval — работа с фрагментами и их контекстом
- Lost in the Middle (Liu et al., 2023) — как модели теряют информацию в середине длинного контекста
- RAGAS — метрики обоснованности и полноты ответа