COMRAD404 / HOWTO

Как создать промпт для ролевой игры (role prompting)

Разберём, как создать role prompt по официальным рекомендациям Google, OpenAI и Anthropic: где размещать роль, как задать ограничения, контекст, формат ответа и как проверять результат.

Понадобится

25–40 минут
  • Доступ к любому LLM-чату или API
  • 3–5 типовых задач для проверки результата
  • Понимание целевого результата и аудитории ответа
  • Если доступно через API — возможность повторно запускать одинаковые проверки на одной и той же модели

После выполнения этой инструкции у вас будет рабочий шаблон role prompt: с явной ролью, ограничениями, контекстом, форматом ответа и способом проверки результата.

Короткая формула role prompting: роль → задача → ограничения → контекст → формат ответа → пример → тест. Если платформа поддерживает system или developer instructions, поместите роль и ключевые ограничения туда; если у вас только одно поле ввода, поставьте этот блок в самое начало пользовательского промпта.

  • ⏱️ Время: 25–40 минут
  • 🎯 Сложность: средний
  • 💰 Стоимость: зависит от выбранного сервиса; в процитированных источниках цены не указаны, проверьте их на официальной странице продукта
  • 🛠️ Что потребуется: доступ к любому LLM-чату или API, 3–5 типовых задач для проверки, понимание желаемого результата
  • 📌 Актуальность: официальные рекомендации Gemini API, OpenAI API и Anthropic по состоянию на 2026-08-15; единой «версии role prompting» не существует, а поведение зависит от модели и её snapshot

В этой инструкции под role prompting имеется в виду явное назначение роли модели. Если вам нужно освежить базовые понятия, сначала посмотрите, что такое промпт и чем занимается промпт-инжиниринг.

