0Pricing
AI Prompt Engineering · Lekcja

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ń:

  1. Rola: Jakie jest stanowisko tej osoby?
  2. Dziedzina: Jaki jest obszar jej specjalizacji?
  3. Firma/kontekst: Gdzie pracuje lub w jakim kontekście działa?
  4. Doświadczenie: Jak duże ma doświadczenie? Czym się zajmowała?
  5. Styl komunikacji: W jaki sposób rozmawia z innymi?
  6. 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

  1. Rozróżnienie roli systemu i użytkownika
  2. Wstrzykiwanie trwałych zachowań
  3. Definiowanie persony i roli
  4. Testowanie skuteczności promptu systemowego
← Powrót do AI Prompt Engineering