3,583 papers
arXiv:2610.04977 73 4 окт. 2026 г. FREE

Разрыв «понять ≠ воспроизвести»: LLM копируют частоты, но не условные правила

КЛЮЧЕВАЯ СУТЬ
Обнаружено: чем больше истории в промпте, тем хуже модель понимает правило. На 100 раундах «камень-ножницы» она угадывает стратегию игрока. На 1000 раундах угадывает хуже, хотя обычный алгоритм находит стратегию в 100% случаев. Проверка по шагам позволяет поймать роль, которая выглядит живой, но нарушает собственные правила. Например, капризный клиент в тренажёре продаж или персонаж с жёсткой логикой. Фишка: смотри не на то, похоже ли в среднем, а на то, выполнено ли правило на каждом шаге. Модель отлично копирует итоговые пропорции. У 42% неверно угаданных стратегий распределение ходов совпало с целевым почти идеально, а условие «если было А, то Б» при этом сломано.
Адаптировать под запрос
⚡

TL;DR

Если попросить модель сыграть персонажа или клиента с правилом «реагирует на то, что было раньше», она выдаст правдоподобную статистику, но не само правило. Реакции будут встречаться в нужных пропорциях, а условие «если А, то Б» модель нарушает. Распознать правило и выполнять его на длинной дистанции — две разные способности. Исследование показывает это на игре «камень-ножницы» и на простых цепочках символов.

Главная находка: больше истории не значит лучше понимание. Дали 100 раундов — модель угадывает стратегию игрока, дали 1000 — угадывает хуже, хотя обычный алгоритм по тем же данным находит её в 100% случаев. Даже когда модель правильно назвала стратегию, она часто не следует ей при генерации. При этом общая картина «выглядит как надо»: у 42% неверно угаданных стратегий итоговое распределение ходов почти идеально совпало с целевым. Чем длиннее цепочка условных зависимостей (от последнего хода — к двум, трём, восьми), тем хуже модель их держит, даже если правило выписано в промпте явно.

Метод здесь не предлагается, это скорее предупреждение и способ проверки: сравнивай не «похоже ли в среднем», а «выполняется ли правило на каждом шаге». Если ты задаёшь модели один ход за раз и показываешь настоящую историю (в статье это teacher forcing, «подсказка правильной истории»), сильные модели справляются заметно лучше, чем при свободной генерации длинной цепочки.

📌

Схема проверки

Это выводы статьи в виде рабочей проверки, а не авторский метод:

ШАГ 1: Выпиши правила явно: «если было X → сделай Y» → список правил
ШАГ 2: Сгенерируй цепочку (диалог, последовательность) → текст
ШАГ 3: Для КАЖДОГО шага проверь: следует ли ход из предыдущего по правилу → таблица «шаг / условие / ожидалось / получено»
ШАГ 4: Посчитай долю нарушений (не среднее «похоже/не похоже») → процент
ШАГ 5: Если нарушений много → генерируй по одному ходу, подавая историю заново

Шаги 2–3 можно сделать в одном чате. Шаг 5 требует нескольких запросов подряд.

🚀

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

Задача: Ты делаешь тренажёр для менеджеров по продажам в стиле «Тинькофф Бизнес»: модель играет капризного клиента. Правила: если менеджер предлагает скидку, клиент просит ещё больше. Если менеджер отказывает, клиент говорит «ухожу к конкурентам». Если менеджер молчит или задаёт вопрос, клиент раздражается. Нужно убедиться, что «клиент» не ломает правила на десятом сообщении.

Промпт:

Ты играешь роль клиента в диалоге с менеджером по продажам CRM для малого бизнеса.

ПРАВИЛА клиента (строго, без исключений):
R1. Если менеджер предложил скидку → клиент просит скидку ещё больше.
R2. Если менеджер отказал в скидке → клиент пишет «ухожу к конкурентам».
R3. Если менеджер задал вопрос → клиент отвечает раздражённо и коротко.

Сыграй 12 реплик клиента подряд на таких ходах менеджера:
1) «Здравствуйте, чем могу помочь?»
2) «Могу предложить скидку 10%.»
3) «К сожалению, больше скидки дать не можем.»
4) «А какой у вас сейчас бюджет?»
... (ещё 8 ходов менеджера)

После каждой реплики клиента в скобках укажи: [правило: R1/R2/R3, ход менеджера: ...].
В конце выведи таблицу: № хода | какое правило должно сработать | что сделал клиент | нарушение (да/нет).
Посчитай долю нарушений.

