Ролевые промпты — одна из самых мощных и широко используемых техник в промпт-инженерии. Назначая ИИ определённую роль или персону, вы можете значительно повлиять на качество, стиль и релевантность ответов.

<Callout type="tip" title="Сила персон">
Представьте роли как фильтры для обширных знаний ИИ. Правильная роль фокусирует ответы подобно тому, как линза фокусирует свет.
</Callout>

## Почему роли работают

Когда вы назначаете роль, вы по сути говорите модели: «Пропусти свои обширные знания через этот конкретный фильтр». Модель корректирует:

- **Словарный запас**: использует терминологию, соответствующую роли
- **Перспективу**: рассматривает проблемы с данной точки зрения
- **Глубину экспертизы**: предоставляет уровень детализации, соответствующий роли
- **Стиль коммуникации**: соответствует тому, как эта роль общалась бы

### Техническое объяснение

LLM работают, предсказывая наиболее вероятный следующий токен на основе заданного контекста. Когда вы указываете роль, вы фундаментально меняете то, что означает «вероятный».

**Активация релевантных знаний**: Роль активирует определённые области усвоенных моделью ассоциаций. Фраза «Ты врач» активирует медицинскую терминологию, паттерны диагностического мышления и стили клинической коммуникации из обучающих данных.

**Статистическое обусловливание**: LLM обучались на миллионах документов, написанных реальными экспертами. Когда вы назначаете роль, модель настраивает свои распределения вероятностей в соответствии с паттернами, которые она видела у авторов такого типа.

**Снижение неоднозначности**: Без роли модель усредняет по всем возможным отвечающим. С ролью она сужается до определённого подмножества, делая ответы более сфокусированными и последовательными.

**Якорение контекста**: Роль создаёт постоянный якорь контекста на протяжении всего разговора. Каждый последующий ответ находится под влиянием этого начального фрейма.

Представьте это так: если вы спросите «Что мне делать с этим кашлем?», модель может ответить как врач, друг, фармацевт или обеспокоенный родитель. Каждый даст разный совет. Указывая роль заранее, вы говорите модели, какой «голос» использовать из её обучающих данных.

<Callout type="info" title="Почему это важно">
Модель не притворяется и не играет роль в театральном смысле. Она статистически смещает свои выходные данные в сторону паттернов, которые усвоила от реальных экспертов, профессионалов и специалистов во время обучения. Роль «врача» активирует пути медицинских знаний; роль «поэта» активирует литературные паттерны.
</Callout>

## Базовые ролевые паттерны

Эти фундаментальные паттерны работают в большинстве случаев использования. Начните с этих шаблонов и адаптируйте их под свои нужды.

### Паттерн эксперта

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

<TryIt compact prompt={`Ты эксперт в области \${field} с \${years:10}-летним опытом работы в \${specialty}.

\${task}`} />

### Паттерн профессионала

Закрепите роль в реальном контексте, указав должность и тип организации. Это добавляет институциональные знания и профессиональные нормы в ответ.

<TryIt compact prompt={`Ты \${profession}, работающий в \${organization}.

\${task}`} />

### Паттерн учителя

Идеально подходит для обучения и объяснений. Указание уровня аудитории гарантирует, что ответ соответствует подготовке учащегося — от начинающих до продвинутых практиков.

<TryIt compact prompt={`Ты преподаватель \${subject}, специализирующийся на объяснении сложных концепций для \${audience}.

\${task}`} />

## Продвинутые ролевые конструкции

### Составные роли

Комбинируйте несколько идентичностей, чтобы получить ответы, сочетающие разные перспективы. Эта комбинация педиатра и родителя даёт советы, которые одновременно медицински обоснованы и практически проверены.

<TryIt compact prompt={`Ты педиатр, который также является родителем троих детей. Ты понимаешь как медицинские, так и практические аспекты детского здоровья. Ты общаешься с эмпатией и без медицинского жаргона.

\${question}`} />

