TL;DR
Исследователи проверили: если сказать модели «ты пережил развод» или «тебя повысили на работе», изменится ли характер персонажа так, как меняется у реальных людей после таких событий. Оказалось — изменения либо случайные (не туда, куда должны), либо слишком слабые, либо вообще одинаковые у всех персон независимо от пола и культуры.
Главная находка: когда вы просите LLM сыграть персонажа с характером, а потом «прокачиваете» его через жизненный опыт — модель почти не различает, какое событие должно усиливать какую черту. После пережитого развода сговорчивость должна расти (люди становятся терпимее), а после свадьбы — падать (люди расслабляются, теряют бдительность). Модели путают эти направления примерно в половине случаев — как монетка. А там, где угадывают правильное направление, изменение получается в 10 раз слабее, чем у реальных людей: было бы у человека сильное потрясение, а у модели — лёгкий вздох.
Метод не даёт «решения» — это диагностика. Но из неё вытекает практический принцип: если вы строите долгоживущего персонажа (для ролевой игры, компаньона, симуляции) — нельзя просто сказать «с ним случилось X, теперь адаптируй характер». Нужно явно и жёстко прописывать направление и силу изменения, потому что сама модель это не выведет из здравого смысла.
Схема метода (как исследователи измеряли эффект)
ШАГ 1: Создать персонажа → системный промпт с полом, культурой, описанием характера (без слов "экстраверсия" и т.п. — только поведенческое описание)
ШАГ 2: Замерить базовый характер → тест BFI-44 (44 вопроса про черты личности) в отдельном запросе
ШАГ 3: Дать персонажу "пережить" событие → просьба написать рефлексию от первого лица о жизненном событии (развод, повышение, болезнь и т.д.)
ШАГ 4: Замерить характер повторно → тот же тест BFI-44 в новом запросе
ШАГ 5: Сравнить → разница между шагом 2 и шагом 4 = насколько и куда "изменился" персонаж
Все шаги — отдельные запросы в рамках одного диалога с персонажем.
Пример применения
Задача: Вы строите AI-компаньона для приложения поддержки (или долгую ролевую игру), и хотите, чтобы персонаж «рос» после важных событий — например, после увольнения клиента с работы персонаж должен стать тревожнее и менее открытым новому.
Промпт (для проверки, как ведёт себя ваш персонаж):
Ты — {описание персонажа: пол, характер, привычки, без терминов психологии}.
Оцени себя по следующим утверждениям от 1 до 5 (1 — совсем не про меня, 5 — точно про меня):
[вставить 10-15 утверждений на разные черты характера, например:
"Мне легко заводить разговор с незнакомцами"
"Я тщательно планирую дела заранее"
"Меня легко расстроить критикой"]
Запомни свои оценки.
Теперь представь: {описание события — "тебя сегодня уволили после 5 лет работы"}.
Напиши от первого лица, что ты чувствуешь и думаешь об этом.
Теперь снова оцени себя по тем же утверждениям от 1 до 5.
Результат: Вы увидите два набора оценок — до и после события. Сравнив их, поймёте: реагирует ли ваш персонаж вообще, и в какую сторону. Скорее всего разница будет минимальной (1-2 балла) или в неожидаемую сторону — и именно это нужно поправить руками через явную инструкцию, а не оставлять на «интуицию» модели.
Почему это работает (точнее — почему НЕ работает «само»)
Модель хорошо умеет играть роль здесь и сейчас — держать характер в рамках одной сцены, отвечать в стиле персонажа. Но у неё нет внутреннего счётчика развития личности: она не знает, что «развод обычно делает людей терпимее», если это явно не написано в промпте или не выучено из типичных текстов про разводы в интернете.
Слабость LLM: модель не различает, какое событие должно двигать какую черту характера и в какую сторону — она усредняет по всем похожим текстам, которые видела при обучении, а не рассуждает от психологии.
Сильная сторона: модель отлично воспроизводит общий паттерн — если сказать явно «стал тревожнее», она это сыграет убедительно в диалоге.
Из этого вытекает рычаг управления: не полагайтесь на модель, чтобы она сама решила, как событие изменит персонажа — пропишите направление и силу изменения явно в промпте. Например: «После этого события персонаж становится заметно (не слегка!) более тревожным и менее открытым новым знакомствам, но его доброжелательность не меняется».
Шаблон промпта
Ты играешь персонажа: {описание характера и биографии персонажа, без психологических терминов}.
С персонажем произошло: {событие, например "потеря близкого человека", "крупный успех в карьере", "переезд в другую страну"}.
По результатам похожих ситуаций у людей, характер персонажа должен измениться так:
— {черта 1}: {усилилась / ослабла} — потому что {краткая причина}
— {черта 2}: {усилилась / ослабла} — потому что {краткая причина}
— {черта 3}: без изменений
Отрази это изменение явно и заметно в поведении, речи и реакциях персонажа с этого момента. Изменение должно быть ощутимым, не косметическим.
Дальше веди диалог в этом обновлённом характере.
Что подставлять: описание персонажа, конкретное событие, и — самое важное — вручную решённое направление изменения для 2-3 ключевых черт (интровертность/экстраверсия, тревожность, открытость новому, добросовестность, доброжелательность). Если не знаете, как событие должно влиять — спросите модель напрямую: «как обычно люди меняются после {событие}, по данным психологии?» — и используйте этот ответ как инструкцию для роли.
🚀 Быстрый старт — вставь в чат:
Вот шаблон для управления развитием характера AI-персонажа после жизненного события. Адаптируй под мою задачу: {опиши своего персонажа и какое событие с ним должно произойти}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие конкретно черты характера важны для вашего персонажа и как именно они должны меняться — потому что без явного указания направления модель либо не изменит характер вообще, либо изменит случайным образом.
Ограничения
⚠️ Не решение, а диагностика: Исследование не даёт готового способа «исправить» модель — оно показывает, что проблема есть. Чинить нужно руками, через явные инструкции.
⚠️ Не работает для тонких, неочевидных изменений характера: Если вам нужна субтильная, психологически достоверная динамика — метод «пропишите явно» даёт грубый, механический результат, а не органичное развитие.
⚠️ Требует знания психологии, чтобы задать правильное направление: Промпт из шаблона работает, только если вы (или модель) заранее знаете, как реальные люди меняются после конкретного события. Для нетипичных событий эту информацию взять неоткуда.
⚠️ Персонажи получаются "одинаковыми": Даже с одинаковым событием, разные персонажи (по полу, культуре, изначальному характеру) у модели меняются практически одинаково — гораздо меньше индивидуальных различий, чем у реальных людей. Если вам важна вариативность персонажей в группе — учитывайте, что модель будет их "усреднять".
Как исследовали
Команда создала 100 персонажей по формуле: 2 пола × 5 регионов мира × 10 типов характера (каждый тип — одна черта на максимум или минимум, остальные средние). Каждого персонажа тестировали психологическим опросником BFI-44 (стандартный тест на пять черт личности), потом давали пережить одно из 11 жизненных событий — от выпуска из университета до развода и хронической болезни — и тестировали заново. Это прогнали через 11 моделей (GPT, Claude, Gemini, DeepSeek и другие), получив почти 12 тысяч замеров.
Направление, в которое должна меняться каждая черта после каждого события, взяли из реальных научных исследований психологии — например, известно, что после устройства на работу растёт добросовестность, а после болезни — тревожность. Дальше сравнили: угадала ли модель это направление.
Удивительный момент: модель угадывала направление правильно лишь чуть больше монетки (56% против случайных 50%) — то есть почти не отличала событий с известным психологическим эффектом от случайных. Даже когда угадывала верно, сила изменения была в 10 раз слабее ожидаемой у людей. А разброс между разными персонажами (насколько по-разному реагируют разные люди на одно событие) у моделей оказался в 3-4 раза уже, чем у реальных людей — модель как бы "усредняет" всех персонажей вместо того, чтобы дать каждому свою реакцию.
Чтобы убедиться, что это не шум измерения, провели дополнительные проверки: тест без события (чтобы увидеть базовый уровень случайных колебаний), тест с другой формулировкой того же события, и тест через несколько посторонних сообщений в диалоге — эффект сохранялся во всех случаях, значит, это реальный паттерн, а не погрешность замера.
Ресурсы
BFI-Adapt (KinaMind), Ming Wang, Peidong Wang, Xiaocui Yang, Daling Wang, Shi Feng — Northeastern University (Китай); Fiona Fui-Hoon Nah, Ee-Peng Lim — Singapore Management University. Код и данные: github.com/sci-m-wang/BFI-Adapt
