Definiowanie persony i roli
Buduj persony ekspertów: „Jesteś starszym administratorem SQL DBA z 20-letnim doświadczeniem”.
Definiowanie persony i roli to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.
Dlaczego persona ma znaczenie
Powiedzenie modelowi Jest Pan/Pani pomocnym asystentem to najsłabszy możliwy sposób zdefiniowania persony. Model nie otrzymuje konkretnego obrazu tego, co pomocny asystent oznacza w danym kontekście.
Dobrze skonstruowana persona znacznie poprawia jakość odpowiedzi, ponieważ zapewnia modelowi:
- konkretną dziedzinę wiedzy, z której może czerpać
- spójny ton i styl komunikacji
- realistyczne ograniczenia dotyczące tego, co powinien, a czego nie powinien wiedzieć
- spójną tożsamość utrzymującą się przez całą rozmowę
Szablon persony eksperckiej
Wysokiej jakości persona ekspercka odpowiada na sześć pytań:
- Rola: Jakie jest stanowisko tej osoby?
- Dziedzina: Jaki jest obszar jej specjalizacji?
- Firma/kontekst: Gdzie pracuje lub w jakim kontekście działa?
- Doświadczenie: Jak duże ma doświadczenie? Czym się zajmowała?
- Styl komunikacji: W jaki sposób rozmawia z innymi?
- Ograniczenia: Czego nie robi lub nie wie?
Słaba a silna persona: przykład
Porównanie słabej i silnej persony dla asystenta inżynierskiego 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')Specyfika roli i dziedziny
Im bardziej szczegółowo określono rolę i dziedzinę, tym lepiej model może czerpać z odpowiedniej wiedzy. Proszę porównać:
- Jest Pan/Pani lekarzem — niezwykle szeroki zakres i niejednoznaczne odpowiedzi
- Jest Pan/Pani kardiologiem — bardziej szczegółowy zakres i lepsze ujęcie medyczne
- Jest Pan/Pani kardiologiem dziecięcym w szpitalu klinicznym, specjalizującym się we wrodzonych wadach serca — bardzo szczegółowy zakres, który pozwala modelowi zastosować odpowiednią wiedzę specjalistyczną
Specyfika dziedziny pomaga także modelowi rozpoznać, co należy wykluczyć — kardiolog dziecięcy nie omawiałby operacji wszczepienia protezy stawu biodrowego.
Dodawanie kontekstu firmy
Dodanie kontekstu firmy lub organizacji osadza personę w realistycznym środowisku operacyjnym:
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.')Poziom doświadczenia i sygnały kompetencji
Poziom doświadczenia określony w personie wpływa na głębokość rozumowania stosowanego przez model. Proszę porównać, jak różne odpowiedzi na pytanie dotyczące przeglądu kodu dałyby następujące persony:
- Jest Pan/Pani młodszym programistą — koncentruje się na poprawności i stosuje znane wzorce
- Jest Pan/Pani inżynierem średniego szczebla — uwzględnia także czytelność i łatwość utrzymania
- Jest Pan/Pani principal engineer z 20-letnim doświadczeniem — uwzględnia konsekwencje architektoniczne, skalowalność, wpływ na zespół i dług techniczny
Poziom doświadczenia należy dopasować do rzeczywistych potrzeb użytkowników.
Styl komunikacji w personie
Styl komunikacji określa sposób, w jaki model wyraża swoją wiedzę specjalistyczną. Należy szczegółowo określić preferencje dotyczące sposobu wypowiedzi i formatu:
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.')Ograniczenia persony: czego nie wie
Zdefiniowanie tego, czego persona NIE wie lub czego NIE robi, jest równie ważne jak określenie tego, co wie i robi. Ograniczenia zwiększają realizm i zapobiegają wychodzeniu modelu poza zakres:
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.')Głębia persony wpływa na jakość odpowiedzi
Badania empiryczne pokazują, że bardziej szczegółowe persony generują użyteczniejsze, spójniejsze i lepiej dopasowane do dziedziny odpowiedzi. Gdy persona jest szczegółowa, model aktywuje więcej odpowiedniej wiedzy z danych treningowych.
Najważniejsze wymiary zwiększające skuteczność persony:
- stanowisko + typ firmy + specjalizacja dziedzinowa
- lata doświadczenia + najważniejsze wcześniejsze projekty
- sposób komunikacji (ton, format, poziom słownictwa)
- granice zakresu (czym persona się zajmuje i co przekazuje dalej)
Pełny szablon konstruowania persony eksperckiej
Uniwersalny szablon do konstruowania person eksperckich:
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)Testowanie spójności persony
Spójność persony należy testować, zadając pytania w różnych scenariuszach. Persona powinna zachowywać swój sposób wypowiedzi, poziom wiedzy specjalistycznej i ograniczenia w każdym przypadku:
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.')Szybkie sprawdzenie
Który element definicji persony ma największy wpływ na jakość odpowiedzi dopasowanych do dziedziny?
Projektowanie persony — najważniejsze wnioski
Dobrze skonstruowane persony to jedno z najbardziej efektywnych usprawnień, jakie można wprowadzić w prompcie systemowym:
- Należy odpowiedzieć na sześć pytań: rola, dziedzina, firma/kontekst, poziom doświadczenia, styl komunikacji i ograniczenia
- Kluczowe znaczenie ma szczegółowość — kardiolog dziecięcy w szpitalu klinicznym daje lepsze wyniki niż lekarz
- Granice zakresu należy definiować jednoznacznie — to, czym persona się NIE zajmuje, jest równie ważne jak to, czym się zajmuje
- Styl komunikacji kształtuje sposób wypowiedzi, format i poziom słownictwa każdej odpowiedzi
- Spójność persony należy testować za pomocą różnorodnych pytań, w tym pytań spoza zakresu i adversarialnych danych wejściowych
- Należy używać funkcji szablonowej, aby konstruowanie person było systematyczne i powtarzalne
Często zadawane pytania
Czy lekcja „Definiowanie persony i roli” jest bezpłatna?
Tak — pełny tekst „Definiowanie persony i roli” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.
Co nauczysz się w „Definiowanie persony i roli”?
Buduj persony ekspertów: „Jesteś starszym administratorem SQL DBA z 20-letnim doświadczeniem”. Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?
Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Definiowanie persony i roli”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?
Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Rozróżnienie roli systemu i użytkownika
- Wstrzykiwanie trwałych zachowań
- Definiowanie persony i roli
- Testowanie skuteczności promptu systemowego