0Pricing
AI Prompt Engineering · Lezione

Perché la specificità è importante

Come i prompt vaghi portano a output generici e come la precisione risolve il problema

Perché la specificità è importante è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 1 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.

Il problema della vaghezza

Quando invia un prompt vago, l'IA colma tutti i dettagli mancanti con la sua ipotesi migliore. Queste ipotesi si basano sull'interpretazione statisticamente più comune, non sulla sua intenzione reale.

Il risultato è un output generico e anonimo che richiede un'ampia riscrittura. La specificità è la leva più potente a sua disposizione per migliorare la qualità dell'output dell'IA.

Prompt vago: scrivere sui cani

Consideri il prompt: «Scriva qualcosa sui cani.»

Il modello deve indovinare: quale formato? Quale lunghezza? Quale pubblico? Quale prospettiva? Per impostazione predefinita, produce un paragrafo sicuro e banale, adatto a un'enciclopedia per bambini.

Ora lo confronti con questo: «Scriva una didascalia Instagram di 200 parole per il primo giorno in spiaggia di un cucciolo di golden retriever. Tono: giocoso ed emozionante. Includa 5 hashtag pertinenti.»

Il secondo prompt non lascia nulla al caso.

import anthropic

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

vague = 'Write something about dogs.'
specific = (
    'Write a 200-word Instagram caption for a golden retriever puppy\'s '
    'first day at the beach. Tone: playful and emotional. '
    'End with 5 relevant hashtags.'
)

for label, prompt in [('VAGUE', vague), ('SPECIFIC', specific)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=300,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.content[0].text)
    print()

Perché si ottengono output generici

Il modello è stato addestrato su miliardi di esempi testuali. Quando dice «scriva su X», genera il tipo di testo più comune su X che ha visto durante il training.

Questo tipo di testo tende a essere:

  • Enciclopedico nel tono
  • Di lunghezza media
  • Incentrato superficialmente su tutti gli aspetti principali
  • Privo di una voce o di uno scopo distinti

I suoi vincoli specifici sovrascrivono queste impostazioni predefinite e indirizzano il modello verso la sua esigenza reale.

import openai

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

# Default (vague) output
default_response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Write about coffee.'}]
)
print('DEFAULT OUTPUT (first 200 chars):')
print(default_response.choices[0].message.content[:200])
print()

# Constrained output
constrained_response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a 100-word product description for a single-origin Ethiopian pour-over coffee. '
            'Target audience: specialty coffee enthusiasts. '
            'Tone: sophisticated, sensory. Mention flavor notes: jasmine, blueberry, dark chocolate.'
        )
    }]
)
print('CONSTRAINED OUTPUT:')
print(constrained_response.choices[0].message.content)

Le cinque dimensioni della specificità

Quando scrive un prompt, specifichi cinque dimensioni:

  1. Formato: paragrafo, elenco puntato, tabella, JSON, email
  2. Lunghezza: numero di parole, numero di frasi, numero di elementi
  3. Pubblico: chi leggerà o utilizzerà questo output
  4. Tono: formale, informale, tecnico, persuasivo, empatico
  5. Obiettivo: che cosa dovrebbe ottenere l'output

Non è sempre necessario specificarle tutte e cinque, ma ometterne anche solo una invita il modello a fare un'ipotesi errata.

import anthropic

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

# All 5 dimensions specified
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Format: 3-bullet summary.\n'
            'Length: each bullet max 20 words.\n'
            'Audience: busy startup founders with no ML background.\n'
            'Tone: direct, no jargon.\n'
            'Goal: explain why fine-tuning an LLM is expensive.'
        )
    }]
)
print(response.content[0].text)

Vago vs specifico: richieste via email

Esaminiamo la scrittura delle email, una delle attività più comuni svolte con l'IA.

Vago: «Scriva un'email al mio cliente.»
Il modello non conosce il cliente, l'argomento, il rapporto, l'obiettivo né il tono.

Specifico: «Scriva un'email di 3 paragrafi a un cliente SaaS B2B (TechFlow Inc) il cui pagamento è in ritardo di 14 giorni. Tono: fermo ma professionalmente cortese. Obiettivo: ottenere il pagamento senza danneggiare il rapporto. Includa una call to action specifica con una scadenza di 5 giorni.»

