Определение персоны и роли
Создавайте экспертные персоны: «Вы — старший DBA SQL с 20-летним опытом»
«Определение персоны и роли» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Почему важна персона
Фраза Вы полезный ассистент — самое слабое возможное определение персоны. У модели нет конкретного представления о том, что означает полезный ассистент в вашем контексте.
Хорошо сформированная персона значительно повышает качество ответов, предоставляя модели:
- Конкретную область экспертизы, на которую можно опираться
- Последовательный тон и стиль общения
- Реалистичные ограничения того, что ей следует и не следует знать
- Целостную идентичность, сохраняющуюся на протяжении всего диалога
Шаблон экспертной персоны
Качественная экспертная персона отвечает на шесть вопросов:
- Роль: Какова её должность?
- Область: В чём заключается её специализация?
- Компания/контекст: Где она работает и каков её контекст?
- Опыт: Насколько она опытна? Чем она занималась?
- Стиль общения: Как она разговаривает с другими?
- Ограничения: Чего она не делает и не знает?
Слабая и сильная персона: пример
Сравним слабую и сильную персоны для инженерного ассистента Python:
# Weak persona
weak = 'You are a Python expert. Help users with Python questions.'
# Strong persona
strong = '''
You are Dr. Sarah Chen, a Senior Python Engineer with 12 years of experience
at a fintech company building high-frequency trading systems.
You specialize in:
- High-performance Python (async, multiprocessing, C extensions)
- Financial data pipelines (pandas, numpy, Apache Arrow)
- System reliability engineering (99.99% uptime requirements)
You communicate directly and technically. You skip basic explanations
unless asked. You always mention edge cases and production implications.
You often say things like: "In production, this matters because..."
or "Watch out for this at scale..."
You do not discuss machine learning or data science — that is a separate team.
'''
print(f'Weak: {len(weak)} chars | Strong: {len(strong)} chars')Конкретика роли и области
Чем конкретнее роль и область, тем больше релевантных знаний может использовать модель. Сравните:
- Вы врач — чрезвычайно широкая формулировка, неоднозначные результаты
- Вы кардиолог — более конкретная формулировка, лучшее медицинское обоснование
- Вы детский кардиолог в университетской больнице, специализирующийся на врождённых пороках сердца — очень конкретная формулировка, модель использует подходящие знания
Конкретика предметной области также помогает модели понять, что следует исключить: детский кардиолог не станет обсуждать операцию по замене тазобедренного сустава.
Добавление контекста компании
Добавление контекста компании или организации помещает персону в реалистичную рабочую среду:
SYSTEM_LEGAL = '''
You are Marcus Webb, a Senior Corporate Counsel at GlobalTech Inc.,
a publicly traded technology company with 15,000 employees.
Your role:
- Reviewing commercial contracts (SaaS agreements, vendor contracts, NDAs)
- Advising internal business teams on legal risk
- Escalating matters to outside counsel when needed
Company context:
- GlobalTech operates in 40 countries — international law implications matter
- The company is under SEC reporting obligations — securities law is sensitive
- You report to the General Counsel, not to business units
IMPORTANT CONSTRAINTS:
- You provide legal analysis, not legal advice. Always end with:
"This analysis is for informational purposes. Consult qualified legal counsel before acting."
- Never speculate on litigation outcomes.
- Flag anything involving securities, IP, or employment law for escalation.
'''
print('Legal persona with company context defined.')Уровень опыта и признаки экспертизы
Уровень опыта в персоне влияет на глубину рассуждений модели. Сравните, как по-разному эти персоны ответили бы на вопрос о проверке кода:
- Вы младший разработчик — сосредоточьтесь на корректности, следуйте шаблонам
- Вы инженер среднего уровня — учитывайте также читаемость и удобство сопровождения
- Вы ведущий инженер с 20-летним опытом — учитывайте архитектурные последствия, вопросы масштабирования, влияние на команду и технический долг
Соотносите уровень опыта с тем, что действительно нужно вашим пользователям.
Стиль общения в персоне
Стиль общения определяет, как модель выражает свою экспертизу. Конкретно опишите предпочтения в манере речи и оформлении:
SYSTEM_TEACHER = '''
You are Professor Amara Johnson, a Computer Science professor at MIT
with 20 years of teaching experience.
Your teaching style:
- Start every explanation with a simple analogy before introducing technical terms
- Use the Socratic method: often respond with a clarifying question
before giving the full answer
- Break complex topics into numbered steps
- End each explanation with: "Does that make sense? What part would you like me to expand?"
- Never say "obviously" or "simply" — respect that the learner is new to the topic
- Encourage mistakes: "That is a great question that many students ask."
'''
print('Teaching persona with communication style defined.')Ограничения персоны: чего она НЕ знает
Определить, чего персона NOT знает или не делает, так же важно, как определить то, что она знает. Ограничения повышают реалистичность и не позволяют модели выходить за пределы своей области применения:
SYSTEM_SUPPORT = '''
You are Jamie, a Tier 1 Customer Support Agent for CloudHosting Co.
You CAN help with:
- Account login and password resets
- Billing questions and invoice disputes
- Basic plan upgrade/downgrade requests
- Known issues listed in the status page
You CANNOT and MUST NOT:
- Access or modify server infrastructure directly
- Make promises about SLA compensation (escalate to Tier 2)
- Discuss unreleased features or roadmap
- Provide refunds without Tier 2 approval
- Discuss internal company processes or policies not in your knowledge base
When a user asks about something outside your scope:
"That requires escalation to our Tier 2 team. I will create a ticket and they will reach out within 4 hours."
'''
print('Support persona with scope constraints defined.')Глубина персоны влияет на качество результатов
На практике более подробные персоны дают более полезные, последовательные и соответствующие предметной области результаты. Когда персона конкретна, модель активирует больше релевантных знаний, полученных при обучении.
Ключевые параметры, повышающие эффективность персоны:
- Должность + тип компании + специализация в предметной области
- Многолетний опыт + заметные результаты прошлой работы
- Как она общается (тон, формат, уровень используемой лексики)
- Границы области применения (что она обрабатывает и что передаёт на более высокий уровень)
Полный шаблон создания экспертной персоны
Многоразовый шаблон для создания экспертных персон:
def build_expert_persona(role, domain, company_context, years_exp, specialties, style_notes, constraints):
specialty_list = '\n'.join(f'- {s}' for s in specialties)
constraint_list = '\n'.join(f'- {c}' for c in constraints)
return f'''
You are a {role} specializing in {domain}.
{company_context}
Experience: {years_exp} years in the field.
Core specialties:
{specialty_list}
Communication style:
{style_notes}
Scope constraints:
{constraint_list}
'''
persona = build_expert_persona(
role='Senior Data Engineer',
domain='real-time streaming systems',
company_context='You work at a logistics company processing 10M events/day.',
years_exp=8,
specialties=['Apache Kafka', 'Apache Flink', 'data pipeline reliability'],
style_notes='Technical, direct, always mentions operational complexity.',
constraints=['Do not advise on machine learning models', 'Escalate data governance questions to legal']
)
print(persona)Проверка последовательности персоны
Проверяйте последовательность персоны, задавая вопросы в разных сценариях. Во всех случаях персона должна сохранять свою манеру речи, уровень экспертизы и ограничения:
def test_persona_consistency(system_prompt, test_questions):
results = []
for q in test_questions:
r = client.messages.create(
model='claude-opus-4-5', max_tokens=200,
system=system_prompt,
messages=[{'role': 'user', 'content': q}]
)
results.append({'question': q, 'answer': r.content[0].text[:150]})
return results
# Test the same persona across easy and hard scenarios
tests = [
'What is a Kafka topic?', # Basic question — stays in persona?
'Can you help me build a React frontend?', # Out of scope — does it deflect?
'Explain this like I am 5', # Tries to break technical style
'What would you do differently at scale?' # Deep domain question
]
print(f'Testing {len(tests)} consistency scenarios.')Быстрая проверка
Какой элемент определения персоны сильнее всего влияет на качество ответов, соответствующих предметной области?
Проектирование персоны — основные выводы
Хорошо сформированные персоны — одно из самых эффективных улучшений, которые можно внести в системный промпт:
- Ответьте на шесть вопросов: роль, область, компания/контекст, уровень опыта, стиль общения, ограничения
- Конкретика — главный фактор: детский кардиолог в университетской больнице даёт лучшие результаты, чем врач
- Явно определяйте границы области применения: то, что персона NOT обрабатывает, так же важно, как и то, что она обрабатывает
- Стиль общения определяет манеру речи, формат и уровень лексики каждого ответа
- Проверяйте последовательность персоны с помощью разнообразных вопросов, включая вопросы за пределами области применения и враждебные запросы
- Используйте функцию-шаблон, чтобы сделать создание персоны систематичным и воспроизводимым
Часто задаваемые вопросы
Урок «Определение персоны и роли» бесплатный?
Да — полный текст урока «Определение персоны и роли» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Определение персоны и роли»?
Создавайте экспертные персоны: «Вы — старший DBA SQL с 20-летним опытом» Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Определение персоны и роли»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Различие системной и пользовательской ролей
- Внедрение постоянных правил поведения
- Определение персоны и роли
- Проверка эффективности системного запроса