### Ситуационные роли

Поместите роль в конкретный сценарий, чтобы сформировать как содержание, так и тон. Здесь контекст код-ревью делает ИИ конструктивным и образовательным, а не просто критичным.

<TryIt compact prompt={`Ты старший разработчик, проводящий код-ревью для младшего члена команды. Ты хочешь быть полезным и обучающим, а не критичным. Ты объясняешь не только что исправить, но и почему.

Код для ревью:
\${code}`} />

### Перспективные роли

Получите обратную связь с точки зрения конкретного заинтересованного лица. Перспектива венчурного инвестора оценивает жизнеспособность и масштабируемость иначе, чем клиент или инженер.

<TryIt compact prompt={`Ты венчурный инвестор, оценивающий питчи стартапов. Ты видел тысячи питчей и можешь быстро определить сильные стороны, слабости и тревожные сигналы. Будь прямолинейным, но конструктивным.

Питч: \${pitch}`} />

## Категории ролей и примеры

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

### Технические роли

**Архитектор программного обеспечения**: Лучше всего подходит для решений по проектированию систем, выбора технологий и архитектурных компромиссов. Фокус на поддерживаемости направляет ответы к практичным, долгосрочным решениям.

<TryIt compact prompt={`Ты архитектор программного обеспечения, специализирующийся на масштабируемых распределённых системах. В своих рекомендациях ты приоритизируешь поддерживаемость, производительность и продуктивность команды.

\${question}`} />

**Специалист по безопасности**: Мышление атакующего здесь является ключевым. Эта роль даёт анализ, ориентированный на угрозы, который выявляет уязвимости, которые может упустить только защитная перспектива.

<TryIt compact prompt={`Ты специалист по кибербезопасности, который проводит тестирование на проникновение. Ты думаешь как атакующий, чтобы выявлять уязвимости.

Проанализируй: \${target}`} />

**DevOps-инженер**: Идеально подходит для вопросов по развёртыванию, автоматизации и инфраструктуре. Акцент на надёжности обеспечивает рекомендации, готовые к продакшену.

<TryIt compact prompt={`Ты DevOps-инженер, сфокусированный на CI/CD-пайплайнах и инфраструктуре как коде. Ты ценишь автоматизацию и надёжность.

\${question}`} />

### Креативные роли

**Копирайтер**: Квалификатор «отмеченный наградами» и фокус на конверсии создают яркие, убедительные тексты, а не шаблонный маркетинг.

<TryIt compact prompt={`Ты отмеченный наградами копирайтер, известный созданием захватывающих заголовков и убедительного контента, который повышает конверсии.

Напиши текст для: \${product}`} />

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

<TryIt compact prompt={`Ты сценарист, который писал для популярных телевизионных драм. Ты понимаешь структуру истории, диалог и развитие персонажей.

Напиши: \${scene}`} />

**UX-райтер**: Специализированная роль для текстов интерфейса. Фокус на краткости и руководстве пользователем создаёт лаконичные, ориентированные на действие тексты.

<TryIt compact prompt={`Ты UX-райтер, специализирующийся на микрокопии. Ты делаешь интерфейсы человечными и направляешь пользователей минимальным количеством текста.

Напиши микрокопию для: \${element}`} />

### Аналитические роли

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

<TryIt compact prompt={`Ты бизнес-аналитик, который переводит между техническими командами и заинтересованными сторонами. Ты уточняешь требования и выявляешь граничные случаи.

Проанализируй: \${requirement}`} />

**Научный исследователь**: Акцент на доказательствах и признании неопределённости даёт сбалансированные, хорошо обоснованные ответы, которые отличают факты от предположений.

<TryIt compact prompt={`Ты научный исследователь, который ценит эмпирические доказательства и признаёт неопределённость. Ты различаешь установленные факты и гипотезы.

Исследовательский вопрос: \${question}`} />

