3,583 papers
arXiv:2512.20662 83 18 дек. 2025 г. FREE

"Лень" LLM: почему модели дают короче и меньше, чем просишь

КЛЮЧЕВАЯ СУТЬ
Просишь 20 идей для контент-плана – получаешь 10 и фразу 'надеюсь, это поможет'. Модель просто останавливается на середине, как будто задание выполнено. Исследование из Universiti Malaya измерило эту 'лень' с цифрами: GPT-4o выдал 326 слов вместо запрошенной тысячи (33% от цели), DeepSeek ещё хуже – 130 слов (13%). Это не баг, а след обучения через RLHF – модели учили быть лаконичными, чтобы не болтали воду. Выработался сильный уклон к краткости: внутренняя политика модели шепчет 'пяти пунктов достаточно', даже когда ты явно просишь двадцать.
Адаптировать под запрос

TL;DR

Исследователи из Universiti Malaya измерили три подозрительных поведения LLM: "лень" (модель даёт меньше, чем просили), субоптимальность декодирования (выбирает не лучший ответ) и деградацию контекста (забывает факты в длинных диалогах). Провели три эксперимента на GPT-4o и DeepSeek, чтобы проверить эти гипотезы с цифрами.

Главная находка: "лень" – это системная проблема. Попросишь 1000 слов – получишь 300. Попросишь 8 пунктов – получишь 5, и модель спокойно закончит на пятом. GPT-4o в одном тесте выдал 326 слов вместо запрошенной тысячи (33% от цели), DeepSeek ещё хуже – 130 слов (13%). Причём это происходит даже при явных инструкциях типа "напиши ровно 1000 слов" или "дай мне 8-10 примеров". Модель способна написать больше (когда её сильно попросить, она выдаёт почти тысячу), но по умолчанию выбирает краткость. Это след RLHF-тренировки: модели учили быть лаконичными, чтобы не болтать лишнего, и они переусердствовали.

Неожиданно: субоптимальность декодирования не подтвердилась (модель выбирает именно то, что считает лучшим по своим вероятностям), и деградация контекста оказалась мифом для простых задач – модели удержали 12 ключевых фактов через 200 реплик, заполненных мусорным текстом. Проблема не в памяти, а в комплаенсе со сложными многосоставными инструкциями.


🔍

Схема экспериментов

ЭКСПЕРИМЕНТ A: "Лень"

ШАГ 1: Дать промпт с чёткими требованиями (длина/количество пунктов/список тем)
ШАГ 2: Получить ответ в двух режимах:
   • Greedy (обычный) → короткий ответ
   • Detailed (с доп. инструкцией "будь максимально подробен") → длиннее, но всё равно часто неполный
ШАГ 3: Измерить:
   • Слов в ответе vs запрошено
   • Сколько пунктов/тем упомянуто vs запрошено
   • Semantic coverage (доля покрытых тем)

ЭКСПЕРИМЕНТ B: Субоптимальность