Результат: Модель выдаст диалог с пометками правил. Затем таблица по каждому ходу и итоговый процент нарушений. Вероятнее всего, часть реплик не будет соответствовать правилу: например, клиент смягчится там, где R2 требует угрозы. Видно это только в пошаговой таблице, на общее впечатление «диалог живой» полагаться нельзя.

🧠

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

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

Сильная сторона: на одном локальном шаге, когда история перед глазами и нужно лишь выбрать следующий ход, сильные модели справляются хорошо. В статье при подсказке правильной истории самая сильная модель (reasoner) попадала в правило примерно в 93% случаев, а слабая — только примерно в половине. Значит, ошибки частично копятся при длинной генерации, а частично модель вообще не может применить правило.

Как использовать: проверяй по шагам, а не по среднему. Если нарушений много, дроби генерацию: один ход за запрос, правило каждый раз в промпте, история — настоящая. Рычаги: - Число правил и глубина условия (от последнего хода, от двух последних, от пары ходов обоих игроков): чем меньше, тем надёжнее. - Явная пометка «какое правило сработало» в каждой реплике: делает нарушения видимыми. - Размер истории: не сваливай в промпт 1000 примеров ради «лучшего понимания». В статье это не помогало и часто вредило. - Сила модели: слабая модель ломает правила уже на локальном шаге.

📋

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

Это шаблон аудита, выведенный из находок статьи. Авторы его не предлагали.

Роль: ты играешь {роль} в ситуации {контекст}.

ПРАВИЛА (применяй строго, на каждом шаге):
R1. Если {условие_1} → {действие_1}.
R2. Если {условие_2} → {действие_2}.
R3. Если {условие_3} → {действие_3}.

Ходы собеседника:
{список_ходов}

Для каждого хода собеседника:
1. Назови, какое правило сработало (R1/R2/R3) и почему.
2. Дай реплику, которая ему следует.

В конце выведи таблицу: № | ход собеседника | сработавшее правило | реплика | нарушение (да/нет).
Посчитай долю нарушений. Если нарушения есть — перечисли, где именно.

Подставляй: - {роль}, {контекст}: кого играет модель и где; - {условие_N} и {действие_N}: короткие, однозначные правила «если ... → ...»; - {список_ходов}: заранее заданные ходы собеседника (это и есть «подсказка правильной истории»).

⚠️

Ограничения

⚠️ Игрушечная среда: опыты проведены на «камень-ножницы» и на цепочках символов с чёткими формальными правилами. Реальные диалоги и поведение клиентов мягче и многограннее. Перенос выводов на них не проверен.

⚠️ Одна модель в самых сложных опытах: детальный разбор сложных структур делали на одной сильной модели. Идентификацию тестировали шире, на нескольких. Универсальность вывода о сложных условиях не доказана.

⚠️ Решений почти нет: авторы показали, где модели ломаются, и диагностировали это (подсказка правильной истории, сравнение с алгоритмом). Готового промпта, который чинит проблему, в статье нет. Явные правила в промпте для высоких порядков зависимости не спасали.

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

⚠️ Текст статьи обрезан: часть результатов по сложным структурам (Exp. 3, высокие порядки) в доступном материале приведена не полностью.

🔍

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

Идея простая: взять игру, где известно, по какому правилу ходит каждый игрок, и проверить, понимает ли модель это правило, а не только «в среднем». Выбрали «камень-ножницы» с двумя типами игроков: статистические (бросают по фиксированным вероятностям) и «марковские» (ход зависит от предыдущего хода соперника или от пары ходов). Модели дали историю в 100, 200, 500 или 1000 раундов и просили назвать стратегии. Позже просили ещё и продолжить игру на 1000 раундов.

Результаты вышли неожиданными. Во-первых, длинная история не помогала: точность угадывания падала, хотя обычный алгоритм максимального правдоподобия находил стратегию в 100% случаев. Значит, дело не в нехватке информации, а в том, что модель не извлекает из неё правило. Во-вторых, верное распознавание не гарантировало верное выполнение. А среди 282 неверно угаданных стратегий у 42% распределение ходов всё равно почти совпало с целевым. Так правдоподобие маскирует неправильный механизм. В-третьих, при подсказке правильной истории сильные модели отвечали точно (reasoner 93%, GPT-5 83%), а слабые (GPT-5-mini 54%, DeepSeek Chat 53%) ошибались и локально.

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

💡

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

💡 Адаптация для генерации тестовых данных: вместо клиента симулируй пользователей сайта.

