3,583 papers
arXiv:2606.06022 73 4 июня 2026 г. FREE

Контекст в промпте для анализа позиции: что помогает, что вредит и почему

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

TL;DR

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

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

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


🔬

Схема метода

ШАГ 1 (один раз на тему):
Попроси LLM: "Дай краткое нейтральное описание темы [X]"
→ Получаешь 2-4 предложения без оценок и позиций

ШАГ 2 (для каждого текста):
Промпт = [инструкция] + [описание темы из шага 1] + [анализируемый текст]
→ LLM определяет позицию: за / против / нейтрально

⚠️ НЕ добавляй в промпт:
- Прошлые посты или высказывания автора
- Интерпретацию самого текста ("этот пост о том, что...")
- Само описание напиши нейтрально — без оценочных слов

Оба шага выполняются в обычном чате, отдельными запросами.


🚀

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

Задача: HR-директор российской компании анализирует анонимные отзывы сотрудников о переходе на четырёхдневную рабочую неделю. Много коротких, амбигуозных сообщений — непонятно, человек «за» или просто констатирует факт.

Промпт (Шаг 1 — описание темы):

Дай краткое нейтральное описание темы: четырёхдневная рабочая неделя.
Только факты — без оценок, без позиций, без слов "хорошо" или "плохо".
2-3 предложения.

Промпт (Шаг 2 — анализ отзыва):

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

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

Текст: "Ну посмотрим. Пятница свободна, но план тот же. Успеем — хорошо."

Какова позиция автора?
Варианты: за / против / нейтрально
Ответь одним словом.

Результат: Модель выдаст одно слово — позицию автора. Описание темы помогает ей правильно «заземлить» короткий, амбигуозный текст: понять, о чём речь и о чём автор молчит. Без описания темы модель может неправильно интерпретировать фразу «план тот же» как «против» — ведь контекста нет.


🧠

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

LLM плохо работает с неявными отсылками. Короткие тексты — твиты, отзывы, комментарии — часто не называют тему прямо. Автор пишет «маски — это несвобода» и не объясняет, что такое маски и почему вообще о них спорят. Модель пытается угадать контекст из сокращённого текста и ошибается.

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

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

Рычаги управления: - Тон описания темы → чем нейтральнее, тем лучше. Если описание содержит слова «опасный», «полезный», «спорный» — убери их - Длина описания → 2-4 предложения достаточно. Длиннее — начинает отвлекать - История автора → не добавляй. Даже если кажется, что это поможет — по данным исследования, чаще вредит


📋

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

### Шаг 1. Получить описание темы

Дай краткое нейтральное описание темы: {тема}.
Только факты — без оценок и позиций.
2-3 предложения.

---

### Шаг 2. Анализ позиции

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

Тема: {вставь описание из шага 1}

Текст: {анализируемый текст}

Какова позиция автора?
Варианты: {за} / {против} / {нейтрально}
Ответь одним словом.

Что подставлять: - {тема} → то, о чём потенциально пишет автор: "повышение ставки ЦБ", "новая политика возврата", "Илон Маск" - {анализируемый текст} → конкретный текст — отзыв, комментарий, твит - {за} / {против} / {нейтрально} → можешь заменить на свои метки: "поддерживает / критикует / не ясно"


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

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

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

LLM спросит про тему анализа и формат меток — потому что без этого она не знает, какое описание генерировать и что считать «за» и «против» в твоём конкретном кейсе.


⚠️

Ограничения

⚠️ Работает хуже для субъективных, нейтральных позиций: Модель с добавленным контекстом чаще ошибается именно на нейтральных текстах — склонна приписывать автору мнение там, где его нет.

⚠️ Описание темы должно быть нейтральным: Если в описание просочится оценочное слово — эффект переворачивается: контекст начинает тянуть ответ в свою сторону.

⚠️ Метод не для сложного многоуровневого текста: Чем больше в тексте иронии, сарказма, культурных отсылок — тем меньше помогает даже хорошее описание темы. Краткий нейтральный контекст не справляется с тонкими коннотациями.

⚠️ Few-shot примеры ослабляют эффект: Когда в промпте уже есть примеры с ответами (few-shot), добавление описания темы даёт меньший прирост. В режиме без примеров (zero-shot) — эффект сильнее.


🔍

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

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

Неожиданный результат: «Живой контекст» — самый информативный на первый взгляд — оказался самым вредным. Он стабильно снижал точность на всех датасетах и моделях. Причина вскрылась при анализе: когда LLM генерирует объяснение твита, она почти всегда вкладывает в него оценочные слова. Следующая LLM их считывает и использует как сигнал — даже если исходный твит был нейтральным.

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


💡

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

📌

🔧 Принцип «нейтрального якоря» за пределами позиций

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

