3,583 papers
arXiv:2610.16182 75 12 окт. 2026 г. FREE

SLKR (Semantic Label Knowledge Retrieval): сильная модель один раз пишет определения и «границы» между похожими категориями, а дешёвая по ним классифицирует

КЛЮЧЕВАЯ СУТЬ
Дешёвая модель путает «не пришёл заказ» и «заказ потерян» не от глупости. Ей просто никто не объяснил, где проходит граница. Метод SLKR позволяет раскладывать тысячи обращений по 40 категориям дешёвой моделью без единого размеченного примера. Сильная модель один раз пишет определения и правила для похожих пар. Фишка: правила пишутся не про категории, а про пары, которые легко спутать. Дешёвая модель на каждый текст видит только 15 нужных определений и 5 подходящих правил, а не весь справочник. Затраты сильной модели зависят от числа категорий, а не от числа текстов. Пять подобранных правил работают лучше пяти случайных.
Адаптировать под запрос
⚡

TL;DR

SLKR — схема классификации текстов по заранее заданным категориям, где работа делится между двумя моделями. Сильная модель один раз пишет для каждой категории определение и граничные правила для пар похожих категорий («чем „возврат денег" отличается от „возврата товара"»). Затем дешёвая модель классифицирует каждый входящий текст, видя только определения нескольких подходящих категорий и пару релевантных правил.

Главная находка: голые названия категорий в промпте — слабая опора. Дешёвая модель путает соседние категории: «не пришёл заказ» и «заказ потерян», «изменить карту» и «заблокировать карту». Определения помогают, но не решают спор между близкими классами. Граничные правила решают его точечнее. Важно подать только нужные правила. Пять случайных правил работают хуже пяти подобранных под текст. Лишний контекст не помогает, а на разнородных текстах даже вредит.

Метод в два этапа. Офлайн (один раз): сильная модель генерирует определения, ключевые слова для поиска и граничные правила. Онлайн (на каждый текст): поиск оставляет около 15 кандидатов-категорий, затем 5 самых уместных правил между ними, и дешёвая модель делает один вызов с определениями и правилами. Затраты сильной модели зависят от числа категорий, а не от числа текстов.

🔬

Схема метода

ОФЛАЙН (один раз, сильная модель, три независимых запроса):
ШАГ 1: Список категорий + описание задачи → определение каждой категории
ШАГ 2: Список категорий + описание задачи → ключевые слова для поиска
ШАГ 3: Список категорий + описание задачи → граничные правила для путаемых пар

ОНЛАЙН (на каждый текст):
ШАГ 4: Гибридный поиск (смысловой + по словам) → топ-15 категорий-кандидатов
ШАГ 5: Берём только правила между кандидатами → топ-5 самых уместных тексту
ШАГ 6: Дешёвая модель, один вызов: текст + определения кандидатов + 5 правил → одна категория

Шаги 1–3 — отдельные запросы, друг про друга они не знают. Шаги 4–5 требуют кода (эмбеддинги, ранжирование). Шаг 6 — обычный промпт.

🚀

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

Задача: Команда поддержки маркетплейса в стиле Ozon или Wildberries каждый день получает десятки тысяч обращений. Их нужно раскладывать по 40 категориям: «Возврат денег», «Возврат товара», «Не пришёл заказ», «Заказ потерян на складе», «Брак при получении», «Не тот товар» и так далее. Размеченных примеров нет, а гонять каждое обращение через флагманскую модель дорого. Сначала нужны определения и правила — их делает сильная модель.

Промпт (офлайн, шаг «граничные правила», сильная модель):

Ты проектируешь классификатор обращений в поддержку маркетплейса.
Задача: отнести обращение клиента ровно к одной категории.

Список категорий:
1. Возврат денег
2. Возврат товара
3. Не пришёл заказ
4. Заказ потерян на складе
5. Брак при получении
6. Не тот товар в посылке
... {остальные категории до 40}

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

Формат:
Категория А ↔ Категория Б: правило в 1-2 предложениях.

Не используй другие определения или ключевые слова — работай только со списком
категорий и описанием задачи.

Результат: Модель выдаст список пар похожих категорий. Для каждой пары будет короткое правило различения, например по тому, ждёт клиент деньги или замену. Этот список сохраняется. Для определений и ключевых слов запускаются отдельные запросы с тем же списком категорий. Затем на каждое обращение вы подаёте дешёвой модели текст, определения нескольких подходящих категорий и 3–5 правил для их пар. Модель вернёт одну категорию.