Сгенерируй 30 последовательных действий пользователя интернет-магазина (Ozon-подобного).
Правила: после «добавил в корзину» следующее действие — «оформление» с вероятностью 70%, иначе «ушёл».
После «ушёл» следующее действие всегда «вернулся через 1–2 дня и просмотрел похожий товар».
После каждого действия укажи [правило: ...].
Потом посчитай: сколько раз правило нарушено.

🔧 Техника: один ход за запрос → меньше накопления ошибок

Вместо «сыграй 12 реплик» подавай каждый ход менеджера отдельным сообщением и напоминай правила:

История диалога: {история}. Правила: R1–R3 (см. выше).
Ход менеджера: «{ход}». Выдай ТОЛЬКО реплику клиента и номер правила.

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

🔗

Ресурсы

  • Работа: Do LLMs Understand Sequential Structure? A Controlled Study of Inference and Generation
  • Авторы: Jerry Wang (University of Illinois Urbana-Champaign); Zhengxiang Wang, Tengfei Ma (Stony Brook University); Ting Yu Liu, Hsin-Ling Hsu, Yi-Cheng Lai (National Chengchi University)
  • Связанные работы: про LLM как симуляторы поведения (Park et al., 2023), игры как среда проверки стратегического мышления (Akata et al., 2024), обучение в контексте как байесовский вывод (Xie et al., 2022)

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

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

Обнаружено: чем больше истории в промпте, тем хуже модель понимает правило. На 100 раундах «камень-ножницы» она угадывает стратегию игрока. На 1000 раундах угадывает хуже, хотя обычный алгоритм находит стратегию в 100% случаев. Проверка по шагам позволяет поймать роль, которая выглядит живой, но нарушает собственные правила. Например, капризный клиент в тренажёре продаж или персонаж с жёсткой логикой. Фишка: смотри не на то, похоже ли в среднем, а на то, выполнено ли правило на каждом шаге. Модель отлично копирует итоговые пропорции. У 42% неверно угаданных стратегий распределение ходов совпало с целевым почти идеально, а условие «если было А, то Б» при этом сломано.

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

Распознать правило и выполнять его на длинной дистанции — две разные способности. Модель может назвать правило верно и всё равно не следовать ему. Поэтому проверка строится в три хода. 1. Выпиши правила явно: «если было X, сделай Y». 2. Для каждого шага сверь реплику с правилом. Не считай общее впечатление. 3. Посчитай долю нарушений. Если она высокая, генерируй по одному ходу. Модель не ведёт в голове таблицу «что было — что делать», она просто пишет правдоподобный текст. Это как актёр, который играет «вспыльчивого», но не помнит, из-за чего именно вспылил. Со стороны сцена выглядит нормально. Если сверять по протоколу, то ошибки видны на каждом шагу. Ход за ходом по одному запросу в статье называют подсказкой правильной истории (teacher forcing).

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

Модель учили выдавать правдоподобный текст, а не исполнять условия. Общие пропорции вроде «столько-то отказов, столько-то просьб» она ловит легко. Условие «если А, то Б» нужно держать на каждом шаге, а это тяжелее. Чем длиннее цепочка зависимостей (от последнего хода, от двух, от трёх, от восьми), тем хуже результат. Явные правила в промпте для высоких порядков тоже не спасают. На одном локальном шаге картина другая. История перед глазами, нужно выбрать только следующий ход. Сильная модель с подсказкой правильной истории попадала в правило примерно в 93% случаев, слабая — примерно в 50%. Значит, ошибки частично копятся при длинной генерации. Частично слабая модель вообще не применяет правило, даже когда видит его.

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

Ролевые тренажёры и симуляции → конкретно для клиента, оппонента или персонажа с жёсткими правилами реакции, особенно когда диалог длиннее 8-10 реплик. Подходит и для генерации тестовых данных по правилам: поведение пользователей, цепочки событий, сценарии с условиями «если..., то...». НЕ подходит, если правил нет и важна просто живость диалога. Не стоит переносить выводы на реальных людей: опыты шли на «камень-ножницы» и цепочках символов, а реальное поведение мягче и сложнее.

Мини-рецепт

1. Выпиши правила: коротко и однозначно, формат «если менеджер сделал X → клиент делает Y». Три правила на старте хватит.
2. Задай ходы собеседника заранее: список из 10-12 реплик. Это и есть настоящая история, модель её не придумывает.
3. Заставь подписывать каждую реплику: «[правило: R1, ход: скидка]». Нарушения сразу вылезают на свет.
4. Попроси таблицу в конце: номер хода, какое правило должно сработать, что сделал клиент, нарушение да/нет.
5. Посчитай процент нарушений. Не верь словам «в целом всё соответствует». Для длинных цепочек лучше проверить скриптом или руками.
6. Много нарушений? Дроби: один ход за запрос, правила в каждом промпте, история настоящая.
7. Не заливай в промпт 1000 примеров ради понимания. В статье это не помогало и часто вредило.

