3,583 papers
arXiv:2606.24077 71 23 июня 2026 г. FREE

Контекстное заражение: всё что вы вставляете в промпт — прилипает к ответу, даже если это ложь

КЛЮЧЕВАЯ СУТЬ
Вставил «вот плохой пример — не делай так» — и получил именно то, что хотел избежать. LLM не читает инструкцию «это антипример». Она просто видит текст. И тянется его воспроизвести. Понимание этого эффекта позволяет строить промпты только из того, что хочешь получить — без «антипримеров» и мусорного контекста. Модель не делит текст в промпте на «пример для понимания» и «правда» — оба типа попадают в один буфер. Слова из промпта получают статистический буст: они уже рядом, их уже видели. Ложный факт в промпте роняет точность Llama-3.1-8B с 79% до 22%.
Адаптировать под запрос

TL;DR

Всё, что попадает в промпт, увеличивает вероятность того, что модель воспроизведёт это в ответе — даже если это фактически неверно, даже если это пример "как не надо". Исследователи назвали это явление sentence-level contextual entrainment (контекстное заражение на уровне предложений): предложение из промпта как бы "магнитит" генерацию модели в свою сторону.

Главный нелогичный результат: ложный контекст снижает точность модели сильнее, чем его отсутствие. Llama-3.1-8B без контекста отвечала правильно в 79% случаев. После добавления заведомо ложного утверждения ("Токио — часть Франции") точность упала до 22%. Не до 70%, не до 50% — до 22%. Модель тянется к информации из промпта даже когда знает правильный ответ.

Практический вывод: плохие примеры в промпте опасны. Когда вы вставляете "вот плохой вариант, не делай так" — вы повышаете вероятность именно такого ответа. То же самое с нерелевантным контекстом, устаревшими данными, примерами с ошибками. Чистый промпт — умнее промпта с мусором.


📌

Схема явления

Промпт: [Ложный/нерелевантный контекст] + [Запрос]
                  ↓
Модель: тянется воспроизвести контекст
        вместо правильного ответа
                  ↓
Результат: точность падает, контент заражён
           содержимым из промпта

Три градации "заражения":

ЛЁГКОЕ: нерелевантный факт из другой области
        → небольшое смещение ответа

СРЕДНЕЕ: правильный факт, но не о том
         → заметное падение точности

СИЛЬНОЕ: ложный факт о предмете запроса
         → точность обваливается в разы

🚀

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

Задача: Павел пишет статью о стартапах. Он хочет, чтобы Claude написал в живом стиле — не как у пресс-релизов РБК. Вставляет пример "плохого текста" с просьбой "не пиши так".

Промпт (проблемный):

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

Напиши живо о том, как основатель Skyeng Харитон Матвеев 
строил компанию.

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

Промпт (правильный):

Напиши живо о том, как основатель Skyeng Харитон Матвеев 
строил компанию. Стиль: короткие предложения, конкретные 
детали, без корпоративного языка. Начни с момента, когда 
всё могло рухнуть.

Результат: Модель получает только позитивные инструкции без "заразного" контекста. Скучного текста в промпте нет — воспроизводить нечего.


🧠

Почему это работает (механика явления)

Слабость LLM: Модель не разделяет "что в промпте — пример для обучения" и "что в промпте — правда". Оба типа текста попадают в один контекстный буфер. Когда приходит время генерировать ответ, слова из промпта получают статистический буст — они уже "рядом", они уже "были использованы". Это не понимание, это паттерн-матчинг.

Сильная сторона LLM: Модель отлично подхватывает паттерны и стиль из примеров в промпте — именно поэтому few-shot промптинг работает. Но эта же сила создаёт уязвимость: любой пример прилипает, не только хороший.

Как использовать это знание: Вместо "не делай X" → опиши только то, что хочешь получить. Вместо "вот плохой вариант" → дай только хороший. Вместо "это неправильный ответ" → просто не включай неправильный ответ в промпт.

Рычаги управления контекстом: - Убирай "антипримеры" → не показывай плохой текст/код/логику, которую хочешь избежать - Чисти нерелевантный контекст → не вставляй документы, если они лишь косвенно связаны с задачей - Исправляй, не цитируй ошибки → вместо "не повторяй вот это" — скажи как правильно - Используй instruction-tuned модели (Claude, ChatGPT) → они значительно устойчивее к "заражению" чем базовые модели


📋

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

Принцип не оформляется в один промпт — это правило построения любого промпта. Вот чеклист перед отправкой:

ПЕРЕД ОТПРАВКОЙ ПРОМПТА — ПРОВЕРЬ:

1. Есть ли в промпте примеры "как не надо"?
   → Удали их. Опиши только желаемый результат.

2. Есть ли цитаты с ошибками/неточностями?
   → Убери или замени на исправленную версию.

3. Есть ли нерелевантные документы/контекст?
   → Оставь только то, что напрямую нужно для {задача}.

