3,583 papers
arXiv:2609.05882 77 5 сент. 2026 г. FREE

Turn Surgery: находка о том, что собственные прошлые ответы модели тянут диалог вниз

КЛЮЧЕВАЯ СУТЬ
LLM запоминает не только ваши слова, но и свои же ошибочные догадки — и тащит их через весь диалог, как гирю на шее. Метод Turn Surgery позволяет найти и обезвредить ровно тот ответ модели, который всё портит, без пересборки всего разговора заново. Меняешь один конкретный ответ модели на нейтральное 'Принято' — и финальный результат резко выправляется в 6 из 10 испорченных диалогов. Хирургическая точность вместо полного сброса контекста.
Адаптировать под запрос

TL;DR

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

Самое неприятное: если задачу раскрывать по частям (сначала одно требование, потом другое), а не выдать целиком сразу — модель начинает ошибаться сильнее. И дело не в том, что история становится длиннее. Когда старые ответы заменили не короткой фразой, а фразой такой же длины, эффект был почти одинаковым (+0.068 против +0.069). Значит, вес несёт не объём текста, а его содержание — конкретное неверное предположение или лишняя деталь, которую модель сама сформулировала на шаге 2, продолжает как якорь тянуть её на шаге 6.

Метод диагностики называется Turn Surgery: заменяют не всю историю, а один конкретный ответ модели посередине диалога, а дальше "переигрывают" реальные сообщения пользователя, которые были после этой точки. Так находят, какой именно ход диалога был "токсичным". У 6 из 10 испорченных диалогов нашёлся хотя бы один такой ход, замена которого спасала финальный результат.


🔬

Схема метода

ШАГ 1 (диагностика деградации): Сравнить FULL (задача целиком за раз) 
и SHARDED (задача по частям, ход за ходом) → найти диалоги, 
где к финалу результат провален

ШАГ 2 (нейтрализация всей истории): Заменить ВСЕ промежуточные 
ответы модели на нейтральную фразу "Принято" → регенерировать 
финальный ответ с теми же вопросами пользователя → сравнить результат

ШАГ 3 (Turn Surgery — точечная замена): Заменить только ОДИН 
конкретный промежуточный ответ модели → "переиграть" оставшиеся 
реальные сообщения пользователя → сравнить финал с оригиналом

Все шаги в исследовании выполнялись через API отдельными прогонами. Но принцип применим вручную: в ChatGPT/Claude есть функция редактирования сообщений — можно отредактировать конкретный старый ответ модели в истории чата и продолжить диалог заново.


🚀

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

Задача: Вы обсуждаете с ChatGPT коммерческое предложение для клиента через серию из 6 сообщений: сначала описываете продукт, потом бюджет клиента, потом сроки, потом просите финальный текст. На шаге 3 модель ошибочно предположила, что бюджет клиента — 500 тысяч рублей (вы этого не говорили), и к финальному сообщению текст предложения строится вокруг этой несуществующей цифры.

Промпт (если нет функции редактирования сообщений):

В нашем диалоге про коммерческое предложение ты написал(а), что бюджет 
клиента — 500 тысяч рублей. Это неверно, я такого не говорил(а). 
Полностью отбрось это предположение, как будто его не было.

Вот реальные факты: бюджет клиента — до 1,2 млн рублей, срок реализации — 
3 месяца, тон текста — деловой, без воды.

Теперь, учитывая только реальные факты из нашего диалога и это уточнение, 
заново составь финальный текст коммерческого предложения.

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


🧠

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

LLM воспринимает весь текст диалога — включая собственные прошлые ответы — как данность, на которую можно опираться. Она не умеет "усомниться" в том, что сама написала раньше, даже если это было предположением, а не фактом. Поэтому ошибка на шаге 3 спокойно доживает до шага 6.

При этом сильная сторона модели — она честно и последовательно строит ответ на основе всего видимого контекста. Это и хорошо (учитывает нюансы), и плохо (тащит ошибки).

Метод обходит слабость просто: убирает конкретный "токсичный" фрагмент из истории, заменяя его нейтральной фразой. Модель заново строит ответ уже без ложной опоры — и точность растёт.

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


📋

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

В нашем диалоге про {задача} ты написал(а) {проблемное предположение 
или деталь}. Это было ошибкой — я такого не говорил(а)/не подтверждал(а).

Полностью отбрось это предположение, как будто его не было.

Вот реальные факты: {уточнение}.

Теперь, учитывая только это уточнение и остальные мои сообщения, 
заново дай финальный результат по задаче: {текущий запрос}.

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

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

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

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

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

⚠️

Ограничения

⚠️ Не всегда помогает: в исследовании только 6 из 10 испорченных диалогов имели хотя бы одну точку замены, которая реально спасала результат. Большинство проверенных точек вообще не меняли финал.

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

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


🔍

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

Команда взяла 627 задач из шести семейств (работа с функциями, код, данные-в-текст, SQL-запросы, математика, суммаризация) и прогнала их через пять моделей, сравнивая полную формулировку задачи за раз с постепенным раскрытием по частям. Дальше взяли завершённые "разбитые" диалоги и проиграли их заново, заменив прошлые ответы модели на нейтральную фразу — эффект оказался небольшим, но стабильным на почти 3000 диалогов.

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

Затем прицельно "прооперировали" 237 сложных диалогов, меняя по одному ответу модели за раз — в 64% случаев нашли хотя бы одну точку замены, которая спасала финальный результат, а почти в половине задач с бинарным исходом замена превращала провал в успех. Отдельно на открытой модели заглянули "под капот" и увидели, что полезные замены действительно меняют внутреннее состояние модели глубже по диалогу — но паттерн этих изменений разный для разных задач, единого универсального механизма не нашли.


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

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

