Постоянно сталкиваюсь со статьями, инструкциями, репозиториями промптов, где бесконечно предлагают задавать роль LLM. Наверняка, даже курсы по промпт‑инженерии на этом построили. Однако четкого понимания, как это повлияет на качество ответов и поведение модели, никогда не приводится. Главный тезис: «делай так и будет хорошо!». Хочется ответить: «какие Ваши доказательства!?»
Полагаю, есть два базовых основания для внедрения роли в LLM через промпт:
создание «личности» доменного специалиста, для доступа к профильным знаниям заданной роли;
задание паттерна поведения модели через указание «характера» модели, а не явных требований и ограничений на действия.
Если мы зададим «характер» llm через роль, а она не стала умнее или не ведет себя нужным образом — понятно же, что модель «не поняла» роль, а инструкции сформулированы не качественно. Нужно больше инструкций, примеров и конкретики.
Но, в большинстве случаев, это не помогает. И с вашим промптом все в порядке, просто проблема глубже, чем кажется.
Когда мы встраиваем LLM в приложение, чаще всего мы хотим получить кастомную модель за бесплатно, без дообучения, чтобы было «дешево и сердито».
На практике этого пытаются добиться тремя основными способами:
задать явные требования и ограничения для модели;
задать ролевую модель (персону) для LLM;
использовать гибридный подход — роль плюс ограниченное число требований.
Первый подход является трудоёмким. Необходимо не только продумать саму систему правил и ограничений, но и учитывать, что большое количество инструкций часто приводит к смысловым пересечениям и искажениям. Обычно разработчики не тестируют свои инструкции и не понимают, как их интерпретирует та или иная модель.
В результате модель начинает отрабатывать инструкции непоследовательно, что воспринимается как ошибки. Чтобы это компенсировать, промпт дополняется примерами, что со временем приводит к его разрастанию. Далее возникают проблемы другого порядка: переобъяснение (когда модель устойчива только на запросах, близких к few‑shot примерам), lost‑in‑the‑middle, сложности семантического связывания требований и контекста.
Альтернативный путь — задать явную ролевую модель для LLM.
Нужен ассистент‑программист — задаётся роль «синьор‑программист уровня FAANG».
Нужен доменный эксперт — роль «эксперт в области X».
Такой подход позволяет существенно сократить системный промпт, перенеся часть явных инструкций в неявную «сущность» роли. Однако здесь возникает другая проблема: понимание роли конкретной моделью, как правило, никак не диагностируется. Связь «роль → паттерн поведения» внутри 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 оптимизируется на продолжение текста в соответствии с вероятностным распределением токенов и выравнивается через RLHF под цели полезности, безопасности и социально приемлемого поведения. Эта «базовая личность» представляет собой чрезвычайно плотный статистический кластер.
Когда мы задаём роль — например, «циничный критик» или «агрессивный трейдер» — мы пытаемся сместить модель на периферию этого распределения. Каждое следующее сообщение в диалоге — это статистический риск вернуться обратно в центр: к вежливому, осторожному и социально конформному ассистенту.
Дело в том, что никакой общей функции потерь, связывающей самопрезентацию и поведение, не существует.
Также отсутствует механизм удержания роли как внутреннего состояния, которое устойчиво смещало бы распределение вероятностей в сторону заданного характера. Роль, заданная в промпте, влияет на ближайшие ответы, но не формирует устойчивую политику поведения.
В длинных диалогах этот эффект усиливается. Описание роли обычно находится в начале контекста и конкурирует с историей диалога, инструкциями, содержимым задачи и ограничениями безопасности. Вклад роли в итоговое распределение логитов постепенно размывается и затухает.
Эти выводы подтверждаются в работе «The Personality Illusion: Revealing Dissociation Between Self‑Reports & Behavior in LLMs». Авторы показывают, что психологическая устойчивость роли в LLM — это иллюзия. Связь между заданной ролью, самопрезентацией модели и реальным поведением либо отсутствует, либо статистически незначима. Локально модель пытается следовать характеру, но её поведение невозможно предсказать так же устойчиво, как поведение человека.
Даже у очень больших моделей (200+ млрд параметров) эта связь проявляется слабо: она нестабильна, не переносится между задачами и легко разрушается длинным контекстом.
Вывод: роль — это стиль генерации и форма самопрезентации, а не механизм принятия решений и не устойчивая поведенческая политика.
Не ожидать появления новых «экспертных» знаний от модели, если мы сказали ей — ты эксперт. Распределение токенов мы сместим в область исключительно лингвистической самопрезентации модели, но новых знаний там нет.
Если роль деградирует в длинном контексте — это аргумент в пользу периодического переподтверждения системного промпта или укорачивания истории диалога.
Если в вашем случае роль не влияет устойчиво на принятие решений, а очень хочется — то стоит полагаться на явные инструкции.
Связка «роль — поведение» — непредсказуема и проявляет себя по‑разному в разных задачах и контекстах. Если поведение важно, а явные инструкции сформулировать сложно, не стоит просто полагаться на промпт. Тестируйте заданную «личность» в критических для вас сценариях и на пограничных кейсах.
Если тема кажется вам интересной, я продолжаю разбирать подобные вещи у себя в Telegram короткими постами, экспериментами и примерами из практики: «надо разобраться | заставляем LLM работать».
Источник