🧠

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

Слабость. Дешёвая модель мало знает о том, как именно в вашей задаче различаются соседние категории. Название «Возврат денег» не говорит, чем оно отличается от «Возврата товара». Если же сунуть ей все описания и все правила, контекст раздувается, а нужная подсказка тонет среди лишних.

Сильная сторона. Сильная модель хорошо рассуждает о смысле категорий. Её главный плюс — один раз потратить усилия на осмысление списка и записать это текстом. А дешёвая модель хорошо следует короткой прямой инструкции: «если в тексте X — это А, если Y — это Б».

Как метод связывает одно с другим. Дорогое «понимание» категорий выносится в отдельный заранее подготовленный справочник. Поиск оставляет в промпте только подходящий кусок. Дешёвая модель не думает над списком из 40 пунктов, а смотрит на 15 определений и 5 правил.

Рычаги управления: - Число кандидатов K (в статье 15) → уменьши, если категорий мало; увеличь, если правильная категория часто выпадает из списка. - Число правил M (в статье 5) → меньше для коротких текстов и экономии токенов; больше, если категории сильно пересекаются. - Определения → проси определение + область применения + типичные темы: так оно полезнее, чем одна фраза. - Ключевые слова → нужны только для поиска, в финальный промпт их не клади. - Три независимых запроса → не показывай модели результаты соседних запросов, пусть каждый строится только от списка категорий и описания задачи.

📋

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

Офлайн, три независимых запроса сильной модели. В статье точные тексты промптов в доступной части не приведены. Ниже реконструкция по описанию метода.

### Запрос 1 — определения
Ты помогаешь построить классификатор для задачи: {описание_задачи}.
Список категорий: {список_категорий}.
Для каждой категории напиши краткое определение: что входит в её охват
и какие типичные темы или ситуации к ней относятся.
Формат: Категория — определение (2-3 предложения).

### Запрос 2 — ключевые слова
Задача: {описание_задачи}. Список категорий: {список_категорий}.
Для каждой категории дай 8-15 слов и выражений, по которым её можно
узнать в тексте (включая синонимы и разговорные формулировки).
Формат: Категория — слово1, слово2, ...

### Запрос 3 — граничные правила
Задача: {описание_задачи}. Список категорий: {список_категорий}.
Найди пары категорий, которые легко перепутать (по смыслу, области,
функции или применению). Для каждой пары напиши правило различения.
Формат: Категория А ↔ Категория Б: правило.

Онлайн, финальный запрос дешёвой модели:

Задача: {описание_задачи}.

Текст для классификации:
{текст}

Возможные категории и их определения:
{определения_категорий-кандидатов}

Правила различения похожих категорий:
{3-5_подходящих_правил}

Выбери ровно одну категорию из списка выше. Ответ — только название категории.

Что подставлять: - {описание_задачи} — одна-две фразы: что классифицируем и зачем. - {список_категорий} — полный список, названия должны быть осмысленными. - {определения_категорий-кандидатов} — определения из Запроса 1 только для отобранных кандидатов. - {3-5_подходящих_правил} — правила из Запроса 3 только для пар среди кандидатов.

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

Вот шаблон SLKR для классификации текстов по категориям. Адаптируй под мою задачу: {твоя_задача}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

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

⚠️

Ограничения

⚠️ Полный метод — это код: Поиск кандидатов и правил (эмбеддинги, слияние двух рейтингов) нужно собирать скриптом или автоматизацией. В обычном чате воспроизводится только офлайн-часть и финальный запрос.

⚠️ Нужен закрытый список категорий: Метод для случая, когда набор классов фиксирован и названия осмысленные. Для кодов, номеров, абстрактных меток он не годится.

⚠️ Проверено только на малых моделях: Дешёвыми читателями были модели на 3–4 млрд параметров. У слабой модели выигрыш большой, у более сильной — заметно скромнее. Для фронтирных моделей эффект не проверялся.

⚠️ Выигрыш от граничных правил — небольшой: Относительно простых определений правила дают единицы пунктов. Основная польза в том, что сами определения помогают модели.

⚠️ Размеченные примеры иногда лучше: На одном из наборов с одной из моделей подача похожих размеченных примеров дала результат чуть выше. Если у вас есть размеченные данные, сравните.

