3,583 papers
arXiv:2604.19645 73 21 апр. 2026 г. FREE

Коррекция негативности при оценке: как убрать систематическое занижение оценок LLM

КЛЮЧЕВАЯ СУТЬ
LLM видит слова «очередь» и «долго» — ставит 5. Даже если автор прямым текстом написал «всё равно это было невероятно». Это не случайный промах: модель выучила паттерн на миллионах рецензий, где негативные слова почти всегда означали низкую оценку. В живых отзывах эта связь постоянно рвётся — модель нет. Трёхшаговый протокол позволяет получать точные оценки из отзывов без систематического занижения из-за поверхностного тона. Самый важный элемент — поле обоснования: когда модель пишет «почему», она в процессе генерации сама себя проверяет. Без этого поля — рефлекс побеждает. С ним — модель рассуждает, а не реагирует.
Адаптировать под запрос

TL;DR

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

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

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


🔬

Схема метода

Один промпт — один запрос

ШАГ 1: Приоритет явного вердикта
  Если автор прямо говорит "в целом здорово" — берём это за основу

ШАГ 2: Взвешивание плюсов и минусов
  Явно перечисляем позитивные и негативные сигналы,
  не даём тексту автоматически "перетянуть" в минус

ШАГ 3: Защита от штрафа за изолированные жалобы
  Единичная проблема на позитивном фоне ≠ низкая оценка

ОБОСНОВАНИЕ: Поле rationale
  Модель обязана объяснить, почему поставила именно эту оценку
  → это форсирует осознанное решение, а не рефлекс

🚀

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

Задача: Команда запустила новый продукт на Wildberries и получила 200 отзывов. Нужно быстро оценить каждый по шкале 1–10, чтобы найти реально недовольных клиентов и не путать их с теми, кто просто упомянул мелкий нюанс.

Промпт:

Ты оцениваешь удовлетворённость покупателя на основе его отзыва.

Используй строго такой порядок:

ШАГ 1. ЯВНЫЙ ВЕРДИКТ
Если покупатель прямо выражает общую оценку ("всё супер", "доволен", 
"разочарован", "не рекомендую") — это главный сигнал. Зафикси его.

ШАГ 2. ВЗВЕШИВАНИЕ
Перечисли все позитивные упоминания и все негативные упоминания отдельно.
Оцени, какой стороны больше по смыслу, а не по количеству слов.

ШАГ 3. ЗАЩИТА ОТ ЛИШНЕГО ШТРАФА
Если общий тон позитивный, а негатив — единичная мелкая деталь 
(упаковка, цвет не тот, долгая доставка при "всё равно доволен") — 
НЕ тяни оценку вниз из-за неё одной.

ОБОСНОВАНИЕ: Напиши 1–2 предложения — почему именно такая оценка.

ИТОГ: Оценка удовлетворённости от 1 до 10.

Отзыв:
{текст_отзыва}

Результат: Модель сначала покажет явный вердикт (если есть), затем разбивку на плюсы и минусы, потом краткое обоснование оценки. В финале — одно число. Там, где без этого промпта она выдала бы 5–6 из-за слов «долго», «неудобно», «могло быть лучше» на фоне очевидно довольного отзыва — теперь выдаст 8–9 и объяснит почему.


🧠

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

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

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

Как метод это использует: Трёхшаговый протокол разрушает рефлекс. Модель не может сразу выдать число — она обязана сначала найти явный вердикт, потом взвесить аргументы, потом проверить, не тянет ли она оценку вниз из-за единичной жалобы. Поле обоснования — самое важное: когда модель пишет «почему», она в процессе генерации текста сама себя "проверяет" и корректирует.

Рычаги управления промптом: - Шаг 3 (защита от штрафа) → его можно перефразировать под домен: для строгих оценок (медицинские протоколы, юридические тексты) убери его совсем — там одна ошибка критична - Поле обоснования → оставь всегда, это самый дешёвый способ улучшить качество любой оценки - Шаг 1 (явный вердикт) → работает только если в тексте такой вердикт вообще может быть. Для фактических текстов без оценочных суждений — убери


📋

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

Оцени {объект_оценки} по шкале {шкала} на основе текста ниже.

Действуй строго в таком порядке:

ШАГ 1. ЯВНЫЙ ВЕРДИКТ
Есть ли в тексте прямое выражение общей оценки? Если да — зафикси его.
Это главный сигнал.