Разбор питча стартапа: сначала попроси LLM дать нейтральное описание рынка/отрасли (2-3 факта). Потом дай этот контекст + питч + вопрос "какова гипотеза основателя о проблеме?"

Разбор клиентского отзыва: сначала нейтральное описание продукта. Потом анализ тональности.

📌

🔧 Эффект «отравленного контекста» как диагностика

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


🔗

Ресурсы

Название работы: Contextualized Prompting for Stance Detection on Social Media

Авторы: Tilman Beck (University of Zurich / University Hospital Zurich), Shakib Yazdani (University of Göttingen), Simon Kruschinski (GESIS Leibniz Institute for the Social Sciences), Marcus Maurer (Johannes Gutenberg-University Mainz), Iryna Gurevych (TU Darmstadt — UKP Lab)

Код и данные: github.com/tilmanbeck/stance-context-twitter

Отсылки из исследования: Датасеты SemEval-2016 Task 6 (Mohammad et al., 2016), covid19-glandt (Glandt et al., 2021), wtwt (Conforti et al., 2020). Цитируется цепочка рассуждений (Chain-of-Thought, Wei et al., 2022), LLM-as-a-Judge (Zheng et al., 2023).


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

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

Добавил больше контекста — модель стала ошибаться чаще. Биография автора, его прошлые посты, объяснение «о чём этот текст» — всё это не помогает, а тянет точность вниз. Метод позволяет точно определять позицию автора (за / против / нейтрально) по коротким, неоднозначным текстам — комментариям, отзывам, твитам. Работает только одно: краткая нейтральная справка о самой теме — не кто такой автор, а что такое предмет спора. Два-три предложения фактов — и модель перестаёт гадать о контексте и начинает читать позицию.

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

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

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

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

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

Анализ комментариев, отзывов, постов в соцсетях — особенно коротких и неоднозначных, где автор не называет тему прямо. Хорошо работает в режиме без примеров — когда в промпте нет готовых ответов для ориентира. Если примеры с ответами уже есть, прирост от описания темы будет заметно меньше. Не подходит для текстов с иронией, сарказмом и культурными отсылками — нейтральная справка с тонкими коннотациями не справляется.

Мини-рецепт

1. Один раз на тему — получи справку: попроси модель: Дай краткое нейтральное описание темы [X]. Только факты, без оценок и позиций. 2-3 предложения. Проверь результат: нет ли слов «опасный», «полезный», «спорный», «важный». Если есть — попроси убрать.
2. Для каждого текста — анализируй позицию: используй промпт: Ты определяешь позицию автора по тексту. Тема: [описание из шага 1]. Текст: [анализируемый текст]. Какова позиция автора? Варианты: за / против / нейтрально. Ответь одним словом.
3. Не добавляй в промпт: прошлые посты автора, биографию аккаунта, имя пользователя — и особенно интерпретацию текста, сгенерированную другим запросом к LLM. Всё это по данным исследования или не даёт эффекта, или прямо вредит.

Примеры

[ПЛОХО] : Вот твит пользователя @klimov_speaks. Он раньше писал против ограничений. Биография: журналист, либертарианец. Твит: «Ну посмотрим. Пятница свободна, но план тот же». Определи позицию. Модель считает биографию — и приписывает «против», даже если текст нейтральный.
[ХОРОШО] : Шаг 1: Дай краткое нейтральное описание темы: четырёхдневная рабочая неделя. Только факты, без оценок. 2-3 предложения. Шаг 2: Ты определяешь позицию автора по тексту. Тема: Четырёхдневная рабочая неделя — модель организации труда, при которой сотрудники работают четыре дня при сохранении полной занятости. Обсуждается как способ повысить продуктивность, реализация отличается в разных компаниях. Текст: «Ну посмотрим. Пятница свободна, но план тот же. Успеем — хорошо.» Позиция: за / против / нейтрально. Ответь одним словом. Модель отвечает «нейтрально» — и это правильно. Без справки о теме она могла бы решить, что «план тот же» — это недовольство.
Источник: Contextualized Prompting for Stance Detection On Social Media
ArXiv ID: 2606.06022 | Сгенерировано: 2026-06-05 09:57

Проблемы LLM

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

Методы

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

ContextualizedPromptingFor Stance Detection On Social Media

arXiv: 2606.06022

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

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

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

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

Короче, не пытайся завалить модель всеми данными, которые у тебя есть, в надежде, что она сама разберется. Больше контекста не значит лучше, чаще это значит «дороже и тупее». Чтобы выжать из LLM максимум при анализе мнений, давай ей только суть обсуждаемой темы и непосредственное окружение текста. Остальное — биографии, прошлые заслуги и имена — смело в топку, это только плодит ошибки и заставляет модель умничать не по делу.

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

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

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