import openai

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

specific_prompt = (
    'Write a 3-paragraph professional email to a B2B SaaS client (TechFlow Inc) '
    'who has a payment 14 days overdue. '
    'Tone: firm but courteous — preserve the business relationship. '
    'Include: acknowledgment of potential oversight, the overdue amount placeholder [AMOUNT], '
    'a payment link placeholder [LINK], and a 5-day deadline. '
    'Subject line included.'
)

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

Vago vs specifico: riepilogo

Anche il riepilogo — che sembra semplice — trae enormi vantaggi dalla specificità.

Vago: «Riassuma questo articolo.»

Specifico: «Riassuma questo articolo in esattamente 3 frasi. Prima frase: risultato principale. Seconda frase: metodologia utilizzata. Terza frase: implicazione più significativa per i professionisti del settore.»

La versione con una struttura specifica è immediatamente utilizzabile; quella vaga richiede una riformattazione.

import anthropic

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

article = (
    'Researchers at MIT have developed a new neural network architecture that achieves '
    '94% accuracy on medical image diagnosis, outperforming human radiologists by 7%. '
    'The model was trained on 2.4 million anonymized X-ray images and uses a novel '
    'attention mechanism that highlights regions of interest for clinician review. '
    'The team expects FDA clearance by Q3 2025 for use as a diagnostic aid, not replacement.'
)

specific_prompt = (
    f'Summarize the following article in exactly 3 sentences:\n'
    f'Sentence 1: main finding.\n'
    f'Sentence 2: methodology.\n'
    f'Sentence 3: key implication for clinicians.\n\n'
    f'Article:\n{article}'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{'role': 'user', 'content': specific_prompt}]
)
print(response.content[0].text)

Vago vs specifico: brainstorming

I prompt per il brainstorming sono quelli in cui la vaghezza costa di più: si ottiene un elenco di idee ovvie e sovrapposte.

Vago: «Mi dia delle idee per la mia app.»

Specifico: «Mi fornisca 10 strategie di monetizzazione originali per un'app di meditazione B2C rivolta a professionisti urbani di età compresa tra 25 e 35 anni. Escluda i modelli in abbonamento (ne abbiamo già uno). Presenti ogni idea in una frase, ordinandole dalla più alla meno rischiosa.»

import openai

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

specific_brainstorm = (
    'Generate 10 unique monetization strategies for a B2C meditation app '
    'targeting 25-35 year-old urban professionals. '
    'Exclude: subscription models (already implemented). '
    'Each strategy in one sentence. '
    'Order from most to least conventional. '
    'Label each with: CONVENTIONAL / EXPERIMENTAL / BOLD.'
)

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

Usare esempi nei prompt

Una delle tecniche più efficaci per aumentare la specificità consiste nell'includere direttamente nel prompt esempi dell'output desiderato (una tecnica chiamata few-shot prompting).

Invece di descrivere il formato, lo mostri. Il modello comprende immediatamente struttura, lunghezza e tono a partire da un esempio reale, spesso in modo più chiaro che attraverso una descrizione scritta.

import anthropic

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

example_prompt = '''
Generate 3 product taglines in this style:

Example 1: Notion — 'The all-in-one workspace where better thinking happens.'
Example 2: Figma — 'Design together. Ship faster.'
Example 3: Linear — 'The issue tracker you'll actually enjoy using.'

Product: A CLI tool that automatically writes Git commit messages by analyzing your diff.
Taglines:
'''

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{'role': 'user', 'content': example_prompt}]
)
print(response.content[0].text)

Specificare cosa NON fare

I vincoli negativi sono efficaci quanto quelli positivi. Dire al modello cosa evitare aiuta a prevenire schemi indesiderati comuni:

  • «Non utilizzi elenchi puntati»
  • «Non inizi con la parola Io»
  • «Non suggerisca soluzioni che richiedono una carta di credito»
  • «Non utilizzi la forma passiva»