ШАГ 2. ВЗВЕШИВАНИЕ  
Перечисли позитивные сигналы: {список_плюсов}
Перечисли негативные сигналы: {список_минусов}
Определи, какая сторона весомее по смыслу.

ШАГ 3. ПРОВЕРКА НА ЛИШНИЙ ШТРАФ
Если общий тон позитивный, а негатив — единичная, изолированная деталь — 
не снижай оценку из-за неё одной.

ОБОСНОВАНИЕ: Объясни в 1–2 предложениях, почему именно такая оценка.

ИТОГ: Оценка — одно число от {минимум} до {максимум}.

Текст:
{текст}

Что подставлять: - {объект_оценки} — отзыв, обратная связь, описание, фидбек - {шкала} — 1–10, 1–5, 0–100 - {список_плюсов} / {список_минусов} — можно оставить пустыми, LLM заполнит сама; или задать конкретные критерии (качество продукта, сервис, цена) - {текст} — сам оцениваемый текст


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

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

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

LLM спросит про шкалу и тип оцениваемых текстов — потому что от них зависит, насколько строгим делать шаг 3 ("защита от штрафа"). Она возьмёт структуру из шаблона и адаптирует под твои данные.


⚠️

Ограничения

⚠️ Информационный потолок: Если нужная информация просто отсутствует в тексте — промпт не поможет. Примёр: человек пишет про еду и паркинг, но ставит 9 потому что его команда выиграла — LLM никогда не восстановит эту причину, её нет в тексте. Это не баг промпта, это фундаментальное ограничение.

⚠️ Смешанные тексты остаются сложными: На текстах с переплетёнными позитивными и негативными сигналами точность падает существенно — с ~85% до ~42% даже с лучшим промптом. Метод сокращает разрыв, но не закрывает его.

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

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


🔍

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

Исследователи взяли ~10 000 реальных анкет болельщиков после бейсбольных матчей Главной лиги — пять команд, три месяца сезона 2025 года. Каждый болельщик отвечал на два вопроса: число от 0 до 10 ("как в целом?") и открытый текст ("расскажи подробнее"). Задача для LLM: прочитать только текст и предсказать число, которое поставил человек.

Протестировали четыре конфигурации: базовый промпт и кастомизированный, каждый на нескольких моделях GPT. Результат неожиданный: GPT 5.2 оказалась хуже, чем кастомизированный GPT 4.1. Дороже и новее — не значит лучше для конкретной задачи. Ещё интереснее: разрыв между лучшим промптом (69% попаданий ±1 балл) и худшим (67%) был в двадцать раз меньше, чем разрыв между типами входных текстов. На однозначно позитивных текстах — 83–86% попаданий. На текстах с негативными деталями — 42–44%. Это и есть главный инсайт: редактируя промпт, ты работаешь с малой частью уравнения. Большую часть контролирует сам текст.

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


📄

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

Контекст: Авторы описывают структуру кастомизированного промпта (p3_1) как главный дизайн-сдвиг по сравнению с базовым:

The customized prompt function (p3_1_*) added two design features 
informed by early error analysis: 

a three-step decision process:
  1. prioritize an explicit overall verdict if present
  2. then weigh positives and negatives
  3. then do not over-penalize minor complaints if the overall tone is positive

and a predicted_rating_rationale field requiring the model to explain 
its scoring logic.

Both prompt functions framed the task identically: estimate the fan's 
self-reported overall experience rating as they would answer the survey question.

💡

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

📌

💡 Адаптация для оценки бизнес-идей

Тот же механизм работает когда просишь LLM оценить питч или бизнес-концепцию. Модель тоже склонна "штрафовать" за упоминание рисков — даже если их признание говорит о зрелости основателя.

Оцени этот питч по шкале 1–10 как потенциальный инвестор.

ШАГ 1. ЯВНЫЙ ПОТЕНЦИАЛ
Есть ли в тексте прямое указание на рыночную возможность или трекшн? Зафикси.

ШАГ 2. ВЗВЕШИВАНИЕ
Сильные стороны питча (рынок, команда, продукт, трекшн):
Слабые стороны или риски:
Определи, что весомее.

ШАГ 3. ЗРЕЛОСТЬ VS ПРОБЛЕМА
Если основатель честно признаёт риски и объясняет как их митигировать — 
это плюс, а не минус. Не штрафуй за прозрачность.