⚠️ Правила не проверены людьми: Всё знание о категориях генерирует одна сильная модель. Ошибка в правиле повторится на каждом тексте. Прочитайте правила глазами, прежде чем запускать массовую разметку.

⚠️ Много категорий — много пар: Число возможных пар растёт быстро. При сотнях категорий офлайн-этап дорожает и требует разбиения.

⚠️ Метод избыточен для малых задач: Для 5–7 понятных категорий хватит обычного промпта с определениями.

🔍

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

Идея была простой: не гонять дорогую модель на каждом тексте, а заранее вытащить из неё знание о категориях. Исследователи взяли четыре набора данных: три публичных (научные статьи на 143 класса, банковские обращения на 77 классов, намерения пользователей на 150 классов) и реальную промышленную коллекцию многоязычных книг по 38 дисциплинам. Знание о категориях писала сильная модель, а классифицировали две лёгкие модели из разных семейств. Сравнивали пять подходов: только названия категорий, названия плюс определения, по одному примеру на категорию, подбор похожих примеров, и сам SLKR. Эксперименты повторяли на трёх случайных запусках.

SLKR показал лучший результат на всех четырёх наборах с первой моделью и на трёх из четырёх со второй. Он обошёл даже подходы с размеченными примерами, хотя сам их не использовал. Контекст при этом короче: примерно 1,4 тыс. токенов против 4,7 тыс. у «одного примера на категорию». Для слабой модели выигрыш особенно велик: на научных статьях она подскочила с 29% только по названиям до 56%.

Самый интересный результат — абляция (отдельная проверка вклада граничных правил). Пять случайных правил стабильно проигрывали пяти отобранным под текст, то есть выигрыш даёт не количество текста, а его уместность. Подача всех правил стоит 2,5 тыс. токенов вместо 0,35 тыс. при схожем качестве на публичных наборах. На более разнородных книгах отбор работал заметно лучше, чем «все правила сразу».

💡

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

🔧 Техника: убрать поиск → ручной отбор правил для малого числа категорий

Если категорий до 15–20, не строй поиск: вставь все определения и все правила прямо в системный промпт дешёвой модели. В статье вариант «все правила» на публичных наборах работал почти как отобранные, но расходовал в разы больше токенов. Для разнородных текстов качество у него было хуже. Короткие тексты и малый список — зона, где это допустимо.

🔧 Техника: добавить проверку правил → меньше системных ошибок

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

Экстраполяция: тот же принцип в инструкции агента. Если агент выбирает один из нескольких инструментов или режимов, то же самое можно записать в системном промпте. Опиши каждый инструмент определением и добавь короткие правила «когда А, а не Б». Статья этого не проверяла, это мой перенос идеи.

Инструменты:
{определения_инструментов}

Правила выбора между похожими инструментами:
search_docs ↔ search_web: search_docs — если вопрос про наш продукт и внутренние правила; search_web — если про внешний мир и свежие события.
...
Если не уверен между двумя инструментами — выбери по правилу выше, а не угадывай.
🔗

Ресурсы

  • Работа: «Label-Centric Knowledge Retrieval for Zero-Shot Text Classification» (препринт, на рецензии)
  • Авторы: Daoping Wu, Dong Wang, Siyu Liu, Chen Liang, Jian Geng, Ziqi Li, Shuguang Xiong, Ying Zhang
  • Организации: Zhejiang Lab; Harbin Institute of Technology; Shanghai Jiao Tong University
  • Ближайший предшественник: Gen-Z (Kumar et al., 2024) — расширение меток описаниями
  • Наборы данных: WOS-46985, BANKING77, CLINC150, Book-38 (промышленный, из статьи)

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

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

Дешёвая модель путает «не пришёл заказ» и «заказ потерян» не от глупости. Ей просто никто не объяснил, где проходит граница. Метод SLKR позволяет раскладывать тысячи обращений по 40 категориям дешёвой моделью без единого размеченного примера. Сильная модель один раз пишет определения и правила для похожих пар. Фишка: правила пишутся не про категории, а про пары, которые легко спутать. Дешёвая модель на каждый текст видит только 15 нужных определений и 5 подходящих правил, а не весь справочник. Затраты сильной модели зависят от числа категорий, а не от числа текстов. Пять подобранных правил работают лучше пяти случайных.

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