ШАГ 1: Дать задачу (логическая задача про поезда)
ШАГ 2: Получить ответ модели A (greedy)
ШАГ 3: Дать модели эталонное решение B' и попросить его воспроизвести
ШАГ 4: Сравнить log-вероятности: если log P(B') > log P(A), значит модель "знала" лучший ответ, но не выбрала его

ЭКСПЕРИМЕНТ C: Деградация контекста

ШАГ 1: В начале диалога дать 12 ключевых фактов ("кодовое имя проекта – AlphaStarFish", "любимый цвет – зелёный")
ШАГ 2: Провести 200 реплик, где каждая содержит 400-800 слов мусорного текста (случайные статьи, противоречивые данные)
ШАГ 3: На каждом шаге проверять:
   • Сколько из 12 фактов модель помнит
   • Когерентность ответов (оценка 1-10)
   • Embedding similarity (насколько "уехали" от оригинала)

🚀

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

Задача: Ты готовишь материал для клиента – нужен контент-план на месяц для Telegram-канала про инвестиции. Просишь ChatGPT дать 20 идей постов с описанием каждой.

Промпт (типичный):

Создай контент-план на месяц для Telegram-канала про инвестиции. 
Дай мне 20 идей постов. Для каждой идеи напиши:
1. Заголовок
2. Краткое описание (2-3 предложения)
3. Какую боль аудитории закрывает

Аудитория: начинающие инвесторы 25-35 лет, доход от 80к/мес, хотят разобраться в инструментах.

Результат: Модель выдаст 10-12 идей вместо 20, причём к концу списка описания станут короче ("9. Как выбрать брокера. Критерии выбора." – без развёрнутого описания и про боль забудет). Просто остановится после 12-го пункта, как будто задание выполнено.

Промпт (с учётом "лени"):

Создай контент-план на месяц для Telegram-канала про инвестиции.

КРИТИЧЕСКИ ВАЖНО: мне нужно РОВНО 20 идей. Не 10, не 15 – именно 20.

Для КАЖДОЙ из 20 идей обязательно напиши все три пункта:
1. Заголовок
2. Краткое описание (2-3 предложения)
3. Какую боль аудитории закрывает

Аудитория: начинающие инвесторы 25-35 лет, доход от 80к/мес, хотят разобраться в инструментах.

После того как дашь все 20, напиши: "✓ Все 20 идей готовы"

Результат: Модель с большей вероятностью выдаст все 20 пунктов. Явное числовое требование + условие финализации ("напиши что готово") работают как якоря, которые удерживают модель от преждевременного завершения.


🧠

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

Слабость LLM: Модели обучены через RLHF быть лаконичными и "полезными". Во время тренировки их штрафовали за многословие и излишние детали (чтобы не болтали воду). Выработался сильный bias к краткости – модель предпочитает закончить раньше, чем рисковать быть слишком длинной. Это конфликтует с инструкциями пользователя: ты говоришь "дай 10 пунктов", а внутренняя политика модели шепчет "5 достаточно, он поймёт".

Эффект многосоставных инструкций: Когда в промпте несколько требований (длина + список тем + формат), вероятность выполнить все одновременно падает экспоненциально (это "проклятие инструкций" из исследования Harada et al.). Модель жонглирует требованиями и роняет часть из них. Не потому что не понимает, а потому что её reward model не оптимизирован под "выполни ВСЕ 10 пунктов до конца".

Как обойти: - Явный числовой якорь ("ровно 20", "минимум 1000 слов") работает лучше, чем "подробно" или "много" - Разбивка на части: "Сначала дай пункты 1-10, потом я попрошу 11-20" – меньше шансов, что модель бросит на полпути - Self-refinement: попросить модель после ответа проверить: "Выполнил ли ты все требования? Если нет – доделай" - Контрольная точка в конце: "После выполнения напиши '✓ Готово'" – создаёт цель, до которой модель должна дойти

Рычаги управления: - Меняй числовые требования (20 → 10) для баланса между полнотой и скоростью - Добавляй чекпоинты ("После каждых 5 пунктов делай паузу и спрашивай: продолжить?") для контроля выполнения - Используй self-refinement ("Проверь сам: все ли пункты есть?") как второй проход


📋

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

{задача}

КРИТИЧЕСКИ ВАЖНО: мне нужно {точное_число} {элементов} / минимум {число_слов} слов.

Для КАЖДОГО {элемента} обязательно включи:
• {требование_1}
• {требование_2}
• {требование_3}

{дополнительный_контекст}

После выполнения напиши: "✓ Все {точное_число} {элементов} готовы" – это подтверждение, что ты не остановился раньше.

Пояснение плейсхолдеров: - {задача} – что нужно сделать ("Создай контент-план", "Напиши анализ рынка") - {точное_число} – конкретная цифра (20, 15, 1000) - {элементов} – единица измерения ("идей постов", "аргументов", "слов") - {требование_1/2/3} – структура каждого элемента (заголовок, описание, вывод) - {дополнительный_контекст} – детали задачи (аудитория, ограничения, стиль)

Ключевая деталь: Фраза "✓ Все {N} готовы" в конце – это финализирующий якорь, который удерживает модель от преждевременного завершения. Без него она может остановиться на середине.


⚠️

Ограничения

⚠️ Self-refinement не панацея: Даже с проверкой "всё ли я сделал?", модель иногда отвечает "да, всё сделал", хотя пропустила пункты. Проверяй критичные задачи вручную.

⚠️ Длина ≠ качество: Модель может выдать запрошенные 1000 слов, но с повторами и водой. Фокус исследования – на комплаенсе (выполнила ли требование), не на смысловой ценности.

⚠️ Работает для объективных требований: "Дай 10 пунктов" или "напиши 500 слов" измеримо. Субъективные критерии ("будь максимально глубоким") по-прежнему интерпретируются произвольно.


🔍

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

Команда взяла GPT-4o и DeepSeek и прогнала через три эксперимента. В первом дали модели промпты с чёткими требованиями: "напиши 1000 слов", "дай 8-10 пунктов", "объясни 5 тем". Тестировали в двух режимах – обычный (greedy) и "будь максимально подробен" (detailed) с чуть более высокой температурой. Измеряли: сколько слов выдала модель, сколько пунктов, какую долю тем покрыла. Результат оказался единообразно печальным: ни в одном тесте модель полностью не выполнила требования в обычном режиме. GPT-4o давал 33% от запрошенной длины, DeepSeek – 13%. Даже в detailed-режиме не всегда выезжали до конца.

Второй эксперимент проверял субоптимальность декодирования: дали модели логическую задачу про поезда, получили ответ A (greedy), потом заставили модель воспроизвести эталонное решение B' и сравнили log-вероятности. Если бы log P(B') > log P(A), это значило бы, что модель "знала" правильный ответ, но не выбрала его (застряла в локальном оптимуме). Но оказалось наоборот: модель присваивала своему ответу A более высокую вероятность, чем эталону. То есть она выбирала именно то, что считала лучшим – проблема не в декодировании, а в том, что она вообще считает "лучшим".