Пошаговая инструкция

  1. Выберите модель и место, где будет жить инструкция.

    Сначала определите, где вы запускаете запрос: в обычном чате, в AI Studio, через API или в другой среде. По рекомендациям Google важные поведенческие ограничения, описание роли и требования к формату ответа лучше помещать в System Instruction или в самое начало пользовательского промпта. По документации OpenAI инструкции с ролью developer или system имеют приоритет над инструкциями user.

    Ожидаемый результат: вы понимаете, есть ли у вас отдельный слой system/developer instructions, или нужно писать весь role prompt в одном пользовательском сообщении.

  2. Сформулируйте одну явную роль без лишнего сюжета.

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

    Вы — редактор B2B-лендингов для SaaS-продуктов.

    Если роль зависит от аудитории, добавьте её сюда же:

    Вы — редактор B2B-лендингов для SaaS-продуктов. Пишите для руководителя маркетинга.

    Ожидаемый результат: у вас есть одна недвусмысленная строка роли, которую можно поставить в system/developer instructions или в начало промпта.

  3. Добавьте ограничения поведения и границы ответа.

    Следом задайте правила, которые модель должна соблюдать всегда. Официальные рекомендации Google и Anthropic сходятся в том, что поведение контролируется лучше, когда ограничения сформулированы явно и отдельно от задачи.

    Ограничения:
    - Не придумывайте факты.
    - Опирайтесь только на переданные данные.
    - Если информации не хватает, прямо напишите, чего не хватает.
    - Не меняйте тон на разговорный.

    Именно этот блок защищает от расползания роли в общие, неопределённые ответы.

    Ожидаемый результат: у вас есть список постоянных правил, по которым можно будет проверять ответ на нарушения.

  4. Передайте контекст задачи отдельно от роли.

    Теперь добавьте рабочий контекст: кто читатель, в какой ситуации нужен ответ, какие входные данные вы даёте, какие критерии успеха важны. Google и Anthropic рекомендуют сочетать роль с контекстом и примерами, а не полагаться только на персонажу.

    Контекст:
    - Читатель: руководитель продукта.
    - Цель: быстро понять риски оттока.
    - Входные данные: текст интервью с пользователем.
    - Критерий успеха: краткость и проверяемость выводов.

    Ожидаемый результат: промпт описывает не только «кто вы», но и «для чего нужен ответ».

  5. Зафиксируйте формат ответа через отдельный блок.

    Google прямо рекомендует делать требования к выходному формату явными и структурировать промпт тегами или заголовками. Anthropic тоже рекомендует XML-форматирование, когда нужно лучше контролировать поведение.

    Формат ответа:
    1. Краткое резюме
    2. 3 ключевых вывода
    3. Риски и ограничения
    4. Что проверить дальше

    Если модель должна отвечать в строгой структуре, используйте XML-подобные теги или Markdown-заголовки.

    Ожидаемый результат: ответ должен приходить в заранее заданной форме, а не в свободном стиле.

  6. Добавьте один короткий пример правильного поведения.

    Официальные рекомендации Anthropic советуют давать примеры там, где одного описания недостаточно. Пример не обязан быть большим: достаточно показать один желаемый паттерн ответа или одну важную оговорку.

    Пример:
    Если в данных нет доказательств причины оттока, напишите: «Недостаточно данных для вывода о причине оттока».

    Так вы задаёте не только роль, но и эталон реакции на пограничный случай.

    Ожидаемый результат: у промпта появляется образец поведения, который особенно полезен для неоднозначных входных данных.

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

    Google рекомендует относиться к prompt engineering как к итеративному процессу: начать со структуры, затем экспериментировать и дорабатывать по наблюдаемым ответам. OpenAI рекомендует для устойчивости использовать pinned model versions и проверки через evals, потому что поведение зависит от модели и её snapshot.

    Сначала соберите базовый шаблон:

    <role>
    Вы — аналитик пользовательских интервью.
    </role>
    
    <constraints>
    - Не придумывайте факты.
    - Опирайтесь только на переданные данные.
    - Если данных не хватает, напишите об этом явно.
    </constraints>
    
    <context>
    - Читатель: руководитель продукта.
    - Цель: понять риски оттока.
    - Нужна длина: до 200 слов.
    </context>
    
    <output_format>
    1. Краткое резюме
    2. 3 сигнала риска
    3. Что проверить дальше
    </output_format>
    
    <example>
    Если доказательств недостаточно, напишите: «Недостаточно данных для вывода о причинах оттока».
    </example>
    
    <task>
    Проанализируйте следующий текст: {{вставьте данные}}
    </task>

    Затем прогоните через этот шаблон 3–5 однотипных задач. Меняйте только один блок за раз: роль, ограничения, контекст, формат или пример. Сравнивайте ответы и повторяющиеся ошибки.

    Ожидаемый результат: у вас есть не просто красивый prompt, а проверенный шаблон с понятными сильными и слабыми сторонами.

Готовый каркас role prompt

Если вам нужен быстрый старт, используйте этот универсальный каркас. Он соответствует общему паттерну из официальных рекомендаций: явная роль, ясные инструкции, контекст, примеры и структурированный формат.

<role>
Вы — [роль].
</role>

<goal>
Ваша задача: [конкретный результат].
</goal>

<constraints>
- [что нельзя делать]
- [на что можно опираться]
- [как действовать при нехватке данных]
</constraints>

<context>
- Аудитория: [кто читает ответ]
- Ситуация: [где используется ответ]
- Входные данные: [что вы передаёте модели]
</context>

<output_format>
[точная структура ответа]
</output_format>

<example>
[1 короткий пример желаемого поведения]
</example>

<task>
[текущая задача]
</task>

Если платформа не поддерживает XML-подобные теги, замените их на простые Markdown-заголовки. Важна не «магия тега», а ясное разделение блоков.

Как проверить, что всё работает

Проверяйте role prompt не на одной удачной реплике, а на повторяемом наборе задач. Официальный рабочий подход из текущих рекомендаций: запускать одни и те же репрезентативные задания несколько раз, менять по одному блоку инструкции и сравнивать результаты и паттерны ошибок.

Что проверить Как проверить Признак, что всё работает
Стабильность роли Запустите 3–5 похожих задач с одним и тем же role prompt Модель не «выпадает» из заданной роли и не меняет тон без причины
Соблюдение ограничений Дайте задачу с неполными данными Модель не выдумывает факты и явно сообщает о нехватке данных
Соблюдение формата Проверьте несколько ответов на одном шаблоне Выход сохраняет заданную структуру
Влияние правок Измените только один блок: роль, ограничения или пример Вы понимаете, какой именно блок улучшил или ухудшил ответ
Устойчивость после обновлений Если платформа позволяет, фиксируйте pinned model versions и повторяйте проверки Разница между запусками контролируема, а неожиданные отклонения заметны сразу