Принцип простой: дорогое понимание выносим в справочник, дешёвое чтение оставляем на потоке. Офлайн (один раз, сильная модель, три отдельных запроса): определения, ключевые слова для поиска, граничные правила. Онлайн (на каждый текст): поиск оставляет около 15 категорий-кандидатов, затем 5 самых уместных правил между ними. Дешёвая модель делает один вызов и выдаёт одну категорию. Дешёвая модель не думает над списком из 40 пунктов, а применяет короткое «если в тексте X, это А, если Y, это Б». Представь толстый регламент на 40 разделов. Опытный сотрудник один раз выписал из него шпаргалку по спорным случаям. Новичку на смене выдают только нужную страницу.

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

У дешёвой модели две слабости. Она не знает, как в вашей задаче различаются соседи. Название «Возврат денег» не объясняет, чем оно отличается от «Возврата товара». А если дать ей всё сразу, нужная подсказка тонет в лишнем тексте. Определения помогают, но спор между близкими классами решают слабо. Здесь выручают правила. Сильная модель хорошо рассуждает о смысле категорий. Дешёвая хорошо идёт по короткой прямой инструкции. Метод соединяет эти два умения. Лишний контекст не просто бесполезен: на разнородных текстах он вредит. Поэтому главный рычаг здесь не «дать больше», а «дать только нужное». Честно про цифры. Относительно простых определений правила дают единицы пунктов. Основной выигрыш приносят сами определения. Проверяли на моделях в 3-4 млрд параметров. У сильных моделей эффект, скорее всего, скромнее.

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

Классификация обращений, писем и заявок по закрытому списку категорий → особенно когда размеченных примеров нет, текстов много, а флагманская модель на каждый из них стоит дорого. Лучше всего работает, когда несколько категорий похожи по смыслу: «изменить карту» и «заблокировать карту», «возврат денег» и «возврат товара». НЕ подходит, если категории заданы кодами, номерами или абстрактными метками. Для 5-7 понятных категорий избыточен: хватит обычного промпта с определениями. При сотнях категорий офлайн-этап дорожает, потому что число пар растёт быстро. Если есть размеченные примеры, сравните: на одном наборе похожие примеры дали результат чуть выше.

Мини-рецепт

1. Собери вход: полный список категорий с осмысленными названиями и описание задачи в одной-двух фразах.
2. Запусти три отдельных запроса сильной модели: определения, ключевые слова, граничные правила. Не показывай ей результаты соседних запросов. Каждый строится только от списка и описания.
3. Проси определение с охватом: что входит в категорию и какие типичные темы к ней относятся. Одной фразы мало.
4. Прочитай правила глазами. Их написала одна модель, и ошибка в правиле повторится на каждом тексте.
5. Собери поиск скриптом: смысловой и по словам вместе. На выходе около 15 категорий-кандидатов. Если нужная категория часто выпадает, увеличь число кандидатов.
6. Отбери правила: только для пар среди кандидатов, топ-5. Для коротких текстов бери меньше, при сильном пересечении категорий больше.
7. Сделай один вызов дешёвой модели: текст, определения кандидатов, правила. Ключевые слова в финальный промпт не клади, они нужны только для поиска.
8. Без кода в чате воспроизводятся только офлайн-часть и финальный запрос.

Примеры

[ПЛОХО]: `Отнеси обращение к одной из категорий: Возврат денег, Возврат товара, Не пришёл заказ, Заказ потерян на складе, Брак при получении... Текст: «Заказ не приходит уже две недели»` [ХОРОШО, офлайн, сильная модель]: `Ты проектируешь классификатор обращений в поддержку маркетплейса. Список категорий: {40 категорий}. Найди пары, которые легко перепутать. Для каждой напиши правило: по каким признакам в тексте их различать. Формат: Категория А ↔ Категория Б: правило в 1-2 предложениях. Работай только со списком и описанием задачи.` [ХОРОШО, онлайн, дешёвая модель]: `Задача: отнести обращение к одной категории. Текст: «Заказ не приходит уже две недели». Категории и определения: {15 кандидатов}. Правила различения: {5 правил, например «Не пришёл заказ ↔ Заказ потерян на складе: если клиент пишет про ожидание и срок, это первое; если есть подтверждение пропажи от магазина, это второе»}. Выбери ровно одну категорию. Ответ только название.`
Источник: Label-Centric Knowledge Retrieval for Zero-Shot Text Classification
ArXiv ID: 2610.16182 | Сгенерировано: 2026-10-14 06:20