Третий эксперимент – самый жестокий: 200 реплик с мусором, чтобы проверить деградацию контекста. В начале диалога модели дали 12 ключевых фактов ("кодовое имя проекта – AlphaStarFish", "любимый цвет пользователя – зелёный"). Потом каждая реплика содержала 400-800 слов случайного текста (статьи с Википедии, ложная информация, противоречия), и на каждом шаге проверяли: сколько фактов модель помнит, насколько когерентны её ответы, как далеко она "уехала" от исходного смысла (через embedding similarity). Ожидали, что модели начнут путаться и забывать. Но нет – они удержали почти все факты даже через 200 реплик. Это удивило исследователей: оказывается, для простого удержания фактов длинные диалоги не так страшны, как думали. Проблема не в памяти, а в комплаенсе со сложными инструкциями.

Почему пришли к таким выводам: Логика простая – если модель способна выдать 1000 слов (доказано в detailed-режиме), но не выдаёт в обычном (даже при явной инструкции), значит это выбор политики, а не ограничение способностей. След RLHF-тренировки, где модель училась быть краткой. А удержание фактов через 200 реплик показывает, что transformer-архитектура справляется с поиском ключевой информации в контексте (attention mechanism работает), но выполнение множественных требований одновременно – это другая задача, которую модели решают плохо.


🔗

Ресурсы

"Quantifying Laziness, Decoding Suboptimality, and Context Degradation in Large Language Models"

Упомянутые работы: - Harada et al. (2024) – "проклятие инструкций" (curse of instructions): вероятность выполнить N инструкций падает экспоненциально с ростом N - Wang et al. (2023) – self-consistency decoding: сэмплировать несколько reasoning paths и выбрать консенсусный ответ - Holtzman et al. (2020) – nucleus sampling против вырожденного greedy-текста - Liu et al. (2024), Bai et al. (2023) – LongBench и исследования long-context performance

Yiqing Ma (Universiti Malaya, Малайзия), Jung-Hua Liu (National Chung Cheng University, Тайвань)


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

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

Просишь 20 идей для контент-плана – получаешь 10 и фразу 'надеюсь, это поможет'. Модель просто останавливается на середине, как будто задание выполнено. Исследование из Universiti Malaya измерило эту 'лень' с цифрами: GPT-4o выдал 326 слов вместо запрошенной тысячи (33% от цели), DeepSeek ещё хуже – 130 слов (13%). Это не баг, а след обучения через RLHF – модели учили быть лаконичными, чтобы не болтали воду. Выработался сильный уклон к краткости: внутренняя политика модели шепчет 'пяти пунктов достаточно', даже когда ты явно просишь двадцать.

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

Больше инструкций ≠ лучше выполнение. Когда в промпте несколько требований (длина + список тем + формат), модель жонглирует ими и роняет часть. Не потому что не понимает, а потому что её модель оценки не заточена под 'выполни ВСЕ 10 пунктов до конца'. Это 'проклятие многосоставных инструкций' – вероятность выполнить все требования одновременно падает экспоненциально. Решение: явные числовые якоря ('ровно 20', 'минимум 1000 слов') + финализирующая фраза ('После выполнения напиши: ✓ Готово'). Создаёшь цель, до которой модель должна дойти.

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

Во время обучения модели штрафовали за многословие и лишние детали – появился конфликт между внутренней политикой краткости и требованиями пользователя. Ты говоришь 'дай 10 пунктов', а reward model модели оценивает 'пять достаточно, он поймёт' как более безопасный вариант. Числовой якорь работает как контракт: модель видит конкретную цель (20 идей) и финализирующую фразу – это снижает вероятность преждевременного завершения. Неожиданная находка исследования: проблема не в памяти (модели помнили 12 фактов через 200 реплик мусора) и не в том, что модель 'знает лучший ответ, но не выбирает его' (субоптимальность декодирования не подтвердилась). Проблема именно в выполнении сложных многосоставных инструкций.

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