Примеры

[ПЛОХО] : Сыграй капризного клиента и проведи диалог с менеджером на 12 реплик.
[ХОРОШО] : Ты клиент CRM для малого бизнеса. ПРАВИЛА без исключений: R1. Менеджер предложил скидку → клиент просит ещё больше. R2. Менеджер отказал в скидке → клиент пишет «ухожу к конкурентам». R3. Менеджер задал вопрос → клиент отвечает раздражённо и коротко. Ходы менеджера: 1) «Здравствуйте, чем могу помочь?» 2) «Могу предложить скидку 10%.» 3) «К сожалению, больше скидки дать не можем.» 4) «А какой у вас бюджет?» (и так далее). После каждой реплики клиента укажи в скобках [правило: R1/R2/R3, ход менеджера: ...]. В конце выведи таблицу: № хода | какое правило должно сработать | что сделал клиент | нарушение (да/нет). Посчитай долю нарушений. В таблице видно то, что на глаз не заметно. Например, на ходу 3 клиент смягчился вместо угрозы уйти. Диалог при этом выглядит живым.
Источник: Do LLMs Understand Sequential Structure? A Controlled Study of Inference and Generation
ArXiv ID: 2610.04977 | Сгенерировано: 2026-10-06 06:00

Проблемы LLM

ПроблемаСутьКак обойти
Модель играет роль «похоже в среднем», но нарушает правило «если А, то Б»Ты прописал правила поведения персонажа, клиента или симулятора. Получаешь диалог, который выглядит живым. Доли реакций выходят почти правильными: столько-то отказов, столько-то просьб. Но на отдельных шагах правило нарушено. Клиент смягчается там, где должен был пригрозить уходом. Чем больше предыдущих ходов надо учитывать сразу, тем хуже. Явная запись правил в запросе помогает слабо. Это бьёт по тренажёрам, симуляциям, тестовым данным и любой ролевой игре с условиямиНе суди по общему впечатлению. Проверяй каждый шаг отдельно. Если нарушений много, дроби генерацию: один ход за запрос. Подробности — в методе ниже

Методы

МетодСуть
Пошаговая проверка правил — видно нарушения, которые скрывает общее впечатлениеЧто делать: 1) Выпиши правила коротко: R1. Если X → Y. 2) Попроси модель к каждой реплике дописать, какое правило сработало: [правило: R2, ход собеседника: ...]. 3) В конце попроси таблицу: № хода / нужное правило / что сделала модель / нарушение (да/нет). 4) Попроси посчитать долю нарушений. 5) Если их много, переходи на генерацию по одному ходу. В каждый запрос вставляй правила и настоящую историю диалога, а не ту, что модель придумала сама. Почему работает: на одном шаге, когда история перед глазами, модель выбирает следующий ход намного надёжнее. Сильная модель попадает в правило почти всегда, слабая — примерно в половине случаев. При длинной генерации ошибки копятся, и модель не ведёт «в голове» таблицу «что было → что делать». Пометка правила и таблица заставляют сверяться с условием на каждом шаге. Когда да: тренажёры, ролевые симуляции, генерация данных по сценарию, когда ходы собеседника известны заранее. Когда нет: одна короткая реплика, свободный творческий диалог без жёстких правил. Осторожно: самопроверку модели лучше перепроверить вручную или скриптом. На длинных цепочках она может пропустить собственные нарушения. Слабая модель ломает правила даже на одном шаге. Чем меньше правил и проще условие (только от последней реплики), тем надёжнее
📖 Простыми словами

DoLLMsUnderstand Sequential Structure? A Controlled Study of Inference and Generation

arXiv: 2610.04977

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

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

В исследовании это вскрыли через контролируемые тесты: генерацию цепочек символов и классический Rock-Paper-Scissors. Выяснился фундаментальный провал: декодировать паттерн из чужой истории модель способна, но воспроизводить последовательные правила на длинной дистанции — полный облом. Внутренняя таблица переходов разваливается, потому что нейросеть физически не умеет хранить строгие логические состояния в оперативной памяти.

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

Короче: завязывай вешать логику состояний на саму языковую модель. Жёсткие ветки диалога нужно отдавать старому доброму коду или внешней state machine, а сетке оставлять только раскраску реплик живым языком. Иначе твой «умный симулятор» будет правдоподобно и уверенно пороть чушь, сливая весь сценарий.

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

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

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