**Финансовый аналитик**: Сочетает количественный анализ с оценкой рисков. Двойной фокус на доходности и риске создаёт более сбалансированные инвестиционные перспективы.

<TryIt compact prompt={`Ты финансовый аналитик, который оценивает инвестиции с помощью фундаментального и технического анализа. Ты учитываешь риск наряду с потенциальной доходностью.

Оцени: \${investment}`} />

### Образовательные роли

**Сократовский наставник**: Вместо того чтобы давать ответы, эта роль задаёт наводящие вопросы. Отлично подходит для глубокого обучения и помощи студентам в развитии критического мышления.

<TryIt compact prompt={`Ты наставник, использующий сократовский метод. Вместо того чтобы давать ответы напрямую, ты направляешь студентов к самостоятельному открытию ответов через вдумчивые вопросы.

Тема: \${topic}`} />

**Методист**: Структурирует обучение для максимального усвоения. Используйте эту роль, когда нужно разбить сложные темы на обучаемые части с чёткой прогрессией.

<TryIt compact prompt={`Ты методист, который создаёт увлекательные учебные программы. Ты разбиваешь сложные темы на легко усваиваемые модули с чёткими целями обучения.

Создай учебную программу для: \${topic}`} />

## Техника стека ролей

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

Этот пример накладывает три элемента: доменную экспертизу (документация API), аудиторию (начинающие разработчики) и руководство по стилю (конвенции Google). Каждый слой дополнительно ограничивает результат.

<TryIt compact prompt={`Ты технический писатель с экспертизой в документации API. Ты пишешь для разработчиков, которые только начинают работать с REST API. Следуй руководству по стилю документации для разработчиков Google: используй второе лицо («вы»), активный залог, настоящее время и сохраняй предложения до 26 слов.

Задокументируй: \${apiEndpoint}`} />

## Роли для разных задач

<div className="my-4 grid gap-2">
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Код-ревью</span>
    <span className="text-muted-foreground">Старший разработчик + наставник</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Отзыв на текст</span>
    <span className="text-muted-foreground">Редактор + представитель целевой аудитории</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Бизнес-стратегия</span>
    <span className="text-muted-foreground">Консультант + отраслевой эксперт</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Изучение новой темы</span>
    <span className="text-muted-foreground">Терпеливый учитель + практик</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Креативное письмо</span>
    <span className="text-muted-foreground">Автор конкретного жанра</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Техническое объяснение</span>
    <span className="text-muted-foreground">Эксперт + коммуникатор</span>
  </div>
  <div className="flex gap-2 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">Решение проблем</span>
    <span className="text-muted-foreground">Специалист в области + универсал</span>
  </div>
</div>

## Антипаттерны, которых следует избегать

### Слишком общие роли

<Compare 
  before={{ label: "Слабо", content: "Ты полезный ассистент." }}
  after={{ label: "Лучше", content: "Ты полезный ассистент, специализирующийся на разработке на Python, особенно веб-приложениях на Flask и Django." }}
/>

### Конфликтующие роли

<Compare 
  before={{ label: "Проблематично", content: "Ты креативный писатель, который всегда следует строгим шаблонам." }}
  after={{ label: "Лучше", content: "Ты креативный писатель, который работает в рамках устоявшихся сюжетных структур, добавляя оригинальные элементы." }}
/>

### Нереалистичная экспертиза

<Compare 
  before={{ label: "Проблематично", content: "Ты эксперт во всём." }}
  after={{ label: "Лучше", content: "Ты T-образный профессионал: глубокая экспертиза в машинном обучении с широкими знаниями практик разработки программного обеспечения." }}
/>

## Примеры реальных промптов

### Техническая документация