ОБОСНОВАНИЕ: Почему именно такая оценка инвестиционной привлекательности?

ИТОГ: Оценка от 1 до 10.

Питч:
{текст_питча}

📌

🔧 Техника: убрать ограничение на штраф → строгий аудит

Если задача обратная — найти скрытые проблемы в тексте (юридический риск, медицинская ошибка, финансовые нарушения) — убери шаг 3 полностью и инвертируй логику:

ШАГ 3. УСИЛЕНИЕ СИГНАЛА РИСКОВ
Любое упоминание проблемы, даже единичное — учитывай как потенциально 
критичный сигнал. Не сглаживай.

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


🔗

Ресурсы

Основная работа: "The signal is the ceiling: Measurement limits of LLM-predicted experience ratings from open-ended survey text" — Andrew Hong, Jason Potteiger, Luis E. Zapata (Dimension Labs, April 2026)

Предыдущая работа тех же авторов: Hong, A., Potteiger, J., & Zapata, I. (2026). "LLM Predictive Scoring and Validation: Inferring Experience Ratings from Unstructured Text." arXiv:2604.14321

Контакт: jason@dimensionlabs.io

Смежные работы из цитирований: - Ludwig, Mullainathan, Rambachan (2024) — об LLM-аннотациях как измерительных инструментах - Kahneman, Wakker, Sarin (1997) — peak-end rule (почему воспоминание и переживание расходятся) - Turpin et al. (2023) — о том, что объяснения модели не отражают реальные вычисления


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

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

LLM видит слова «очередь» и «долго» — ставит 5. Даже если автор прямым текстом написал «всё равно это было невероятно». Это не случайный промах: модель выучила паттерн на миллионах рецензий, где негативные слова почти всегда означали низкую оценку. В живых отзывах эта связь постоянно рвётся — модель нет. Трёхшаговый протокол позволяет получать точные оценки из отзывов без систематического занижения из-за поверхностного тона. Самый важный элемент — поле обоснования: когда модель пишет «почему», она в процессе генерации сама себя проверяет. Без этого поля — рефлекс побеждает. С ним — модель рассуждает, а не реагирует.

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

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

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

LLM обучалась на огромных массивах отзывов. Там слово «очередь» в большинстве случаев соседствовало с оценкой 2–3. Слово «долго» — с 1–4. Это стало рефлексом: видит негативное слово — генерирует низкое число. Смысл текста при этом остаётся за кадром. Протокол работает потому, что LLM хорошо следует явным структурированным инструкциям — намного лучше, чем самостоятельно взвешивает контекст. Добавляешь конкретную последовательность шагов — и модель следует ей, а не идёт по привычной дорожке. Авторы честны про ограничения: на текстах с переплетёнными позитивными и негативными сигналами точность падает с 85% до 42% даже с лучшим промптом. Метод сокращает разрыв, но не закрывает. А если нужная информация в тексте вообще отсутствует — промпт не поможет. Потолок точности задаёт входной текст, не сила инжиниринга.

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

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

Мини-рецепт

1. Задай объект и шкалу: что оцениваем (отзыв, комментарий, ответ на опрос) и в каком диапазоне (1–5, 1–10, 0–100).
2. Добавь три шага в промпт строго в таком порядке: явный вердикт → взвешивание плюсов и минусов → проверка на лишний штраф. Порядок важен — не переставляй.
3. Добавь поле обоснования перед итоговой оценкой: «Объясни в 1–2 предложениях, почему именно такая оценка». Это самый дешёвый способ улучшить качество — одна строчка, большой эффект.
4. Настрой строгость шага 3 под задачу: для критичных доменов убери «защиту от штрафа» совсем. Для потребительских отзывов — оставь.
5. При смене модели — проверяй заново. Промпт, отточенный под одну модель, на другой может поплыть. Тестируй на 20–30 примерах из своих данных.

Примеры

