0Pricing
AI Prompt Engineering · Lezione

Impostare efficacemente lo scenario

Tecniche di inquadramento: «Lei è...», «Dato che...», «L'obiettivo è...»

Impostare efficacemente lo scenario è 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.

Formule di apertura efficaci

La prima frase del prompt è la più importante. Definisce il contesto operativo del modello, cioè la prospettiva attraverso cui interpreterà tutto ciò che segue.

Tra le formule di apertura efficaci ci sono: Lei è..., Il contesto è..., Dato che... e L'obiettivo è.... Ognuna attiva una diversa dimensione del contesto prima che inizi l'attività vera e propria.

La formula «Lei è...»

La formula Lei è... assegna al modello una persona. Attiva il vocabolario, lo stile di ragionamento e le priorità associati a quel ruolo.

È fondamentale essere specifici. «Lei è un esperto» è debole. «Lei è un ingegnere Python senior con 10 anni di esperienza che privilegia la leggibilità rispetto all'ingegnosità» è efficace.

Le formule basate sulla persona funzionano meglio quando la persona implica un modo specifico di pensare e comunicare di cui Lei ha bisogno.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

persona_prompts = [
    'You are a Socratic philosophy professor. Ask 3 probing questions about this claim: AI will replace programmers.',
    'You are a skeptical venture capitalist who has seen 500 pitches. Give brutal feedback on this pitch: We are building an AI writing assistant.',
    'You are a patient kindergarten teacher. Explain what a computer does in 3 sentences for 5-year-olds.'
]

for prompt in persona_prompts:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=150,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- Persona ---')
    print(prompt[:80] + '...')
    print(response.content[0].text.strip())
    print()

La struttura «Lei è...» nei messaggi di sistema

Il posto più efficace per una struttura della persona è il messaggio di sistema, non il turno dell'utente. Le definizioni della persona nel messaggio di sistema restano attive per l'intera conversazione: non è necessario ripeterle.

Una struttura della persona ben progettata può trasformare completamente il modo in cui un assistente IA risponde a decine di domande successive.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Persona set once in system; stays active for all turns
system_persona = (
    'You are Marcus, a senior software architect at a Fortune 500 company. '
    'You have 20 years of experience with distributed systems. '
    'Your communication style: direct, pragmatic, no buzzwords. '
    'You always ask about scale and failure modes before giving architecture advice. '
    'If a question lacks context, ask one clarifying question before answering.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {'role': 'system', 'content': system_persona},
        {'role': 'user', 'content': 'Should we use microservices for our new product?'}
    ]
)
print(response.choices[0].message.content)

La struttura «Il contesto è...»

La struttura Il contesto è... definisce lo scenario situazionale senza assegnare una persona. La utilizzi quando ha bisogno che il modello ragioni sulla propria situazione specifica invece di assumere un personaggio.

È particolarmente efficace per le attività tecniche e analitiche in cui desidera che il modello ragioni in quanto tale, ma con piena consapevolezza dei Suoi vincoli.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'The context is: we are a 5-person startup with $2M in seed funding. '
            'Our Python monolith handles 10,000 users and is starting to show performance issues. '
            'We have one backend engineer and cannot hire more for 6 months. '
            'We need to choose between refactoring the monolith vs migrating to microservices.\n\n'
            'Give a recommendation with 3 supporting reasons. Be direct.'
        )
    }]
)
print(response.content[0].text)

La struttura «Dato che...»

La struttura Dato che... stabilisce una premessa o un presupposto che orienta l'intera risposta. La utilizzi per definire fatti che il modello deve considerare veri ai fini del compito.

È particolarmente utile per l'analisi ipotetica, la pianificazione condizionale e la scrittura basata su scenari, quando ha bisogno che il modello ragioni a partire da un punto di partenza specifico.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

scenarios = [
    'Given that our user base will grow 10x in 6 months, what architecture changes should we make today?',
    'Given that we must launch in 2 weeks with the current team, which features should we cut from the MVP?',
    'Given that our API key was exposed publicly for 3 hours, what steps should we take in the next 24 hours?'
]

for scenario in scenarios:
    response = client.chat.completions.create(
        model='gpt-4o',
        max_tokens=120,
        messages=[{
            'role': 'user',
            'content': scenario + ' (Answer in 3 bullet points.)'
        }]
    )
    print(f'Scenario: {scenario[:60]}...')
    print(response.choices[0].message.content.strip())
    print()

