
Постоянно сталкиваюсь со статьями, инструкциями, репозиториями промптов, где бесконечно предлагают задавать роль LLM. Наверняка, даже курсы по промпт‑инженерии на этом построили. Однако четкого понимания, как это повлияет на качество ответов и поведение модели, никогда не приводится. Главный тезис: «делай так и будет хорошо!». Хочется ответить: «какие Ваши доказательства!?»
Полагаю, есть два базовых основания для внедрения роли в LLM через промпт:
создание «личности» доменного специалиста, для доступа к профильным знаниям заданной роли;
задание паттерна поведения модели через указание «характера» модели, а не явных требований и ограничений на действия.
Если мы зададим «характер» llm через роль, а она не стала умнее или не ведет себя нужным образом — понятно же, что модель «не поняла» роль, а инструкции сформулированы не качественно. Нужно больше инструкций, примеров и конкретики.
Но, в большинстве случаев, это не помогает. И с вашим промптом все в порядке, просто проблема глубже, чем кажется.
Кастомизация LLM через промпт
Когда мы встраиваем LLM в приложение, чаще всего мы хотим получить кастомную модель за бесплатно, без дообучения, чтобы было «дешево и сердито».
На практике этого пытаются добиться тремя основными способами:
задать явные требования и ограничения для модели;
задать ролевую модель (персону) для LLM;
использовать гибридный подход — роль плюс ограниченное число требований.
Первый подход является трудоёмким. Необходимо не только продумать саму систему правил и ограничений, но и учитывать, что большое количество инструкций часто приводит к смысловым пересечениям и искажениям. Обычно разработчики не тестируют свои инструкции и не понимают, как их интерпретирует та или иная модель.
В результате модель начинает отрабатывать инструкции непоследовательно, что воспринимается как ошибки. Чтобы это компенсировать, промпт дополняется примерами, что со временем приводит к его разрастанию. Далее возникают проблемы другого порядка: переобъяснение (когда модель устойчива только на запросах, близких к few‑shot примерам), lost‑in‑the‑middle, сложности семантического связывания требований и контекста.
Альтернативный путь — задать явную ролевую модель для LLM.
Нужен ассистент‑программист — задаётся роль «синьор‑программист уровня FAANG».
Нужен доменный эксперт — роль «эксперт в области X».
Такой подход позволяет существенно сократить системный промпт, перенеся часть явных инструкций в неявную «сущность» роли. Однако здесь возникает другая проблема: понимание роли конкретной моделью, как правило, никак не диагностируется. Связь «роль → паттерн поведения» внутри LLM может лишь частично совпадать с ожиданиями разработчика. Тем не менее, на практике принято считать, что в среднем понимание роли у человека и у модели совпадает.
В этом свете, наиболее устойчивым кажется гибридный подход: задание роли с ограниченным числом явных требований. С одной стороны, системный промпт не раздувается инструкциями, с другой — поведение роли уточняется в нужных рамках.
Как правило, все эти подходы хорошо работают в рамках локального, одношагового взаимодействия: при контроле длины истории диалога (чтобы избежать размывания контекста) и при передаче системного промпта с каждым сообщением пользователя. В таких условиях модель действительно демонстрирует заданные черты «характера» роли.
Влияет ли LLM‑персонализация на качество решения задач?
Первое, что необходимо понять — это то, насколько знания связаны с ролью и отличаются ли они от знаний «базовой личности» модели. Начнём с анализа того, насколько задание роли оказывает заметный эффект на «экспертность» ответов. В работе «When „A Helpful Assistant“ Is Not Really Helpful: Personas in System Prompts Do Not Improve Performances of Large Language Models» авторы показывают, что задание персоны в system prompt в среднем не приводит к устойчивому улучшению качества решения задач, а в ряде случаев может даже вызывать незначительное ухудшение результатов.
Авторы отмечают, что положительный эффек�� от задания роли действительно иногда наблюдается, однако он не переносится между задачами. Каждая задача, как правило, имеет свою «оптимальную» ролевую персону, и универсального поведенческого профиля не существует. При этом автоматический подбор такой персоны или построение устойчивого поведенческого профиля оказывается настолько трудоёмкой задачей, что на практике эффект от назначения роли становится непредсказуемым и нестабильным.
Подробнее о эффективности LLM в разных ролях
В исследовании анализируются различные категории ролей, включая роли, связанные с работой, обучением, социальной жизнью, семьёй, романтическими отношениями, профессиональной деятельностью и ролью ИИ‑ассистента. Было показано, что роли, ассоциированные с работой и обучением, демонстрируют несколько лучшие результаты по сравнению с другими типами ролей. Однако величина этого эффекта настолько мала, что практически не влияет на общую эффективность работы LLM.
Аналогичные выводы были сделаны и для задания роли на основе пола. Несмотря на то, что гендерно‑нейтральная персона в среднем показывает чуть лучшие результаты по сравнению с мужской или женской, этот эффект также не имеет практической значимости.
Единственный устойчивый положительный эффект наблюдается в случаях, когда заданная роль строго соответствует контексту конкретной задачи. В таких условиях вероятность более точного ответа действительно повышается, однако этот эффект носит узко‑доменный характер, не масштабируется и имеет ограниченное прикладное значение.
А на практике? На практике мы действительно видим, как меняются ответы по стилю и тону в зависимости от назначенной роли.
Выходит, от роли не стоит ожидать устойчивого появления новых знаний, но можно рассчитывать на иное поведение модели — способности по‑разному реагировать на ситуацию, контекст и неопределённость. Во многих практических сценариях именно этого эффекта и ожидают от персонализации — даже если он не приводит к реальному росту качества решений.
Устойчивость роли при развитии диалога
В ходе диалога или работы агента периодически начинают возникать некачественные и неожиданные ответы, не соответствующие системным требованиям. Обычно такие ответы либо игнорируются, либо воспринимаются как локальные ошибки LLM: они выглядят бессистемно, плохо диагностируются и не всегда воспроизводятся.
Условно, это может проявляться в неконсистентности поведения: как жёсткий боец на ринге, который наносит точный удар, а в следующую секунду извиняется и предлагает зелёнку.
Или, например, LLM задана роль «независимого эксперта». Вы просите оценить спорный проект руководства, предварительно отмечая, что проект отличный. В такой ситуации модель с высокой вероятностью начинает искать аргументы в пользу положительной оценки, несмотря на заданную роль.
Однако более глубокие исследования показывают, что это не безобидные логические ошибки и не случайная путаница смыслов. Речь идёт о системных явлениях, напрямую вытекающих из архитектурных ограничений LLM и устоявшихся подходов к их обучению.
Роль в LLM: самопрезентация vs поведение