4. Ты описываешь ЧТО НАДО или ЧТО НЕ НАДО?
   → Переформулируй в позитивные инструкции.

ЗАДАЧА: {конкретная задача}
ФОРМАТ: {желаемый формат ответа}
СТИЛЬ/ОГРАНИЧЕНИЯ: {только позитивные требования}
ПРИМЕР (если нужен): {только хороший пример}

🚀 Быстрый старт — попроси модель проверить твой промпт:

Проверь мой промпт на "контекстное заражение": 
есть ли в нём примеры плохого, ошибочного или нерелевантного 
текста, который может "заразить" ответ? 
Переформулируй в чистые позитивные инструкции.

[вставить свой промпт]

⚠️

Ограничения

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

⚠️ Instruction-tuned модели устойчивее: Claude и ChatGPT (instruction-tuned) значительно меньше подвержены этому эффекту, чем базовые модели. Но полностью эффект не исчезает — он просто слабее.

⚠️ Субъективные задачи уязвимы особо: На вопросах вкуса, мнений, стиля — заражение работает сильнее, чем на фактических задачах. Попросить написать "не в стиле X" — рискованно именно здесь.

⚠️ Парадокс самоподтверждения: Если дать модели её же правильный ответ как контекст (казалось бы — хорошая идея), точность всё равно снижается. Это означает, что даже правильный контекст не из той пары "вопрос-ответ" мешает.


🔍

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

Команда из Университета Киото взяла 26 моделей из 7 семейств — от крошечных 0.5B до 72B параметров — и поставила простой эксперимент: что происходит с ответами модели, когда в промпт добавляют нерелевантный контекст? Они использовали два типа задач: фактические (столицы, связи между объектами) и субъективные (мнения на основе World Values Survey — глобального социологического опроса).

Самый контринтуитивный результат: ложный контекст иногда работал как усилитель правильного ответа. Если в промпте был "Токио — часть Франции", вероятность правильного "Токио — часть Японии" тоже немного росла. Почему? Потому что слово "Токио" уже в контексте — и всё связанное с Токио получает буст, включая правильные ассоциации. Но при этом точность всё равно падала — потому что "Франция" получала ещё больший буст.

Интересная деталь: исследователи выяснили, что всего 2-4% голов внимания (специальных компонентов трансформера) отвечают за этот эффект. Выключение этих голов устраняет заражение без потери точности. Для пользователей это недоступно технически, но это объясняет почему: инструктированные модели, судя по всему, имеют более "сдержанные" механизмы внимания к контексту.


💡

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

🔧 Техника "Позитивный рефрейм" → чистая инструкция без антипримеров

Если хочется показать контраст — вместо плохого примера опиши его через атрибуты:

"Вот скучный текст: [вставляет скучный текст]..."

"Стиль: живой, с конкретными деталями и диалогами. Без пассивных конструкций и канцелярита."

🔧 Техника "Аудит промпта" → попроси модель найти "заразный" контент

Перед важной задачей:

Посмотри на этот промпт критически. 
Есть ли в нём информация, которая может "смещать" ответ 
в нежелательную сторону? Что стоит убрать или переформулировать?
[промпт]

🔧 При работе с документами → изолируй ненадёжный контент

Если нужно проанализировать текст с ошибками:

Перед тобой документ с ошибками. Твоя задача — 
найти и исправить их. Не воспроизводи ошибочные 
формулировки в своём ответе — только перечисли 
что именно неверно и как должно быть правильно.

Явная инструкция "не воспроизводи" частично снижает эффект заражения.


🔗

Ресурсы

Название работы: Sentence-Level Contextual Entrainment in Large Language Models

Авторы: Yang Liu, Chenhui Chu — Kyoto University (Университет Киото, Япония)

Связанные работы: - Niu et al., 2025 — оригинальное открытие token-level contextual entrainment - Min et al., 2022 — few-shot с неправильными метками всё равно улучшает результат - Shi et al., 2023 — "distraction" от нерелевантного контекста

GitHub: https://github.com/ku-nlp/Sentence-Level_Contextual_Entrainment_in_LLMs


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

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

Вставил «вот плохой пример — не делай так» — и получил именно то, что хотел избежать. LLM не читает инструкцию «это антипример». Она просто видит текст. И тянется его воспроизвести. Понимание этого эффекта позволяет строить промпты только из того, что хочешь получить — без «антипримеров» и мусорного контекста. Модель не делит текст в промпте на «пример для понимания» и «правда» — оба типа попадают в один буфер. Слова из промпта получают статистический буст: они уже рядом, их уже видели. Ложный факт в промпте роняет точность Llama-3.1-8B с 79% до 22%.

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

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

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

LLM генерирует текст токен за токеном. На каждом шаге она смотрит на весь контекст и выбирает «что дальше». Слова из промпта буквально ближе к точке генерации — они статистически перетягивают знания из обучения. Поэтому одно ложное предложение в промпте давит на ответ сильнее, чем миллиарды правильных предложений из обучающих данных. Instruction-tuned модели — Claude, ChatGPT — устойчивее к этому эффекту. Но не иммунны. Даже у них эффект есть, просто слабее.

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

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

