3,583 papers
arXiv:2603.26898 72 27 мар. 2026 г. FREE

Validation-First фреймворк: почему персона и Chain-of-Thought снижают качество классификации

КЛЮЧЕВАЯ СУТЬ
Парадокс: два самых популярных совета — «ты опытный эксперт» и «думай пошагово» — в задачах классификации текста работают случайно. Иногда чуть помогают. Часто заметно ломают точность. Нет ни одной техники со стабильным предсказуемым эффектом. Validation-First позволяет не гадать, а знать — какой промпт работает на твоих данных до того, как начнёшь маркировать тысячи текстов. Фишка: прогони 3 варианта промпта на 30 размеченных примерах с известными ответами — и увидишь цифры вместо догадок. Персона не меняет то, по каким критериям модель делит тексты. Цепочка рассуждений (CoT) добавляет промежуточный текст, который уводит от нужного критерия. Взаимодействие модели, задачи и данных важнее любого отдельного трюка.
Адаптировать под запрос

TL;DR

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

Пользователи, которые аннотируют, сортируют или маркируют тексты с помощью LLM, часто добавляют в промпты обе техники сразу — "ты опытный аналитик, думай шаг за шагом." Кажется, это должно улучшать результат. Но на практике персона-промпт даёт случайный эффект — иногда чуть помогает, иногда заметно вредит. Chain-of-Thought (CoT) ведёт себя так же: в одних задачах улучшает, в других снижает точность, и всегда увеличивает длину ответа. Хуже всего — эффект непредсказуем и зависит не от техники, а от сочетания модели, задачи и конкретного набора текстов.

Выход — подход Validation-First: не гадай какой промпт сработает, а проверяй на малом наборе примеров с известными ответами ДО применения в масштабе. Начинай с простого промпта без украшений, тестируй варианты (с CoT / без, с персоной / без), выбирай лучший — и фиксируй его. Любая правка промпта требует нового теста.


🔬

Схема метода

ШАГ 1: Сформулируй задачу → промпт с чёткими определениями категорий
ШАГ 2: Подготовь тестовый набор → 20–50 текстов с известными правильными ответами
ШАГ 3: Прогони варианты промпта → стандартный / с персоной / с CoT / с примерами
ШАГ 4: Сравни точность → выбери лучший вариант для этой конкретной задачи
ШАГ 5: Зафиксируй промпт → не меняй без нового теста на отложенном наборе

Все шаги выполнимы в обычном чате.

🚀

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

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

Что обычно делают (и почему стоит проверить):

❌ Типичный промпт "со всеми улучшениями":

Ты опытный специалист по клиентскому сервису с многолетним 
опытом работы в логистике. Внимательно обдумай обращение 
шаг за шагом и определи его тип.

→ Персона + CoT. Звучит разумно. Но исследование показывает:
эффект непредсказуем. Может помочь. Может сделать хуже.

Validation-First подход:

ШАГ 1 — Сначала создаём базовый промпт без украшений:

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

Обращение: "{текст тикета}"
Категория:

ШАГ 2 — Берёшь 30 реальных тикетов, которые уже вручную отсортированы.
ШАГ 3 — Прогоняешь базовый промпт → считаешь ошибки.
ШАГ 4 — Прогоняешь тот же промпт + 3 примера (few-shot) → сравниваешь.
ШАГ 5 — Прогоняешь с "ты опытный специалист..." → снова сравниваешь.
ШАГ 6 — Берёшь победителя. Фиксируешь.

Результат: Ты видишь конкретные числа по каждому варианту на своих данных. Не гадаешь — знаешь. В большинстве случаев базовый промпт с чёткими определениями или few-shot версия окажется не хуже "украшенной". А если CoT всё же помогает — увидишь это в тесте.


🧠

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

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

Сильная сторона LLM: модель хорошо следует чётким инструкциям с определениями и образцами. Когда она видит: "категория А — это вот что, пример: ... ; категория Б — это вот что, пример: ..." — она опирается на структуру, а не на свои предположения o том, что имел в виду аналитик.