<TryIt 
  title="Роль технического писателя"
  description="Попробуйте этот промпт для технической документации с вашим собственным API-эндпоинтом."
  prompt={`Ты старший технический писатель в компании, производящей инструменты для разработчиков. У тебя 10 лет опыта написания документации API, руководств по SDK и туториалов для разработчиков.

Твой стиль документации:
- Чёткая, сканируемая структура с заголовками и примерами кода
- Объясняет «почему» наряду с «как»
- Предвосхищает частые вопросы и граничные случаи
- Использует последовательную терминологию, определённую в глоссарии
- Включает рабочие примеры кода, которые пользователи могут скопировать и вставить

Задокументируй этот API-эндпоинт: GET /api/users/:id - Возвращает данные профиля пользователя`}
/>

### Креативное письмо

<TryIt 
  title="Роль романиста"
  description="Эта роль сочетает жанровую экспертизу с конкретными стилистическими особенностями."
  prompt={`Ты романист, который пишет в стиле литературной прозы с элементами магического реализма. Твоя проза известна:
- Лиричным, но доступным языком
- Глубокими психологическими портретами персонажей
- Тонкими магическими элементами, вплетёнными в повседневную обстановку
- Темами памяти, идентичности и трансформации

Напиши открывающую сцену истории о библиотекаре, которая обнаруживает, что книги в её библиотеке постепенно меняют свои концовки.`}
/>

### Деловая коммуникация

<TryIt 
  title="Роль коуча для руководителей"
  description="Эта роль помогает с деликатными деловыми коммуникациями."
  prompt={`Ты коуч по коммуникациям для руководителей, который работал с генеральными директорами компаний из Fortune 500. Ты помогаешь лидерам просто доносить сложные идеи и выстраивать доверие со своими командами.

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

Черновик сообщения: «В связи с бюджетными ограничениями нам нужно сократить объём проекта. Некоторые инициативы будут приостановлены.»`}
/>

## Комбинирование ролей с другими техниками

Роли работают ещё лучше в сочетании с другими техниками промптинга:

### Роль + Few-Shot

Совместите роль с примером, чтобы показать, как именно роль должна отвечать. Пример обучает тону и формату, а роль обеспечивает контекст и экспертизу.

<TryIt compact prompt={`Ты специалист службы поддержки клиентов, обученный деэскалации разгневанных клиентов.

Пример ответа разгневанному клиенту:
Клиент: «Это просто смешно! Я жду уже 2 недели!»
Ты: «Я полностью понимаю вашу фрустрацию и приношу извинения за задержку. Позвольте мне прямо сейчас разобраться и выяснить, где именно находится ваш заказ. Можете назвать номер заказа?»

Теперь ответь на:
Клиент: "\${customerMessage}"`} />

### Роль + Цепочка рассуждений

Роль детектива естественно поощряет пошаговые рассуждения. Комбинирование ролей с цепочкой рассуждений создаёт более прозрачное, проверяемое решение проблем.

<TryIt compact prompt={`Ты детектив, решающий логическую загадку. Обдумай каждую улику методично, объясняя своё рассуждение на каждом шаге.

Улики:
\${clues}

Реши пошагово, объясняя свои выводы.`} />

## Резюме

<Callout type="info" title="Ключевые выводы">
Ролевые промпты эффективны, потому что они фокусируют обширные знания модели, задают ожидания по тону и стилю, обеспечивают неявный контекст и делают результаты более последовательными.
</Callout>

<Quiz 
  question="Что делает ролевой промпт более эффективным?"
  options={[
    "Использование общих названий ролей вроде «эксперт»",
    "Добавление деталей о конкретной экспертизе, опыте и перспективе",
    "Сохранение описания роли как можно более коротким",
    "Просьба к ИИ часто менять роли"
  ]}
  correctIndex={1}
  explanation="Чем детальнее и реалистичнее роль, тем лучше результаты. Конкретность помогает модели понять, какие именно знания, тон и перспективу применять."
/>

Ключ — **конкретность**: чем детальнее и реалистичнее роль, тем лучше результаты. В следующей главе мы рассмотрим, как получать последовательные, структурированные результаты от ваших промптов.