[ПЛОХО] : Оцени этот отзыв по шкале 1–10: «Очереди были ужасными, но игра — просто невероятно»
[ХОРОШО] : Оцени отзыв по шкале 1–10. Действуй строго в таком порядке: ШАГ 1. ЯВНЫЙ ВЕРДИКТ Есть ли в тексте прямая итоговая оценка автора? Зафикси её — это главный сигнал. ШАГ 2. ВЗВЕШИВАНИЕ Перечисли позитивные сигналы отдельно. Перечисли негативные отдельно. Определи, какая сторона весомее по смыслу, а не по количеству слов. ШАГ 3. ПРОВЕРКА Если общий тон позитивный, а негатив — единственная мелкая деталь — не снижай оценку из-за неё одной. ОБОСНОВАНИЕ: 1–2 предложения — почему именно такая оценка. ИТОГ: одно число от 1 до 10. Отзыв: «Очереди были ужасными, но игра — просто невероятно» Без протокола — модель выдаст 5–6: слово «ужасными» перетянет. С протоколом — выдаст 8–9 и объяснит, что единственная жалоба на очередь не отменяет явного восторга от главного.
Источник: The signal is the ceiling: Measurement limits of LLM-predicted experience ratings from open-ended survey text
ArXiv ID: 2604.19645 | Сгенерировано: 2026-04-22 06:25

Проблемы LLM

ПроблемаСутьКак обойти
Модель занижает оценки из-за негативных слов в текстеСпрашиваешь «оцени отзыв». В тексте есть слово «долго» или «очередь» — и модель выдаёт 5 вместо 8. Это не случайность. Модель обучалась на миллионах рецензий, где негативные слова почти всегда означали низкую оценку. Теперь это рефлекс. Видит негативное слово — снижает оценку. Не взвешивает контекст. Проблема возникает на любых задачах оценки текста: отзывы, обратная связь, опросыЗаставь модель пройти три шага ДО итоговой оценки. 1. Найти явный общий вердикт автора. 2. Перечислить плюсы и минусы отдельно. 3. Проверить — не тянет ли единичная жалоба оценку вниз? Плюс обязательное поле «объясни почему именно эта оценка». Объяснение ломает рефлекс: модель не может выдать число сразу — она вынуждена рассуждать

Методы

МетодСуть
Трёхшаговый протокол оценки — защита от рефлекторного заниженияПеред итоговой оценкой дай три явных шага и поле обоснования. Шаг 1: «Есть ли в тексте прямой общий вердикт? Зафикси его — это главный сигнал». Шаг 2: «Перечисли позитивные сигналы. Перечисли негативные. Определи, какая сторона весомее». Шаг 3: «Если общий тон позитивный, а негатив — единичная деталь — не снижай оценку из-за неё одной». Обоснование: «Объясни в 1–2 предложениях почему именно эта оценка». Потом итог — число. Почему работает: Модель не может пересечь сразу к числу — обязана пройти шаги. Рефлекс ломается. Поле обоснования самое важное: модель в процессе написания текста сама себя проверяет. Шаг 3 — модульный: для строгих задач (медицина, юридика) убери его — там единичная ошибка критична. Когда не нужен: текст однозначно позитивный или однозначно негативный — любая модель справится и без протокола
📖 Простыми словами

The signal is the ceiling: Measurement limits ofLLM-predicted experience ratings from open-ended survey text

arXiv: 2604.19645

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

Это как если бы ты пришел в ресторан, съел божественный стейк, но вскользь заметил официанту, что салфетки были жестковаты. Официант тут же бежит к шефу и орет: «Все пропало, клиенту не понравилось, ставлю нам двойку!». Шеф в шоке, ты в недоумении, а виновата ложная корреляция: официант привык, что жалобы на салфетки обычно пишут те, кому и мясо не зашло. Модель просто не умеет отделять «мелкую придирку» от «полного провала».

В основе этой лажи лежит статистический рефлекс. Исследователи выяснили, что LLM обучались на миллионах отзывов, где слова «очередь», «долго» или «дорого» в 90% случаев сопровождались низким рейтингом. Теперь у модели выработался условный рефлекс: видишь слово «очередь» — занижай оценку на 2-3 балла. В итоге отзыв «игра была невероятной, жаль только очереди в буфете длинные» получает от AI жалкие 6 из 10, хотя живой человек поставил бы твердую девятку.

Этот эффект — потолок сигнала — ломает аналитику везде, где нужно мерить клиентский опыт. Тестировали это на отзывах, но принцип работает для любых опросов, фидбека сотрудников или анализа интервью. Если ты используешь ChatGPT или Gemini, чтобы быстро «проскорить» базу отзывов на Wildberries или в App Store, ты получишь искаженную картину. Модель превратит конструктивную критику лояльных фанатов в «средний негатив», и ты просто пропустишь реальные инсайты.

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

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

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

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