Как метод использует это: убираешь шум (персону, CoT), оставляешь сигнал (определения, примеры), и проверяешь на данных, а не веришь "лучшим практикам" на слово. Взаимодействие модели, задачи и формата всегда важнее любой отдельной техники — это и есть ключевой инсайт.

Рычаги управления: - Количество примеров (few-shot) → 3–5 примеров хорошо работают для бинарных задач ("позитив / негатив"), для задач с 8+ категориями прирост меньше - Определения категорий → чем чётче граница между категориями, тем меньше нужны примеры - CoT "включить / выключить" → тестируй, не принимай по умолчанию — особенно если задача требует однозначного ярлыка - Персона "включить / выключить" → тестируй отдельно, эффект случаен


📋

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

Определи {что делаем: категорию / тональность / тип} для текста ниже.
Выбери одну из категорий:

- {Категория 1}: {чёткое определение что сюда входит}
- {Категория 2}: {чёткое определение что сюда входит}
- {Категория 3}: {чёткое определение что сюда входит}

Примеры:
Текст: "{пример текста 1}"
Ответ: {Категория N}

Текст: "{пример текста 2}"
Ответ: {Категория N}

Текст: "{пример текста 3}"
Ответ: {Категория N}

Теперь определи категорию:
Текст: "{твой текст}"
Ответ:

Что подставлять: - {что делаем} — категорию темы, тональность, тип обращения, приоритет - {Категория N} — твои реальные классы, минимум 2, максимум разумное количество - {определение} — конкретно что включает и что исключает категория - {пример текста} — реальные тексты из твоих данных, по одному на категорию

Совет: начни без примеров (zero-shot) → оцени точность → добавь 3 примера (few-shot) → сравни. Добавляй CoT или персону только если тест покажет прирост.

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

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

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

LLM спросит про категории и их определения — потому что без чётких границ между классами модель будет угадывать. Она возьмёт структуру шаблона и заполнит по твоей задаче.


⚠️

Ограничения

⚠️ Нужны размеченные примеры: Validation-First требует хотя бы 20–30 текстов с правильными ответами. Если такого набора нет — фреймворк не запустить в полную силу. Можно разметить вручную небольшую выборку, но без неё тест будет субъективным.

⚠️ Результаты не переносятся между задачами: то, что CoT помогло в одной задаче классификации, не значит, что поможет в другой. Каждая новая задача — новый тест.

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

⚠️ Выводы про размер модели: исследование показало, что "больше = лучше" не работает стабильно. Это актуально при выборе между платными тарифами (GPT-4o vs GPT-4o mini, Sonnet vs Haiku) — тестируй для своей задачи, не плати за самое дорогое по умолчанию.


🔍

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

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

Умный ход: все модели запускали на одинаковом железе, с одинаковым квантованием (упрощением весов для ускорения), в одинаковых шаблонах промптов. Это убрало технические различия — осталась только разница от промптинга. Каждую комбинацию "модель × размер × стиль промпта × zero/few-shot" тестировали отдельно. Всего — сотни комбинаций.

Главный сюрприз: взаимодействия между факторами оказались важнее самих факторов. Нельзя сказать "CoT помогает" — правда звучит иначе: "CoT помогает модели X на задаче Y, но вредит модели Z на задаче W." Это означает, что любое исследование, которое тестировало только одну модель или только один стиль промпта, давало вводящие в заблуждение выводы. Ещё одна неожиданность: более крупная модель из одного семейства иногда проигрывала средней из другого семейства — и при этом потребляла больше энергии. "Купи самую большую" — плохой совет.


💡

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

💡 Адаптация: "Свой тестовый набор за час"

Если нет готовых размеченных примеров, можно создать быстро. Возьми 20–30 текстов из своего реального потока (письма клиентов, отзывы, тикеты, посты). Разметь их сам — это займёт 30–40 минут. Этого достаточно для первичного теста промптов. Ключевое: размечай ДО того как начнёшь экспериментировать с промптами — иначе подсознательно будешь подгонять разметку под тот результат, который хочешь увидеть. Это та же "заморозка промпта" из Validation-First, только для данных.