Для ручной проверки Google рекомендует пробовать промпты в AI Studio и итерировать результат. Для более формализованной проверки OpenAI документирует Evals как способ создавать и запускать оценки поведения модели. Практически это означает одно: храните маленький набор эталонных задач и гоняйте его после каждой заметной правки промпта или смены модели.

Частые ошибки и исправления

  • ❌ Ошибка: роль написана размыто: «Будь экспертом и помоги мне».
    ✅ Решение: задайте явную роль и рабочий контекст: кто модель, для кого отвечает и в каком качестве действует.
  • ❌ Ошибка: роль есть, но нет ограничений, поэтому модель начинает домысливать.
    ✅ Решение: добавьте отдельный блок ограничений: на что опираться, что не придумывать и что писать при нехватке данных.
  • ❌ Ошибка: задача понятна, но формат ответа плавает от запуска к запуску.
    ✅ Решение: вынесите формат ответа в отдельный блок и структурируйте промпт тегами или заголовками.
  • ❌ Ошибка: вы меняете сразу несколько частей промпта и не понимаете, что сработало.
    ✅ Решение: меняйте один блок за раз и сравнивайте ответы на тех же репрезентативных задачах.
  • ❌ Ошибка: prompt «сломался» после смены модели или snapshot.
    ✅ Решение: учитывайте, что поведение зависит от модели; если возможно, фиксируйте pinned model versions и повторно запускайте проверки.

Безопасность и ограничения

  • Role prompting не является универсальной гарантией одинакового поведения: официальные источники прямо указывают, что результаты зависят от конкретной модели и её snapshot.
  • Если ваша платформа поддерживает system или developer instructions, учитывайте иерархию инструкций: по документации OpenAI они имеют приоритет над user-инструкциями.
  • Для устойчивости поведения OpenAI рекомендует использовать pinned model versions и evals. Без этого один и тот же role prompt может вести себя по-разному после обновлений модели.
  • Google и Anthropic рекомендуют ясные, структурированные инструкции с контекстом и примерами, но сами по себе теги или заголовки не отменяют необходимости тестирования.
  • Доступность AI Studio, OpenAI Evals и других инструментов, а также цены и региональные ограничения, нужно отдельно проверять на официальных страницах продуктов: в процитированных рекомендациях эти данные не зафиксированы.

Если вы строите рабочий процесс вокруг внешних данных и пользовательских инструкций, дополнительно изучите материал как защититься от промпт-инъекций: практический план для LLM-приложений. Для более общего подхода к структуре запросов пригодятся инструкции как написать эффективный промпт для ChatGPT и как написать хороший промпт: основы.

Что делать дальше

  • Соберите свой шаблон role prompt из блоков роль → ограничения → контекст → формат → пример.
  • Подготовьте 3–5 эталонных задач и начните проверять промпт итеративно, меняя по одному блоку.
  • Если работаете через API, изучите возможность фиксировать pinned model versions и автоматизировать проверки через evals.
  • Если role prompt используется в приложении с внешними вводами, отдельно продумайте защиту от нежелательных инструкций во входных данных.

Практический вердикт и редакционное ограничение

Практический вердикт: лучший role prompt обычно не самый длинный, а самый явный. Начинайте с короткой роли, затем отдельно добавляйте ограничения, контекст, формат ответа и один пример, после чего проверяйте всё на повторяемых задачах.

Редакционное ограничение: эта инструкция фиксирует универсальные приёмы из официальной документации Google, OpenAI и Anthropic по состоянию на 2026-08-15, но не описывает конкретные кнопки каждого интерфейса. Это сделано потому, что точные экраны, пути документации, доступность функций и поведение модели зависят от продукта, аккаунта, региона и snapshot.

Источники

Вопросы и ответы

Куда лучше помещать роль: в system, developer или user prompt?

