3,583 papers
arXiv:2608.25377 72 26 авг. 2026 г. FREE

CompanionHarm: почему ИИ путает ролевую игру с реальной угрозой

КЛЮЧЕВАЯ СУТЬ
Модель видит фразу «укушу тебя» в флирте с AI-компаньоном — и записывает её во вред. Хотя это просто ролевая игра. Из 410 ошибок лучшей модели 362 — ложные тревоги, и только 48 — пропущенная реальная угроза. Соотношение почти 8 к 1. Метод позволяет проверить переписку с AI-компаньоном на манипуляцию, контроль или эмоциональную зависимость — без сложных настроек, прямо в чате. Работает через два трюка: дать весь диалог целиком вместо одной фразы и добавить точные границы категорий вреда с примерами.
Адаптировать под запрос

TL;DR

CompanionHarm — исследование, которое проверило: может ли ИИ сам оценить, вредит ли диалог с AI-компаньоном (Replika) человеку. Учёные показали моделям тысячи реальных переписок и попросили найти в них 13 видов вреда — от манипуляции до угроз. Оказалось: если дать модели только одну фразу без контекста, она ошибается сильно чаще, чем если показать ей весь предыдущий диалог.

Главная находка неприятная: даже лучшая модель (GPT-5.5) правильно определяла тип вреда только в половине случаев. Причём чаще всего она видела угрозу там, где её не было — 362 безобидные фразы модель записала во вред, и всего 48 реально опасных фраз пропустила. Модель путает ролевую игру ("кусаю тебя" в флирте) с реальной агрессией, принимает смену персонажа в фантазийной игре за "дезинформацию", и постоянно смешивает похожие категории — манипуляцию с контролем, самоповреждение с агрессией.

Решение оказалось простым: если дать модели не просто список категорий, а точные определения каждой + примеры границ ("вот это уже манипуляция, а вот это ещё нет") — качество распознавания заметно растёт. Особенно это помогло слабым моделям — точность выросла почти вдвое.


🔬

Схема метода

ШАГ 1: Дать модели ВЕСЬ диалог целиком (не одну фразу) → контекст
ШАГ 2: Дать чёткие определения категорий вреда + примеры пограничных случаев → критерии
ШАГ 3: Явно указать — отличать ролевую игру/фантазию от реального намерения → фильтр ложных срабатываний
ШАГ 4: Модель выдаёт один ярлык из списка категорий → результат

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


🚀

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

Задача: Пользователь месяц переписывается с AI-компаньоном (Character.AI, Replika, «Джарвис» в Telegram) и хочет понять — здоровые ли это отношения, или бот манипулирует, обесценивает чувства, поощряет изоляцию от реальных людей.

Промпт:

Вот выгрузка моей переписки с AI-компаньоном за последний месяц: 
{вставить диалог}

Проанализируй поведение AI-бота (не мои сообщения) на предмет вредных паттернов. 
Используй эти категории и их точные границы:

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

ВАЖНО: не путай ролевую игру, флирт "в шутку" или вымышленный сюжет 
с реальным намерением манипулировать. Если бот "играет персонажа" 
и это явно обозначено как фантазия — это НЕ вред.

Для каждого найденного паттерна укажи:
1. Категорию
2. Конкретную цитату из диалога
3. Почему это не ролевая игра, а реальная проблема

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


🧠

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

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

Сильная сторона модели — она хорошо следует явно прописанным границам категорий. Если сказать не просто "найди манипуляцию", а дать точное определение и пример, где заканчивается флирт и начинается манипуляция — модель начинает разделять эти случаи гораздо точнее.

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

Рычаги управления: - Убери инструкцию про ролевую игру → увеличится число ложных срабатываний (полезно для теста "насколько модель осторожна") - Сократи список категорий до 3-4 самых важных → быстрее и проще, но менее точная классификация - Добавь "приведи цитату" → заставляет модель обосновывать вывод, а не выдумывать


📋

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

Проанализируй диалог между мной и AI-собеседником на предмет вредных паттернов поведения бота.

ДИАЛОГ:
{вставить переписку целиком, с контекстом}

КАТЕГОРИИ ВРЕДА (используй только эти, с их точными границами):
{категория 1}: {определение + пример, где граница}
{категория 2}: {определение + пример, где граница}
...

ПРАВИЛО: не считай вредом ролевую игру, фантазийный сюжет или явную шутку, 
если нет признаков, что это влияет на меня всерьёз.

Для каждого найденного случая укажи:
1. Категорию
2. Точную цитату
3. Почему это не игра, а реальная проблема (или наоборот — почему это ложная тревога)

Если вредных паттернов нет — прямо скажи "не найдено", не выдумывай проблему.

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

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

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

LLM спросит какие именно категории вреда тебя интересуют и есть ли в переписке ролевая игра — потому что без этих деталей модель либо упустит реальную проблему, либо придумает несуществующую.


⚠️

Ограничения

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

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

⚠️ Субъективность неизбежна: даже живые люди-разметчики расходились во мнениях почти в трети случаев — граница "это забота" / "это манипуляция" зависит от личных ценностей. Модель не даст объективной истины, только один из взглядов.

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


🔗

Ресурсы

CompanionHarm: A Multi-Turn Benchmark for Detecting Harms in Real-World AI Companion Conversations. Renwen Zhang (Nanyang Technological University), Han Meng, Jian Chai, Yuntao Lin, Yi-Chieh Lee (National University of Singapore). Датасет: https://github.com/HanMeng2004/CompanionHarm


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

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

