Definizione di persona e ruolo
Costruisca persona esperte: «Lei è un senior SQL DBA con 20 anni di esperienza»
Definizione di persona e ruolo è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Prompt Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Prompt Engineering include 4 lezioni in totale.
Perché la persona è importante
Dire al modello Lei è un assistente disponibile è il modo più debole possibile per definire una persona. Il modello non dispone di un quadro specifico per interpretare che cosa significhi assistente disponibile nel Suo contesto.
Una persona ben costruita migliora notevolmente la qualità delle risposte, fornendo al modello:
- Un ambito specifico di competenza a cui attingere
- Un tono e uno stile di comunicazione coerenti
- Vincoli realistici su ciò che dovrebbe e non dovrebbe sapere
- Un'identità coerente che persiste durante la conversazione
Il modello per la persona esperta
Una persona esperta di alta qualità risponde a queste sei domande:
- Ruolo: qual è il Suo titolo professionale?
- Dominio: qual è la Sua area di competenza?
- Azienda/contesto: dove lavora o qual è il Suo contesto?
- Esperienza: qual è il Suo livello di seniority? Che cosa ha fatto?
- Stile di comunicazione: come parla con gli altri?
- Vincoli: che cosa non fa o non sa?
Persona debole e persona forte: esempio
Confronto tra una persona debole e una forte per un assistente di progettazione in 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')Specificità del ruolo e del dominio
Quanto più specifici sono il ruolo e il dominio, tanto più il modello può attingere alle conoscenze pertinenti. Confronti:
- Lei è un medico — estremamente ampio, output ambiguo
- Lei è un cardiologo — più specifico, inquadramento medico migliore
- Lei è un cardiologo pediatrico presso un ospedale universitario, specializzato in cardiopatie congenite — altamente specifico, consente al modello di applicare la competenza appropriata
La specificità del dominio aiuta inoltre il modello a sapere che cosa escludere: un cardiologo pediatrico non discuterebbe di interventi di sostituzione dell'anca.
Inserire il contesto aziendale
Aggiungere il contesto aziendale o organizzativo radica la persona in un ambiente operativo realistico:
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.')Livello di esperienza e segnali di competenza
Il livello di seniority nella persona influenza la profondità del ragionamento applicato dal modello. Confronti quanto risponderebbero diversamente queste persone a una domanda di revisione del codice:
- Lei è uno sviluppatore junior — si concentra sulla correttezza e segue i modelli esistenti
- Lei è un engineer di livello intermedio — aggiunge considerazioni su leggibilità e manutenibilità
- Lei è un principal engineer con 20 anni di esperienza — aggiunge implicazioni architetturali, considerazioni sulla scalabilità, impatto sul team e debito tecnico
Scelga il livello di esperienza in base alle esigenze effettive degli utenti.
Stile di comunicazione nella persona
Lo stile di comunicazione definisce il modo in cui il modello esprime la propria competenza. Specifichi con chiarezza le preferenze relative alla voce e al formato:
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.')Vincoli della persona: ciò che non sa
Definire ciò che la persona NON sa o non fa è importante quanto definire ciò che sa fare. I vincoli migliorano il realismo e impediscono al modello di uscire dal proprio ambito:
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.')La profondità della persona influenza la qualità dell'output
Secondo i dati empirici, le persone più dettagliate producono output più utili, coerenti e appropriati al dominio. Quando la persona è specifica, il modello attiva una quantità maggiore di conoscenze pertinenti apprese durante l'addestramento.
Dimensioni chiave che migliorano l'efficacia della persona:
- Titolo professionale + tipo di azienda + specializzazione di dominio
- Anni di esperienza + lavori significativi precedenti
- Modalità di comunicazione (tono, formato, livello del vocabolario)
- Confini dell'ambito (ciò di cui si occupa e ciò che sottopone ad altri)
Modello completo per costruire una persona esperta
Un modello riutilizzabile per costruire persone esperte:
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)Verificare la coerenza della persona
Verifichi la coerenza della persona ponendo domande in scenari diversi. La persona dovrebbe mantenere la propria voce, il livello di competenza e i propri vincoli in ogni caso:
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.')Verifica rapida
Quale elemento della definizione della persona influisce maggiormente sulla qualità delle risposte appropriate al dominio?
Progettazione della persona — concetti chiave
Le persone ben costruite sono tra i miglioramenti più efficaci che si possano apportare a un prompt di sistema:
- Risponda a sei domande: ruolo, dominio, azienda/contesto, livello di esperienza, stile di comunicazione, vincoli
- La specificità è il fattore determinante: cardiologo pediatrico presso un ospedale universitario offre risultati migliori di medico
- Definisca esplicitamente i confini dell'ambito: ciò di cui la persona NON si occupa è importante quanto ciò di cui si occupa
- Lo stile di comunicazione determina la voce, il formato e il livello del vocabolario di ogni risposta
- Verifichi la coerenza della persona con domande diverse, incluse quelle fuori ambito e gli input avversariali
- Utilizzi una funzione modello per rendere la costruzione della persona sistematica e ripetibile
Domande Frequenti
La lezione «Definizione di persona e ruolo» è gratuita?
Sì — il testo completo di «Definizione di persona e ruolo» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Prompt Engineering, passa a CoddyKit PRO. Il corso AI Prompt Engineering include 4 lezioni in totale.
Cosa imparerò in «Definizione di persona e ruolo»?
Costruisca persona esperte: «Lei è un senior SQL DBA con 20 anni di esperienza» Eserciti AI Prompt Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Prompt Engineering?
Non è richiesta alcuna esperienza precedente. AI Prompt Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Definizione di persona e ruolo»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Prompt Engineering?
Sì. Ogni lezione AI Prompt Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Differenza tra ruolo di sistema e ruolo utente
- Impostare comportamenti persistenti
- Definizione di persona e ruolo
- Testare l'efficacia dei system prompt