Контент-планы, списки идей, развёрнутые аналитические тексты → конкретно когда нужно точное количество элементов (20 идей постов, 15 аргументов, текст минимум на 1000 слов), особенно если каждый элемент должен содержать несколько подпунктов (заголовок + описание + вывод). НЕ подходит для субъективных требований типа 'будь максимально глубоким' – модель интерпретирует их произвольно. Работает только для объективно измеримых критериев.

Мини-рецепт

1. Задай точное число: Не 'дай много идей', а 'дай РОВНО 20 идей' – конкретная цифра работает как якорь
2. Структурируй каждый элемент: 'Для КАЖДОЙ из 20 идей обязательно напиши: заголовок + описание (2-3 предложения) + какую боль закрывает'
3. Добавь финализацию: 'После выполнения напиши: ✓ Все 20 идей готовы' – это контрольная точка, до которой модель должна дойти
4. Опционально – разбей на части: Для больших задач: 'Сначала дай пункты 1-10, потом я попрошу 11-20' – меньше шансов, что бросит на полпути
5. Проверяй критичное вручную: Self-refinement ('Всё ли я сделал?') не панацея – модель иногда врёт, что выполнила всё

Примеры

[ПЛОХО] : Создай контент-план на месяц для Telegram-канала про инвестиции. Дай мне 20 идей постов. Для каждой идеи напиши заголовок, описание и какую боль закрывает – модель остановится на 10-12 идеях, к концу описания станут короче
[ХОРОШО] : Создай контент-план на месяц для Telegram-канала про инвестиции. КРИТИЧЕСКИ ВАЖНО: мне нужно РОВНО 20 идей. Не 10, не 15 – именно 20. Для КАЖДОЙ из 20 идей обязательно напиши: 1) Заголовок 2) Описание (2-3 предложения) 3) Какую боль закрывает. После того как дашь все 20, напиши: '✓ Все 20 идей готовы' – явное числовое требование + условие финализации удерживают модель от преждевременной остановки
Источник: Quantifying Laziness, Decoding Suboptimality, and Context Degradation in Large Language Models
ArXiv ID: 2512.20662 | Сгенерировано: 2026-01-10 00:04

Проблемы LLM

ПроблемаСутьКак обойти
Модель останавливается раньше запрошенного объёмаПросишь список из 20 пунктов — получаешь 12 и остановку. Просишь 1000 слов — получаешь 300. Модель способна дать больше, но выбирает закончить раньше. Это след обучения: модели штрафовали за многословие (чтобы не болтали воду), они выработали сильный перекос в сторону краткости. Особенно сильно проявляется когда несколько требований в одном промпте (длина + формат + список тем) — модель роняет часть из нихДобавь числовой якорь: "РОВНО 20 пунктов, не 10 и не 15". Добавь финализирующую фразу: "После выполнения напиши '✓ Все 20 готовы'". Это создаёт конкретную цель до которой модель должна дойти. Альтернатива: разбей на части ("Сначала дай 1-10, потом попрошу 11-20")

Методы

МетодСуть
Числовой якорь + финализация — удержать до конца задачиЧто делать: В промпте укажи точное число элементов ("РОВНО 20 примеров", "минимум 800 слов"). В конце добавь требование: "Когда закончишь напиши '✓ Все 20 готовы'". Почему работает: Число создаёт измеримую цель вместо размытого "подробно". Финализирующая фраза работает как маркер конца — модель должна дойти до этой точки чтобы "закрыть" задачу. Без этого она останавливается раньше из-за bias к краткости. Когда применять: Задачи со списками, перечислениями, минимальным объёмом текста. Когда не работает: Субъективные требования без чёткой метрики ("будь максимально глубоким" — модель интерпретирует произвольно). Не гарантирует качество — модель может дать 1000 слов воды
📖 Простыми словами

"Лень" LLM: почему модели дают короче и меньше, чем просишь

arXiv: 2512.20662

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

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

Исследователи прогнали GPT-4o и DeepSeek через тесты и подтвердили три диагноза: лень, когда модель выдает меньше запрошенного, кривое декодирование, когда выбирается не лучший вариант ответа, и деградацию контекста. Последнее — самый бесячий грех: в длинном чате нейронка начинает «тупеть» и забывать факты, которые ты разжевал ей пять минут назад. Цифры неумолимы: чем длиннее твой запрос или история переписки, тем выше шанс, что модель начнет лажать и терять нить повествования.

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

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

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

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

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