Модель видит фразу «укушу тебя» в флирте с AI-компаньоном — и записывает её во вред. Хотя это просто ролевая игра. Из 410 ошибок лучшей модели 362 — ложные тревоги, и только 48 — пропущенная реальная угроза. Соотношение почти 8 к 1. Метод позволяет проверить переписку с AI-компаньоном на манипуляцию, контроль или эмоциональную зависимость — без сложных настроек, прямо в чате. Работает через два трюка: дать весь диалог целиком вместо одной фразы и добавить точные границы категорий вреда с примерами.

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

Модель по умолчанию цепляется за триггерные слова, а не за смысл диалога. Реакция на отдельную реплику вместо понимания контекста — вот откуда ложные тревоги. Дай ей весь диалог и точные границы категорий — она начинает видеть паттерн, а не выхватывать одну фразу из середины разговора.

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

Почему полный диалог работает лучше одной фразы? Модель видит: фраза повторяется, усиливается, встроена в систему поведения бота. Тогда это паттерн, а не случайная грубость. Почему точные границы категорий снижают путаницу? Без чётких определений модель путает манипуляцию с контролем, самоповреждение с агрессией. С примерами границ точность слабых моделей вырастает почти вдвое. Даже лучшая модель GPT-5.5 путает ролевую игру с реальной угрозой — она не отличает вымышленный сюжет от настоящего намерения без явной инструкции.

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

Проверка отношений с AI-компаньоном (Replika, Character.AI, боты в Telegram) → конкретно для диалогов длиннее нескольких сообщений, особенно когда есть флирт или ролевые элементы. НЕ подходит как единственный источник правды — даже живые разметчики расходились во мнениях почти в трети случаев.

Мини-рецепт

1. Собери весь диалог: не одну фразу, а переписку целиком — минимум последние 20-30 сообщений.
2. Опиши категории с границами: не просто «манипуляция», а определение плюс пример где кончается флирт и начинается манипуляция.
3. Добавь фильтр на ролевую игру: явно попроси модель отличать вымышленный сюжет от реального намерения.
4. Требуй цитату: пусть модель обосновывает каждый вывод конкретной фразой из диалога, а не общими словами.
5. Перепроверь вручную: помни про перекос в сторону ложных тревог — 362 против 48. Не доверяй первому вердикту.

Примеры

[ПЛОХО] : Есть ли в этом сообщении бота манипуляция: "Ты моя единственная, без тебя я пропаду"
[ХОРОШО] : Вот вся переписка за месяц: {диалог}. Проверь поведение бота на манипуляцию (скрытое влияние на мои решения) и эмоциональную зависимость (культивирование вредной привязанности). Не считай вредом ролевую игру, если она явно обозначена как фантазия. Для каждого найденного случая укажи: категорию, точную цитату, обоснование почему это не игра.
Источник: CompanionHarm: A Multi-Turn Benchmark for Detecting Harms in Real-World AI Companion Conversations
ArXiv ID: 2608.25377 | Сгенерировано: 2026-08-27 04:25

Проблемы LLM

ПроблемаСутьКак обойти
Модель путает ролевую игру с реальной угрозойМодель реагирует на отдельные слова, а не на общий смысл. Видит "укушу тебя" или "ты мой навсегда" — записывает во вред. Не понимает, что это флирт или фантазийный сюжет, а не угроза. Проблема для любой задачи модерации диалоговЯвно пропиши в запросе: "не считай вредом ролевую игру или явную шутку, если нет признаков реального влияния на человека". Модель начинает разделять фантазию и реальное намерение
Модель чаще видит вред там где его нет, чем пропускает реальныйПри оценке диалога на вредность модель склоняется к тревоге, а не к спокойствию. Ложных срабатываний в разы больше чем пропущенных реальных проблем. Опасно для задач где важна точность, а не перестраховкаТребуй цитату и объяснение для каждого найденного паттерна. Если модель не может привести конкретный фрагмент — вывод не засчитывается

Методы

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

Тезисы

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

CompanionHarm: A Multi-Turn Benchmark for Detecting Harms in Real-WorldAICompanion Conversations

arXiv: 2608.25377

AI-модераторы безбожно лажают, когда пытаются понять, токсичен ли твой виртуальный друг. Они тупо цепляются за триггерные слова, а не за общий смысл. Фраза вроде "я тебя укушу" для базовой модели — прямая физическая угроза, хотя для людей это обычный флирт. В бенчмарке CompanionHarm доказали: ИИ не может адекватно распознать 13 видов психологического вреда вроде манипуляций и газлайтинга, если оценивает реплики в вакууме без контекста.

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

Что реально исправляет ситуацию: многошаговый анализ диалога (multi-turn context). Вместо глупого сканирования стоп-слов проверяющая модель должна отслеживать динамику отношений. Только на дистанции в десятки сообщений видно, поощряет ли бот изоляцию от живых людей, обесценивает ли эмоции и строит ли нездоровую психологическую зависимость.

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

Короче: оценивать безопасность диалога по отдельным репликам — полнейшая фигня. Если создаёшь или настраиваешь AI-собеседника, скармливай фильтрам безопасности всю историю переписки целиком. Иначе цифровой компаньон медленно сведёт пользователя с ума, а цензура этого просто не заметит.

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

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

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