La struttura «L'obiettivo è...»

La struttura L'obiettivo è... enuncia la finalità ultima dell'output. È diversa dall'istruzione del compito: spiega perché Le serve questo output e che cosa deve ottenere.

Questa struttura aiuta il modello a prendere decisioni più efficaci anche nei dettagli: quale livello di persuasione adottare, quali obiezioni anticipare e quali dettagli includere o omettere.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

goal_frames = [
    (
        'The goal is to get the reader to schedule a 30-minute demo call. '
        'Write a 100-word cold outreach email for our AI data pipeline tool '
        'targeting data engineers at e-commerce companies.'
    ),
    (
        'The goal is to help the reader pass a senior Python interview at a FAANG company. '
        'Explain Python decorators with one conceptual explanation and one practical code example.'
    )
]

for prompt in goal_frames:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print('--- Goal Frame ---')
    print(prompt[:80] + '...')
    print(response.content[0].text.strip())
    print()

Combinare le strutture iniziali

I prompt più efficaci combinano diverse strutture iniziali prima dell'istruzione del compito. Una struttura tipica ad alte prestazioni è:

  1. Lei è... [persona]
  2. Il contesto è... [situazione]
  3. L'obiettivo è... [finalità ultima]
  4. Dato che... [presupposto o vincolo chiave]
  5. [Istruzione del compito]

Ogni struttura aggiunge un livello di orientamento. Insieme lasciano al modello pochissimo spazio per le supposizioni.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

combined_frame_prompt = (
    'You are a senior product manager with 10 years of B2B SaaS experience.\n'
    'The context is: our team is debating whether to build a native mobile app '
    'or keep investing in our responsive web app.\n'
    'The goal is: to help our leadership team make a clear go/no-go decision at '
    'next week\'s board meeting.\n'
    'Given that: we have 3 engineers, $300k runway, and 85% of current users are on desktop.\n\n'
    'Write a 250-word recommendation memo with a clear position (build or wait) '
    'and 3 supporting arguments. End with one risk to monitor.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': combined_frame_prompt}]
)
print(response.choices[0].message.content)

Strutturare tono e voce

Le strutture iniziali possono anche definire il tono e la voce senza usare affatto la parola «tono». Descrivere la persona e la situazione definisce implicitamente il registro:

  • «Lei è un mentore caloroso e paziente che parla a uno studente in difficoltà» → automaticamente caloroso e incoraggiante
  • «Lei è un ufficiale della logistica militare diretto e pragmatico» → automaticamente diretto e preciso
  • «Lei è un giornalista tecnologico arguto che scrive per Wired» → automaticamente brillante e accessibile
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

frames = [
    'You are a warm, patient mentor. Explain why learning to code is hard but worth it.',
    'You are a no-nonsense military logistics officer. Explain why learning to code is hard but worth it.',
    'You are a witty tech journalist writing for Wired. Explain why learning to code is hard but worth it.'
]

for frame in frames:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=80,
        messages=[{'role': 'user', 'content': frame + ' (2 sentences only)'}]
    )
    print(f'Frame: {frame[:55]}...')
    print(response.content[0].text.strip())
    print()

Strutturare il rigore analitico

Quando ha bisogno di un'analisi rigorosa e critica anziché di un consenso entusiasta, inizi con una struttura che attivi esplicitamente una mentalità scettica o analitica:

  • «Lei è un revisore critico il cui compito è trovare i difetti...»
  • «Svolga il ruolo dell'avvocato del diavolo e metta in discussione quanto segue...»
  • «Presuma il contrario della saggezza convenzionale e sostenga...»
  • «Presenti nella forma più solida l'argomento più debole contro...»
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

analytical_frames = [
    'You are a critical reviewer whose job is to find fatal flaws. Review this startup idea: a subscription box for AI prompt templates.',
    'Play devil\'s advocate. Challenge this claim: AI will make every knowledge worker 10x more productive.',
    'Steelman the weakest argument against remote work, then give the strongest counter-argument.'
]