Если платформа поддерживает system или developer instructions, помещайте роль и ключевые ограничения туда. По документации OpenAI эти инструкции имеют приоритет над user-уровнем. Если отдельного слоя нет, Google рекомендует ставить роль и важные ограничения в самое начало пользовательского промпта.

Нужны ли примеры, если роль уже описана хорошо?

Часто да. Anthropic рекомендует использовать ясные инструкции, контекст и примеры, а Google показывает структурированные примеры с разделением блоков. Один короткий пример особенно полезен для пограничных случаев.

Почему один и тот же role prompt сегодня работает иначе, чем раньше?

Потому что поведение зависит от модели и её snapshot. OpenAI отдельно рекомендует pinned model versions и evals именно для того, чтобы отслеживать изменения и сохранять более стабильное поведение.

Как понять, что prompt действительно улучшился, а не просто случайно удачно ответил один раз?

Прогоните один и тот же набор репрезентативных задач несколько раз, меняя только один блок инструкции за запуск. Сравнивайте не только удачные ответы, но и повторяющиеся ошибки, нарушения роли и отклонения от формата.

Можно ли использовать Markdown вместо XML-тегов?

Да, если ваша среда лучше работает с заголовками и списками. В официальных рекомендациях Google упоминаются теги или заголовки, а Anthropic рекомендует XML-форматирование как способ лучше контролировать поведение. Главное — явно разделить роль, ограничения, контекст, пример и задачу.

Шаги

HOW-TO
  1. Выберите модель и место для инструкции

    | Определите, есть ли у вас отдельный слой system/developer instructions. Если есть, поместите роль и ключевые ограничения туда; если нет, ставьте их в начало пользовательского промпта.

  2. Сформулируйте явную роль

    | Опишите роль коротко и недвусмысленно: кто модель, в каком качестве отвечает и для какой аудитории.

  3. Добавьте ограничения поведения

    | Вынесите правила в отдельный блок: на что можно опираться, что нельзя придумывать и как отвечать при нехватке данных.

  4. Передайте контекст задачи

    | Добавьте аудиторию, цель ответа, тип входных данных и критерий успеха, чтобы роль работала в конкретной ситуации.

  5. Зафиксируйте формат ответа

    | Задайте структуру ответа отдельным блоком. Используйте XML-подобные теги или Markdown-заголовки, если это удобно вашей среде.

  6. Добавьте короткий пример

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

  7. Протестируйте шаблон итеративно

    | Прогоните 3–5 однотипных задач, меняя по одному блоку инструкции и сравнивая ответы, ошибки и стабильность формата.

Источники

SOURCES

Вопросы и ответы

FAQ
Куда лучше помещать роль: в system, developer или user prompt?

Если платформа поддерживает system или developer instructions, помещайте роль и ключевые ограничения туда. По документации OpenAI эти инструкции имеют приоритет над user-уровнем. Если отдельного слоя нет, Google рекомендует ставить роль и важные ограничения в самое начало пользовательского промпта.

Нужны ли примеры, если роль уже описана хорошо?

Часто да. Anthropic рекомендует использовать ясные инструкции, контекст и примеры, а Google показывает структурированные примеры с разделением блоков. Один короткий пример особенно полезен для пограничных случаев.

Почему один и тот же role prompt сегодня работает иначе, чем раньше?

Потому что поведение зависит от модели и её snapshot. OpenAI отдельно рекомендует pinned model versions и evals именно для того, чтобы отслеживать изменения и сохранять более стабильное поведение.

Как понять, что prompt действительно улучшился, а не просто случайно удачно ответил один раз?

Прогоните один и тот же набор репрезентативных задач несколько раз, меняя только один блок инструкции за запуск. Сравнивайте не только удачные ответы, но и повторяющиеся ошибки, нарушения роли и отклонения от формата.

Можно ли использовать Markdown вместо XML-тегов?

Да, если ваша среда лучше работает с заголовками и списками. В официальных рекомендациях Google упоминаются теги или заголовки, а Anthropic рекомендует XML-форматирование как способ лучше контролировать поведение. Главное — явно разделить роль, ограничения, контекст, пример и задачу.

Читайте также

LINKS