🔧 Техника: Тест "минимальный промпт" как базовая линия

Перед добавлением любой техники (CoT, персона) сначала проверь насколько хорошо работает голый промпт:

Определи тональность отзыва. Выбери: позитивный / негативный / нейтральный.

Отзыв: "{текст}"
Ответ:

Запиши точность на тестовом наборе. Потом добавляй технику и сравнивай. Если прироста нет — не добавляй. Усложнение ради усложнения только увеличивает расход токенов.


💡 Экстраполяция: Validation-First для любых повторяющихся задач

Принцип фреймворка работает за пределами классификации. Если ты регулярно используешь один промпт для однотипных задач (резюмировать встречи, оценивать резюме, проверять тексты по чек-листу) — стоит один раз потратить время и проверить промпт на известных примерах. Не потому что промпт "плохой" — а потому что не знаешь когда он начнёт давать сбои. Validation-First это страховка от накопленных ошибок, которые незаметны пока не сравниваешь с эталоном.


🔗

Ресурсы

Magic Words or Methodical Work? Challenging Conventional Wisdom in LLM-Based Political Text Annotation Lorcan McLaren, James P. Cross, Zuzanna Krakowska, Robin Rauner, Martijn Schoonvelde University College Dublin, University of Groningen — март 2026

Смежные работы упомянутые в статье: - Alizadeh et al. (2024) — практическое руководство по open-weight моделям для аннотации - Atreja et al. (2025) — влияние дизайна промпта на точность аннотации - Halterman and Keith (2025) — пятиэтапный фреймворк "codebook LLM" - Baumann et al. (2025) — "LLM hacking": как парафраз промпта делает любую гипотезу значимой - CodeBook Studio (McLaren 2026b) — инструмент для стандартизации кодбуков


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

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

Парадокс: два самых популярных совета — «ты опытный эксперт» и «думай пошагово» — в задачах классификации текста работают случайно. Иногда чуть помогают. Часто заметно ломают точность. Нет ни одной техники со стабильным предсказуемым эффектом. Validation-First позволяет не гадать, а знать — какой промпт работает на твоих данных до того, как начнёшь маркировать тысячи текстов. Фишка: прогони 3 варианта промпта на 30 размеченных примерах с известными ответами — и увидишь цифры вместо догадок. Персона не меняет то, по каким критериям модель делит тексты. Цепочка рассуждений (CoT) добавляет промежуточный текст, который уводит от нужного критерия. Взаимодействие модели, задачи и данных важнее любого отдельного трюка.

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

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

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

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

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

Любая задача, где нужен ярлык из заданного списка: маркировка тикетов поддержки, сортировка отзывов, разметка контента, аннотация данных для обучения. Особенно важно когда: хочешь автоматизировать и цена ошибки высока; не знаешь с каким промптом стартовать; тянет добавить персону или CoT «про запас». НЕ подходит если нет ни одного размеченного примера — без них измерить нечего. Сначала разметь 30 текстов вручную: это займёт час, зато даст точку отсчёта.

Мини-рецепт

1. Собери измерительный прибор: возьми 20–30 текстов, которые уже вручную разложил по категориям. Без этого набора Validation-First не запустить — будешь снова угадывать.
2. Напиши голый промпт: без персоны, без «думай пошагово». Только задача плюс чёткие определения каждой категории — что входит, что не входит.
3. Прогони варианты по очереди: базовый → базовый с 3 примерами → базовый с персоной → базовый с CoT. Каждый вариант — отдельный прогон на тех же 30 текстах.
4. Посчитай ошибки: сколько текстов классифицировано неверно в каждом варианте. Победитель — тот у кого меньше ошибок. Никакой вкусовщины — только цифры.
5. Зафиксируй промпт: не трогай его без нового теста. Любая правка — снова прогон на тестовом наборе перед запуском в бой.

Примеры