Abbini istruzioni positive a vincoli negativi per ottenere il massimo controllo.

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': (
                'You are a copywriter. Rules:\n'
                '- NEVER start a sentence with "Additionally" or "Furthermore"\n'
                '- NEVER use the phrase "In conclusion"\n'
                '- NEVER use passive voice\n'
                '- NEVER use bullet points or lists'
            )
        },
        {
            'role': 'user',
            'content': 'Write a 100-word about us section for a craft bakery called Morning Light.'
        }
    ]
)
print(response.choices[0].message.content)

Specificità iterativa

Non è necessario scrivere il prompt perfetto al primo tentativo. Il perfezionamento iterativo è una strategia valida:

  1. Inizi con un prompt moderatamente specifico
  2. Individui cosa non funziona o cosa manca nell'output
  3. Aggiunga vincoli per colmare queste lacune
  4. Ripeta il processo finché l'output non raggiunge il livello desiderato

Ogni iterazione insegna quali vincoli servono al modello. Salvi i prompt migliori come modelli da riutilizzare in futuro.

import anthropic

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

# Iteration 1: first attempt
v1 = 'Write a LinkedIn post about my new job.'

# Iteration 2: add specifics based on what was missing
v2 = (
    'Write a LinkedIn post (max 150 words) announcing I just joined Stripe as a Senior Engineer. '
    'Tone: genuine excitement, not bragging. '
    'Include: what drew me to the role, one thing I plan to focus on. '
    'No cliches like "excited to announce" or "humbled to share". '
    'End with a genuine question for my network.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{'role': 'user', 'content': v2}]
)
print(response.content[0].text)

Creare una checklist per la specificità

Prima di inviare qualsiasi prompt, verifichi mentalmente questi punti:

  • Ho specificato il formato dell'output? (paragrafo / elenco / JSON / tabella)
  • Ho specificato la lunghezza? (numero di parole / numero di elementi)
  • Ho specificato il pubblico destinatario? (chi leggerà il contenuto)
  • Ho specificato il tono? (formale / informale / tecnico)
  • Ho specificato l'obiettivo? (per cosa verrà utilizzato questo output)
  • Ho incluso dei vincoli? (cosa evitare)
  • Potrei aggiungere un esempio per chiarire cosa intendo?
# Prompt template with all specificity dimensions filled
prompt_template = '''
Task: {task_description}
Format: {format}
Length: {length}
Audience: {audience}
Tone: {tone}
Goal: {goal}
Do NOT: {constraints}
Example of good output: {example}
'''

filled = prompt_template.format(
    task_description='Explain what an API is',
    format='3 short paragraphs, plain prose — no bullet points',
    length='150 words maximum',
    audience='Non-technical business stakeholders',
    tone='Friendly, analogy-based, jargon-free',
    goal='Prepare them for a meeting with the engineering team',
    constraints='Do not use the words "endpoint", "REST", or "HTTP"',
    example='An API is like a waiter in a restaurant — it takes your order...'
)
print(filled)

Verifica delle conoscenze

Un responsabile marketing chiede all'AI: «Scriva un post per i social media.» L'AI restituisce un post generico di due frasi sull'azienda. Qual è la riscrittura MIGLIORE per ottenere un risultato utile?

Perché la specificità è importante — riepilogo

La specificità è il fondamento di un prompting efficace. Ecco i concetti chiave:

  • I prompt vaghi producono output statisticamente medi e generici
  • Specifichi formato, lunghezza, pubblico, tono e obiettivo in ogni prompt
  • Utilizzi vincoli negativi per prevenire schemi indesiderati
  • Includa esempi dello stile di output desiderato
  • Utilizzi il perfezionamento iterativo: nessun prompt deve essere perfetto al primo tentativo
  • Salvi i prompt efficaci come modelli da riutilizzare

Più il prompt è specifico, meno tempo dovrà dedicare alla riscrittura dell'output.

Domande Frequenti

La lezione «Perché la specificità è importante» è gratuita?

Sì — il testo completo di «Perché la specificità è importante» è 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 «Perché la specificità è importante»?

Come i prompt vaghi portano a output generici e come la precisione risolve il problema 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 1 di 4.

Quanto tempo richiede la lezione «Perché la specificità è importante»?

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. Perché la specificità è importante
  2. Eliminare l'ambiguità dai prompt
  3. Aggiungere dettagli concreti
  4. Confronto tra prompt vaghi e specifici
← Torna a AI Prompt Engineering