for frame in analytical_frames:
    response = client.chat.completions.create(
        model='gpt-4o',
        max_tokens=120,
        messages=[{'role': 'user', 'content': frame + ' (3 sentences max)'}]
    )
    print(f'Frame type: analytical/critical')
    print(f'Prompt: {frame[:60]}...')
    print(response.choices[0].message.content.strip())
    print()

Quando NON utilizzare una struttura della persona

Le strutture della persona non sono sempre lo strumento giusto. Le eviti quando:

  • Ha bisogno di estrarre dati oggettivi: una struttura della persona aggiunge distorsioni
  • Sta elaborando dati strutturati: le strutture della persona distraggono
  • Il compito è puramente meccanico: non richiede ragionamento
  • Desidera la valutazione autentica del modello: una struttura della persona ne orienta l'opinione

Per attività come «convertire questo CSV in JSON» o «contare il numero di frasi in questo paragrafo», non serve alcuna struttura: è sufficiente l'istruzione.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Persona frame is unhelpful here — just adds tokens
prompt_with_unnecessary_frame = (
    'You are an expert data processing specialist with years of experience. '
    'Convert the following to JSON: Name: Alice, Age: 30, City: London'
)

# Clean, direct instruction
prompt_direct = (
    'Convert to a JSON object with keys name, age, city:\n'
    'Name: Alice, Age: 30, City: London'
)

for label, prompt in [('WITH UNNECESSARY FRAME', prompt_with_unnecessary_frame), ('DIRECT', prompt_direct)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=50,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'[{label}]')
    print(response.content[0].text.strip())
    print()

Testare le strutture

Il modo migliore per capire quali strutture funzionano per il Suo caso d'uso è eseguire test A/B: stessa attività, strutture iniziali diverse, confronto degli output.

Verifichi queste variabili:

  • Nessuna struttura rispetto a una struttura della persona
  • Persona vaga rispetto a persona specifica
  • Solo struttura del contesto rispetto a struttura del contesto + struttura dell'obiettivo
  • Una struttura rispetto a strutture combinate

Tenga un registro delle strutture che producono gli output migliori per ogni categoria di attività nel Suo lavoro.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

task = 'Explain the pros and cons of using TypeScript over JavaScript.'

frames = {
    'No frame':       task,
    'Persona frame':  f'You are a TypeScript advocate who also knows JavaScript deeply. {task}',
    'Goal frame':     f'The goal is to help a JavaScript developer decide if switching to TypeScript is worth it. {task}',
    'Combined frame': f'You are a pragmatic senior engineer. The goal is to help a JavaScript developer decide. {task} Give a balanced view in 3 bullet points.'
}

for label, prompt in frames.items():
    response = client.chat.completions.create(
        model='gpt-4o', max_tokens=80,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'[{label}]: {response.choices[0].message.content.strip()[:120]}...')
    print()

Verifica delle conoscenze

Uno sviluppatore vuole che l'IA fornisca un feedback critico e severo sulla presentazione della sua startup: non incoraggiante, non equilibrato, una critica esclusivamente avversariale. Quale struttura iniziale lo permette al meglio?

Impostare lo scenario — riepilogo

Le strutture iniziali orientano il modello prima che legga l'istruzione del compito. Le quattro strutture più efficaci sono:

  • «Lei è...»: assegna una persona con competenze specifiche, stile comunicativo e priorità
  • «Il contesto è...»: definisce lo scenario situazionale senza una persona
  • «Dato che...»: stabilisce premesse o vincoli che il modello deve considerare veri
  • «L'obiettivo è...»: definisce la finalità ultima dell'output

Combini le strutture per le attività complesse. Non utilizzi alcuna struttura per le attività puramente meccaniche. Testi diverse varianti delle strutture per trovare quella più efficace per il Suo caso d'uso.

Domande Frequenti

La lezione «Impostare efficacemente lo scenario» è gratuita?

Sì — il testo completo di «Impostare efficacemente lo scenario» è 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 «Impostare efficacemente lo scenario»?

Tecniche di inquadramento: «Lei è...», «Dato che...», «L'obiettivo è...» 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 «Impostare efficacemente lo scenario»?

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

  1. Che cosa significa contesto nei prompt per l'IA
  2. Fornire informazioni di base
  3. Impostare efficacemente lo scenario
  4. Lunghezza e rilevanza del contesto
← Torna a AI Prompt Engineering