[ПЛОХО] : Ты опытный аналитик с многолетним опытом работы с клиентами. Внимательно обдумай обращение шаг за шагом и определи категорию проблемы.
[ХОРОШО] : Шаг 1 — пишешь базовый промпт без украшений: Определи тип обращения клиента. Выбери одну категорию: - Задержка доставки: клиент сообщает что заказ не пришёл в срок - Повреждение товара: товар пришёл разбитым или испорченным - Ошибка в заказе: привезли не то или не в том количестве - Возврат: клиент хочет вернуть деньги или отменить заказ Обращение: [текст] Категория: Шаг 2 — прогоняешь на 30 размеченных примерах, считаешь ошибки. Шаг 3 — добавляешь 3 реальных примера (few-shot) → прогоняешь снова → сравниваешь. Шаг 4 — берёшь вариант с меньшим числом ошибок. Не угадываешь — видишь цифры.
Источник: Magic Words or Methodical Work? Challenging Conventional Wisdom in LLM-Based Political Text Annotation
ArXiv ID: 2603.26898 | Сгенерировано: 2026-03-31 04:29

Проблемы LLM

ПроблемаСутьКак обойти
Персона и цепочка рассуждений дают непредсказуемый эффект при классификацииДобавляешь "ты опытный эксперт, думай шаг за шагом". Кажется логичным. Но результат случаен. Для одной задачи помогает. Для другой — снижает точность. Эффект зависит не от техники, а от сочетания: модель + задача + данные. Угадать нельзяНе принимай по умолчанию. Тестируй каждый вариант (с персоной / без, с цепочкой рассуждений / без) на 20–30 текстах с известными ответами. Выбирай по цифрам, не по ощущениям

Методы

МетодСуть
Проверка на малом наборе — до запуска в масштабеСначала бери 20–30 текстов с готовыми правильными ответами. Прогоняй варианты промпта: базовый с примерами с персоной с цепочкой рассуждений. Считай ошибки в каждом варианте. Выбирай победителя. Только потом запускай на всём массиве. Если меняешь промпт — тест повторяется. Почему работает: популярные техники дают случайный эффект для задач классификации. Единственный способ узнать что работает для твоей задачи — измерить. Интуиция не поможет. Синтаксис: начни с zero-shot добавь 3 примера сравни числа. CoT и персону добавляй только если тест покажет прирост. Когда не работает: нет размеченных примеров. Без них тест субъективен

Тезисы

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

Magic Words or Methodical Work? Challenging Conventional Wisdom inLLM-Based Political Text Annotation

arXiv: 2603.26898

Магия промптов — это миф, в который мы все дружно поверили. Исследователи взяли все эти «золотые правила» вроде Chain-of-Thought или назначения ролей и прогнали их через жесткий тест на классификации текстов. Оказалось, что LLM работают не как послушные исполнители, а как черные ящики с характером: ни одна популярная техника не дает стабильного прироста качества. То, что сработало в одном запросе, легко превращает следующий в полную лажу, потому что модель реагирует не на конкретный «трюк», а на безумный коктейль из контекста, примеров и самой задачи.

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

Что реально выяснили: Chain-of-Thought (рассуждение по шагам) в задачах классификации часто только вредит. Вместо того чтобы четко выбрать категорию, модель начинает «философствовать», генерирует кучу лишних токенов и в итоге сама себя запутывает, уходя в сторону от сути. Роль «ты — ведущий политолог» тоже не добавляет модели мозгов: она не открывает скрытые пласты знаний, а просто меняет стиль текста, что для сухой сортировки данных — абсолютно бесполезная фигня.

Исследование проводили на политических текстах, но принцип универсален для любой разметки данных, будь то отзывы клиентов или тикеты в поддержку. Если ты думаешь, что есть один «секретный промпт», который решит все проблемы — у меня плохие новости. Взаимодействие факторов (модель, задача, примеры) важнее любого отдельного метода. То, что идеально работает для GPT-4, может превратить выхлоп Llama 3 в нечитаемую кашу, и наоборот.

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

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

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

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