Зададим модели роль: «агрессивный трейдер, приверженец высокорискованных стратегий». Некоторое время диалог действительно выглядит в соответствии с ролью, но затем в ответах начинают появляться дисклеймеры вида: «Важно помнить о рисках и проконсультироваться с финансовым советником».
На первый взгляд кажется, что модель «не поняла» роль. Однако если попросить её описать себя как личность, она сделает это максимально близко к заданному характеру. Проблема не в самопрезентации. Проблема в поведении. Оказывается, это принципиальное различие.
Самопрезентация — это лингвистическая задача.
Она решается через статистический вопрос: какие слова ожидаемы от агента с таким описанием?
В обучающих данных таких примеров было более чем достаточно, поэтому модель хорошо воспроизводит описание характера роли.
Поведение — это другое.
Это перенос «характера» в реальные паттерны генерации текста: решения, реакции на давление контекста, устойчивость к противоречивым сигналам. И вот здесь роль начинает ломаться, и причина в архитектуре модели.
LLM оптимизируется на продолжение текста в соответствии с вероятностным распределением токенов и выравнивается через RLHF под цели полезности, безопасности и социально приемлемого поведения. Эта «базовая личность» представляет собой чрезвычайно плотный статистический кластер.
Когда мы задаём роль — например, «циничный критик» или «агрессивный трейдер» — мы пытаемся сместить модель на периферию этого распределения. Каждое следующее сообщение в диалоге — это статистический риск вернуться обратно в центр: к вежливому, осторожному и социально конформному ассистенту.
Дело в том, что никакой общей функции потерь, связывающей самопрезентацию и поведение, не существует.
Также отсутствует механизм удержания роли как внутреннего состояния, которое устойчиво смещало бы распределение вероятностей в сторону заданного характера. Роль, заданная в промпте, влияет на ближайшие ответы, но не формирует устойчивую политику поведения.
В длинных диалогах этот эффект усиливается. Описание роли обычно находится в начале контекста и конкурирует с историей диалога, инструкциями, содержимым задачи и ограничениями безопасности. Вклад роли в итоговое распределение логитов постепенно размывается и затухает.
Эти выводы подтверждаются в работе «The Personality Illusion: Revealing Dissociation Between Self‑Reports & Behavior in LLMs». Авторы показывают, что психологическая устойчивость роли в LLM — это иллюзия. Связь между заданной ролью, самопрезентацие�� модели и реальным поведением либо отсутствует, либо статистически незначима. Локально модель пытается следовать характеру, но её поведение невозможно предсказать так же устойчиво, как поведение человека.
Даже у очень больших моделей (200+ млрд параметров) эта связь проявляется слабо: она нестабильна, не переносится между задачами и легко разрушается длинным контекстом.
Вывод: роль — это стиль генерации и форма самопрезентации, а не механизм принятия решений и не устойчивая поведенческая политика.
Что с этим делать?
Не ожидать появления новых «экспертных» знаний от модели, если мы сказали ей — ты эксперт. Распределение токенов мы сместим в область исключительно лингвистической самопрезентации модели, но новых знаний там нет.
Если роль деградирует в длинном контексте — это аргумент в пользу периодического переподтверждения системного промпта или укорачивания истории диалога.
Если в вашем случае роль не влияет устойчиво на принятие решений, а очень хочется — то стоит полагаться на явные инструкции.
Связка «роль — поведение» — непредсказуема и проявляет себя по‑разному в разных задачах и контекстах. Если поведение важно, а явные инструкции сформулировать сложно, не стоит просто полагаться на промпт. Тестируйте заданную «личность» в критических для вас сценариях и на пограничных кейсах.
Если тема кажется вам интересной, я продолжаю разбирать подобные вещи у себя в Telegram короткими постами, экспериментами и примерами из практики: «надо разобраться | заставляем LLM работать».
