TL;DR
Когда просишь LLM найти что-то сложное в тексте — манипуляцию, нарушения, проблемные паттерны — модель работает принципиально лучше, если вместо общего определения дать ей структурированный список конкретных подтипов. Не "ищи манипуляцию", а "вот 20 конкретных видов манипуляции — проверяй по каждому". Именно это исследовала статья: как разные способы "объяснить понятие в промпте" меняют качество обнаружения антисемитизма в текстах.
Модель по умолчанию ищет очевидные сигналы — явные слова, прямые высказывания. Когда явление закодировано, подано косвенно или завёрнуто в нейтральную риторику — модель промахивается. Причина: у неё есть общее представление о явлении, но она не "раскладывает" его автоматически на все возможные формы проявления. В итоге явные случаи ловятся надёжно, а тонкие — нет.
Решение: дать таксономию — пронумерованный структурированный список специфических форм/типов. Это работает как чеклист: модель проходит по каждому пункту и проверяет. Добавление примеров к таксономии делает модель более избирательной — снижает ложные срабатывания, но может немного срезать охват.
Схема метода
ШАГ 1: Составь таксономию — развёрнутый список специфических подтипов явления
→ нумерованные категории с коротким описанием каждой
ШАГ 2: Опционально — добавь 1-2 примера на каждую категорию
→ снизит ложные срабатывания, повысит точность
ШАГ 3: Вставь таксономию в промпт как явную инструкцию для проверки
→ один запрос, классификация + объяснение ссылками на категории
⚠️ Таксономию можно попросить составить саму LLM перед основным запросом
Пример применения
Метод плохо работает для очевидных, однозначных случаев — там таксономия не нужна. Сильная зона: сложные явления с множеством неочевидных форм — манипуляции, нарушения, риторические приёмы, проблемные паттерны.
Задача: Проверить продающий лендинг онлайн-курса по инвестициям на манипулятивные техники. Нужно убедиться, что контент не давит на страх и не вводит в заблуждение, прежде чем отдать юристу.
Промпт:
Ты — эксперт по потребительской психологии и маркетинговой этике.
Проверь следующий текст лендинга на наличие манипулятивных техник.
Используй эту таксономию — проверяй по каждому пункту:
1. Искусственная срочность — "только сегодня", "осталось 3 места", счётчики без реального дефицита
2. Апелляция к страху потери — акцент на том, что потеряет человек, если не купит
3. Ложный социальный proof — расплывчатые "тысячи клиентов", анонимные отзывы, непроверяемые цифры
4. Гарантии без условий — "гарантия результата" без указания конкретных условий и ограничений
5. Завышенные обещания — результаты, которые статистически невозможны для большинства
6. Навязывание идентичности — "настоящие предприниматели делают X", "умные люди уже..."
7. Ложная экспертность — регалии и титулы без верифицируемой базы
8. Техника "нога в двери" — бесплатный элемент как ловушка с немедленным переходом к продаже
9. Апелляция к авторитету без связи с темой — "как делает Баффет" без реальной аналогии
10. Отрицание рисков — умалчивание или преуменьшение реальных рисков инвестиций
Текст лендинга:
{текст_лендинга}
Для каждой найденной техники:
— Укажи номер категории
— Процитируй конкретную фразу
— Кратко объясни, почему это именно эта техника
Если текст просто описывает реальную функцию продукта — это не манипуляция.
Ищи именно риторические техники давления, а не фактические утверждения.
Результат: Модель пройдёт по тексту систематически, ссылаясь на конкретные пункты таксономии. Выдаст структурированный список находок с цитатами. Точность разбора будет выше, чем при запросе "найди манипуляции" — модель не ограничится очевидными триггерами, а проверит каждый тип отдельно.
Почему это работает
LLM не "знает" определение изнутри — она воспроизводит паттерны. Когда ты пишешь "найди манипуляцию", модель ищет то, что статистически часто сочетается с этим словом в её обучении: явные слова, грубые триггеры. Тонкие формы — те, что обычно не подписаны своим именем — остаются в слепой зоне.
Таксономия действует как принудительный чеклист. Ты не спрашиваешь "есть ли X?" — ты говоришь "пройди по каждому пункту и ответь отдельно". Это убирает самовольную приоритизацию: модель не может "решить", что искусственная срочность важнее, чем апелляция к страху. Она проверяет оба.
Рычаги управления: - Детализация таксономии — больше пунктов → выше охват, но больше ложных срабатываний. Меньше пунктов → точнее, но пропустит тонкое - Примеры к категориям → снижают ложные срабатывания, делают модель избирательнее - Инструкция "что не считать X" → существенно снижает ложные позитивы (в исследовании это был пункт про цитирование/критику) - Объём таксономии — сюрприз из исследования: 550-страничная книга не даёт преимущества перед компактным списком категорий. Краткость + структура > полнота
Шаблон промпта
Ты — эксперт по {область_экспертизы}.
Проверь следующий текст на наличие {явление}.
Используй эту таксономию — проверяй текст по каждому пункту:
1. {тип_1} — {краткое_описание_1}
2. {тип_2} — {краткое_описание_2}
3. {тип_3} — {краткое_описание_3}
[...]
Текст:
{текст}
Для каждой найденной категории:
— Укажи номер
— Процитируй конкретный фрагмент
— Объясни кратко почему это именно этот тип
Важно: если текст {исключение — цитирует/критикует/описывает} — это не {явление}.
Ищи суть, не только очевидные слова-маркеры.
Плейсхолдеры:
- {область_экспертизы} — кто проверяет: юрист, маркетолог, редактор, HR
- {явление} — что ищем: манипуляции, нарушения, риторические приёмы, ошибки аргументации
- {тип_N} + {краткое_описание_N} — список конкретных подтипов с пояснением каждого
- {исключение} — что НЕ считать явлением: цитирование, критика, описание в учебных целях
Где взять таксономию, если её нет: Попроси LLM составить до основного запроса: "Составь структурированный список из 10-15 конкретных типов [явление] с кратким описанием каждого" — потом вставь в шаблон.
🚀 Быстрый старт — вставь в чат:
Вот шаблон таксономического промпта для поиска сложных явлений в тексте.
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит что именно искать и в каком тексте — потому что без таксономии (списка категорий) шаблон не работает. Она либо предложит готовую таксономию для твоей области, либо попросит уточнить, что именно считать каждым типом.
Ограничения
⚠️ Ложные срабатывания: Детальная таксономия повышает охват, но снижает точность — модель начинает находить категории там, где их нет. Чем больше пунктов в таксономии, тем больше ложных позитивов. Добавление примеров частично компенсирует, но полностью не решает.
⚠️ Принятие ложных предпосылок: Когда текст содержит дезинформацию или манипулятивную логическую рамку, модель склонна принимать её как данность и рассуждать внутри неё, а не флагировать саму рамку. Особенно при сложных юридических или псевдонаучных построениях.
⚠️ Фокус на самом ярком сигнале: Если текст содержит несколько проблемных паттернов одновременно, модель концентрируется на самом очевидном и может пропустить остальные, даже при наличии таксономии.
⚠️ Таксономию нужно составлять: Метод требует предварительной работы — создание качественного списка подтипов. Плохо составленная таксономия даст плохой результат. Если поручать это LLM — проверяй, не пропустила ли она важные типы.
⚠️ Тонкие, закодированные формы остаются сложными: Даже с детальной таксономией модели системно хуже улавливают косвенные, эвфемистические, "завёрнутые" формы явления. Таксономия улучшает результат, но не решает проблему полностью.
Как исследовали
Исследователи взяли два набора реальных постов из соцсетей с разметкой антисемитизма от экспертов — суммарно несколько тысяч примеров — и прогнали через четыре топовые модели (Gemini, Claude, GPT, LLaMA) с четырьмя разными вариантами промптов. Первый — вообще без контекста (базовый промпт). Второй — с официальным определением IHRA (одно определение + 11 примеров). Третий — с таксономией из 46 конкретных категорий без примеров. Четвёртый — та же таксономия плюс примеры. Отдельно Gemini проверили на полной 550-страничной книге.
Результат оказался неожиданным в двух местах. Во-первых, компактный список из 46 категорий без описаний давал лучший или равный результат относительно подробного определения с примерами — несмотря на то что определение содержало гораздо больше текста. Во-вторых, 550-страничная книга не давала никакого преимущества перед компактным списком — хотя интуитивно кажется, что "больше знаний = лучше".
Это важно именно потому, что структура побеждает объём. Модели, видимо, лучше работают с явным перечислением "на что смотреть", чем с погружением в большой контекст. Нарратив без структуры теряется; структура без нарратива — работает.
Адаптации и экстраполяции
🔧 Двухшаговый запрос: сначала построй таксономию, потом применяй
Если у тебя нет готового списка категорий:
Шаг 1: "Ты — эксперт по {область}. Составь структурированную таксономию из 10-15 конкретных типов {явление}. Для каждого — одно предложение описания и один короткий пример"
Шаг 2: Вставь результат в основной шаблон выше.
Качество таксономии прямо определяет качество поиска. Если первый шаг дал размытые категории — уточни: "Сделай категории более конкретными, избегай пересечений"
🔧 Снижение ложных срабатываний → добавь примеры НЕ-явления
Исследование показало: примеры делают модель избирательнее. Добавь к таксономии:
"Вот что НЕ является {явлением}, даже если выглядит похоже: [3-5 граничных случаев]"
Особенно полезно, когда анализируешь тексты, где много цитирования, иронии или академического разбора проблемы.
🔧 Комбинация с Chain-of-Thought: попроси "думать вслух" по каждой категории
Добавь в промпт: "Прежде чем вынести заключение по каждой категории — кратко изложи рассуждение: есть ли в тексте что-то, что может относиться к этому типу, или нет"
Это снижает уверенные ошибки и выводит рассуждения на поверхность — ты видишь где модель ошибается.
Ресурсы
You Frame It: How Conceptual Representations Shape LLM Detection and Reasoning about Antisemitism
Авторы: Katharina Soemer (Goethe University, Frankfurt), Helena Mihaljević (HTW Berlin)
Датасеты: Bloomington dataset (Jikeli et al., 2021), Decoding Antisemitism dataset (Becker et al., 2024)
Модели в исследовании: Gemini-2.5-Flash, Claude 4.6 Sonnet, GPT-5.4, LLaMA-3.3-70b-instruct