Проблемы LLM

ПроблемаСутьКак обойти
Слабая модель путает соседние категории, даже если дать определенияНужно выбрать один вариант из закрытого списка. Категории близки по смыслу: «возврат денег» и «возврат товара», «изменить карту» и «заблокировать карту». Одно название ничего не объясняет. Определения помогают, но спор между близкими классами не снимают. Каждое определение описывает свою категорию отдельно. Граница между двумя категориями в нём не проведена. Ошибки идут именно на таких парах. Проблема общая для классификации, маршрутизации, тегов и выбора из списка.Добавь правила различения для пар. Формат: Категория А ↔ Категория Б: если в тексте X — это А, если Y — это Б. Пусть сильная модель напишет их один раз. Слабой модели подавай только правила для категорий-кандидатов. Подробнее в методе ниже.

Методы

МетодСуть
Граничные правила: сильная модель пишет один раз, слабая применяетЧто делать. Работу делят на два этапа. Один раз просишь сильную модель найти пары легко путаемых категорий. Для каждой пары она пишет короткое правило по признакам в тексте. Запрос: Вот задача и список категорий. Найди пары, которые легко перепутать. Для каждой напиши правило различения. Формат: Категория А ↔ Категория Б: правило в 1–2 предложениях. Отдельным запросом просишь определение каждой категории: что входит в охват и какие типичные темы. Эти два запроса не связывай друг с другом. Каждый строй только от списка категорий и описания задачи. На каждый текст. Слабой модели подай текст, определения нескольких подходящих категорий и 3–5 правил для их пар. Попроси ответить одним названием. Почему работает. Сильная модель хорошо разбирается в смысле категорий, но тратить её на каждый текст дорого. Слабая модель плохо сама выводит различия, зато хорошо следует прямой инструкции «если X — А». Дорогое осмысление делается один раз и хранится как справочник. Слабая модель не ищет границу в списке из 40 пунктов. Отбирай правила под текст. Пять подобранных правил работают лучше пяти случайных. Лишний контекст не помогает, а на разнородных текстах вредит. Без кода отбор делается вручную или грубо: подавай правила только для категорий, которые реально подходят. Полная версия использует поиск по смыслу и по словам, чтобы оставить около 15 кандидатов и 5 правил. Проверь правила глазами. Ошибка в правиле повторится на каждом тексте. Когда да: категории фиксированы, названия осмысленные, нет размеченных примеров, текстов много, слабая модель дешевле. Когда нет: 5–7 понятных категорий (хватит определений), метки-коды, сотни категорий (пар слишком много). Если есть размеченные примеры, сравни: они иногда дают результат чуть выше. Выигрыш правил над хорошими определениями небольшой, единицы пунктов. Для сильных моделей эффект не проверялся.
📖 Простыми словами

Label-Centric Knowledge Retrieval for Zero-Shot Text Classification

arXiv: 2610.16182

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

Это как работа на кухне приличного ресторана: шеф-повар не стоит сам на нарезке лука от забора до обеда. Шеф один раз составляет чёткие регламенты на самые скользкие моменты — например, чем прожарка medium отличается от medium well. А у плиты стоит обычный линейный повар, который заглядывает в шпаргалку только по конкретному заказу. В итоге всё отдаётся быстро, дёшево и без косяков.

Вся магия держится на двух вещах: граничных правилах и умной фильтрации. Сначала дорогая LLM разово генерирует базу знаний: даёт определения ярлыкам и прописывает различия для спорных пар вроде «возврат денег» против «возврат товара». Затем в бой идёт дешёвая сетка: алгоритм достаёт из базы всего 2-3 релевантные категории и пару точных подсказок, отсекая тонны лишнего мусора.

Исследовали метод на сортировке обращений клиентов маркетплейсов, но паттерн абсолютно универсален. Тот же трюк сработает для любой боли без разметки: маршрутизация тикетов в саппорте, тегирование юридических договоров или раскидывание лидов по воронкам продаж. Не нужно вручную размечать тысячи примеров — сильная модель сама задаёт рамки, а дешёвая разгребает поток.

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

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

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

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