LLM запоминает не только ваши слова, но и свои же ошибочные догадки — и тащит их через весь диалог, как гирю на шее. Метод Turn Surgery позволяет найти и обезвредить ровно тот ответ модели, который всё портит, без пересборки всего разговора заново. Меняешь один конкретный ответ модели на нейтральное 'Принято' — и финальный результат резко выправляется в 6 из 10 испорченных диалогов. Хирургическая точность вместо полного сброса контекста.

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

Дело не в объёме истории, а в содержании одного конкретного ответа. Исследователи заменили старые ответы на фразу ТАКОЙ ЖЕ длины — эффект остался почти тем же (+0.068 против +0.069 у короткой замены). Значит вес несёт не текст сам по себе, а конкретная ложная деталь, которую модель сама придумала на одном из шагов. Turn Surgery — это замена ОДНОГО хода, а не всей истории целиком.

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

LLM воспринимает свой прошлый текст как факт, а не как черновик, который можно пересмотреть. Она не умеет сама усомниться в написанном ранее — поэтому ошибка на шаге 3 доживает до шага 6, обрастая новыми деталями. Убери конкретный токсичный ответ — модель строит логику заново без ложной опоры, и точность возвращается. Кстати, при раскрытии задачи по частям (SHARDED) риск такого якоря выше, чем при полной формулировке сразу (FULL).

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

Длинные рабочие диалоги с ChatGPT или Claude → когда задача раскрывалась по частям и в какой-то момент модель зацепилась за неверную деталь, которую сама придумала. Особенно полезно для деловой переписки, технических заданий, консультаций — где ошибка на 3-м шаге портит итоговый документ на 6-м. Не подходит, если неверная деталь пришла от вас самих, а не от модели — тут проще просто исправить свой запрос.

Мини-рецепт

1. Найди токсичный ход: пересмотри диалог, отметь ответ модели, где появилось предположение, которое вы не подтверждали.
2. Замени, не удаляй: через функцию редактирования сообщений поставь короткую нейтральную фразу вместо этого ответа, например Принято, уточнил детали.
3. Проиграй диалог заново: продолжи с того же места, отправив те же реальные сообщения, что были после.
4. Сравни результат: финал стал точнее — вы нашли якорь. Не изменился — ищи другой ход.

Примеры

[ПЛОХО] : Забудь всё что было и начни сначала
[ХОРОШО] : В нашем диалоге про коммерческое предложение ты написал(а), что бюджет клиента — 500 тысяч рублей. Это неверно, я такого не говорил(а). Полностью отбрось это предположение. Реальный бюджет — до 1,2 млн рублей, срок — 3 месяца. Заново составь финальный текст, учитывая только подтверждённые факты.
Источник: What if LLMs Ate Their Words: Causal History Effects in Multi-Turn Interaction
ArXiv ID: 2609.05882 | Сгенерировано: 2026-09-09 04:22

Проблемы LLM

ПроблемаСутьКак обойти
Собственные старые ответы модели тянут ошибку через весь диалогВ длинном диалоге модель читает не только ваши сообщения, но и свои прошлые ответы как готовый факт. Если на одном из шагов она сделала неверное предположение — эта ошибка "доживает" до финального ответа, даже спустя много сообщений. Модель не умеет усомниться в том, что сама написала раньшеНайдите проблемный старый ответ модели и замените его в истории на нейтральную фразу вроде "Принято, уточнил детали". Попросите модель заново дать финальный ответ, опираясь только на реальные факты из диалога
Раскрытие задачи по частям увеличивает число ошибокЕсли формулировать задачу порциями (сначала одно требование, потом другое), риск ошибки в финале выше, чем если сразу дать всю задачу целиком. Дело не в длине текста — дело в том, что модель успевает "додумать" и закрепить неверные детали на промежуточных шагахФормулируйте задачу целиком с самого начала, если это возможно. Не раскрывайте требования по одному — это снижает риск деградации без дополнительных действий

Методы

МетодСуть
Точечная замена старого ответа модели ("хирургия хода")Найдите в истории диалога конкретный ответ модели, где она сделала неверное предположение или добавила лишнюю деталь. Замените именно этот ответ на короткую нейтральную фразу — не удаляйте сообщение целиком, а замещайте, чтобы не сломать структуру диалога. После замены попросите модель заново дать финальный результат, учитывая оставшиеся реальные сообщения. "Ты написал(а) X — это ошибка, я такого не говорил. Отбрось это предположение. Реальные факты: Y. Заново дай финальный результат". Работает потому что модель строит ответ на всём видимом контексте — убрав ложную опору, вы убираете и её влияние на финал. Работает: длинные многоходовые диалоги, где подозреваете конкретную ошибку на определённом шаге. Не работает: если проблема не в одном конкретном ответе, а размазана по нескольким ходам — тогда точечная замена может не спасти результат
📖 Простыми словами

What ifLLMsAte Their Words: Causal History Effects in Multi-Turn Interaction

arXiv: 2609.05882

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

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

Исследователи доказали этот эффект причинной истории простым тестом: взяли ветку диалога и заменили все прошлые реплики ассистента на нейтральное "Принято". Когда модель заставили выдать финал заново, опираясь только на реплики человека, результат кардинально изменился. Без собственной словесной шелухи нейросеть перестала натягивать сову на глобус и не приплела выдуманный бюджет в 500 тысяч, о котором пользователь даже не заикался.

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

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

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

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

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