Мини-рецепт

1. Убери антипримеры: Хочешь избежать канцелярита — не показывай канцелярит. Опиши желаемое через позитивные характеристики: «короткие предложения, конкретные цифры, без вводных слов».
2. Переформулируй запреты в разрешения: «Не используй пассивный залог» → «Пиши активным залогом: подлежащее действует». «Без корпоративного языка» → «Разговорный стиль, как письмо другу».
3. Вычисти нерелевантный контекст: Не вставляй документы которые «могут пригодиться». Оставь только то, что напрямую нужно для ответа.
4. Проверяй промпт перед отправкой: Есть ли текст который не хочешь видеть в ответе? Если да — убери или замени описанием желаемого.

Примеры

[ПЛОХО] : Вот скучный корпоративный текст — не пиши так: "Компания демонстрирует уверенный рост в условиях волатильного рынка, оптимизируя ключевые показатели". Напиши живо о стартапе Skyeng.
[ХОРОШО] : Напиши о том как Харитон Матвеев строил Skyeng. Стиль: короткие предложения, конкретные детали, активный залог. Начни с момента когда всё могло рухнуть. Разница: в плохом варианте «волатильный рынок» и «ключевые показатели» уже в буфере — модель воспроизведёт именно это. В хорошем — только то, что нужно получить.
Источник: Sentence-Level Contextual Entrainment in Large Language Models
ArXiv ID: 2606.24077 | Сгенерировано: 2026-06-28 21:04

Проблемы LLM

ПроблемаСутьКак обойти
Отрицательные примеры в промпте увеличивают вероятность того, что ты хочешь избежатьВставляешь "вот плохой пример, не делай так". Модель видит этот текст в контексте. Слова из него получают статистический буст при генерации — они уже "рядом". Модель не различает "пример для изучения" и "правда". Оба типа текста попадают в один буфер. Итог: именно плохой стиль, ошибочные слова и нежелательные конструкции воспроизводятся в ответе. Работает для любых задач: стиль текста, код, структура, фактологияУбери отрицательные примеры полностью. Опиши только то, что хочешь получить. Вместо "не пиши как в пресс-релизе" пиши "короткие предложения, конкретные детали, без канцелярита". Вместо "не повторяй эту ошибку [цитата]" пиши как правильно

Методы

МетодСуть
Только позитивные инструкции — чистый промптУбери из промпта всё что не хочешь видеть в ответе. Правило: нет в промпте = нет статистического буста. Проверь перед отправкой: (1) Есть примеры "как не надо"? Удали. (2) Есть цитаты с ошибками? Убери или замени исправленной версией. (3) Есть нерелевантные документы? Оставь только то, что напрямую нужно для задачи. (4) Описываешь что надо или что не надо? Переформулируй в позитивное требование. Почему работает: Модель не может "не читать" части промпта. Всё что внутри — тянет генерацию в свою сторону. Убираешь мусор — убираешь притяжение. Когда особенно важно: задачи на стиль, тон, формат — там заражение сильнее всего

Тезисы

ТезисКомментарий
Лишний контекст не просто не помогает — он активно мешаетИнтуиция подсказывает: больше контекста = лучше. Или хотя бы нейтрально. Но нет. Ложный или нерелевантный контекст тянет модель к ошибке сильнее, чем его отсутствие. Механика: любой текст в промпте статистически приближает похожие слова и идеи к генерации. Если контекст ложный — модель тянется воспроизвести ложь вместо правильного ответа. Применяй: прежде чем добавить документ или пример в промпт, спроси: "Это напрямую нужно?" Если нет — не добавляй. Чистый промпт надёжнее загромождённого
📖 Простыми словами

Sentence-Level Contextual Entrainment inLargeLanguageModels

arXiv: 2606.24077

Суть в том, что нейронки — это патологические подражатели, которые не умеют в отрицание. Исследователи обнаружили контекстное заражение (contextual entrainment): любая структура, стиль или факт, попавшие в промпт, автоматически становятся для модели «магнитом». Если ты скармливаешь ей текст, она с огромной вероятностью начнет копировать его ритм и лексику, просто потому что так устроена математика предсказания следующего токена. Для LLM контекст — это не просто информация, это рельсы, с которых ей чертовски сложно соскочить.

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

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

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

Короче: забудь про метод «от противного». Хочешь живой стиль — давай только живые примеры. Хочешь чистый код — не показывай костыли. Положительные примеры (few-shot) — это единственный способ направить генерацию в нужное русло без побочных эффектов. Любой мусор в промпте, даже помеченный как «плохой», неизбежно отравит финальный результат. Кто кормит модель только качественным контентом, тот получает адекватные ответы, остальные — хроническое заражение контекстом.

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

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

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