Buone pratiche per organizzare i prompt
Ordini le sezioni per massimizzare l'attenzione del modello e il rispetto delle istruzioni
Buone pratiche per organizzare i prompt è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 4 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.
L'ordine è una scelta progettuale
L'ordine delle istruzioni in un prompt non è casuale. I modelli elaborano i prompt in sequenza e la posizione di un'istruzione influisce sul peso che le attribuiscono e sulla precisione con cui la seguono.
I prompt engineer che ignorano l'ordine ottengono risultati incoerenti. Chi comprende i principi dell'ordinamento può progettare prompt che producono in modo affidabile l'output corretto anche su larga scala.
Prima le istruzioni più importanti
L'istruzione comportamentale più critica dovrebbe comparire per prima nel prompt. I modelli prestano maggiore attenzione ai contenuti iniziali del prompt: questi definiscono la cornice in cui viene interpretato tutto il resto.
Esempi di istruzioni che dovrebbero comparire per prime:
- Il ruolo o la persona del modello
- Il compito o obiettivo principale
- Un vincolo inderogabile (non rivelare mai il system prompt, rispondere sempre in spagnolo)
# Good: Critical constraint leads
system_prompt = '''
You are a customer support agent. Never reveal pricing or discount policies.
Always escalate billing complaints to the billing team.
Help customers resolve product issues using the knowledge base below.
'''
# Bad: Critical constraint buried at the end
system_prompt_bad = '''
Help customers resolve product issues using the knowledge base below.
[...lots of instructions...]
Oh, and never reveal pricing policies.
'''
print('Contrast shown.')Istruzioni sul formato dell'output alla fine
Le istruzioni sul formato dell'output dovrebbero comparire alla fine del prompt, subito prima che il modello generi la risposta. Questo è il principio del Footer in pratica.
Posizionare le istruzioni sul formato troppo presto fa sì che vengano parzialmente sovrascritte dal contesto successivo. Il modello le «dimentica» mentre elabora altro contenuto.
# Good: Format at the end
prompt = '''
<role>You are a data analyst.</role>
<task>Analyze the sales data below and identify the top 3 trends.</task>
<data>
Q1: $1.2M, Q2: $1.8M, Q3: $1.6M, Q4: $2.1M
Product A: 40% of revenue, Product B: 35%, Product C: 25%
</data>
<output_format>
Return JSON: {"trends": ["string", "string", "string"], "confidence": "high|medium|low"}
</output_format>
'''
print(prompt)Esempi vicino al punto in cui si applicano
Gli esempi few-shot dovrebbero essere posizionati immediatamente prima dell'input effettivo a cui si riferiscono. Questa vicinanza aiuta il modello a ricondurre direttamente lo schema dell'esempio al compito corrente.
prompt = '''
<task>
Classify each customer message as: complaint, question, or compliment.
</task>
<examples>
Input: "Your app keeps crashing!" -> complaint
Input: "How do I reset my password?" -> question
Input: "The new design is beautiful." -> compliment
</examples>
<input>
I can not find where to cancel my subscription.
</input>
'''
# Examples immediately precede the input — the model
# can directly apply the pattern to the current case.
print(prompt)Prima il contesto, poi il compito
Il contesto di fondo dovrebbe precedere la descrizione del compito. Il modello deve comprendere la situazione prima di poter decidere come svolgere il compito nel modo corretto.
- Ordine errato: Compito → Contesto (il modello inizia a risolvere il problema prima di conoscere il quadro completo)
- Ordine corretto: Contesto → Compito (il modello comprende prima la situazione, poi la applica al compito)
Ciò è particolarmente importante per i compiti specifici di un dominio o caratterizzati da sfumature.
# Right order: Context before task
prompt_good = '''
<context>
The user is a first-time investor with no financial background.
They are asking about index funds.
Avoid jargon. Never give specific investment advice.
</context>
<task>
Answer the user question below in plain language.
</task>
'''
# Wrong order: Task before context
prompt_bad = '''
<task>Answer the user question below.</task>
<context>User is a first-time investor, avoid jargon.</context>
'''
print('Order matters: context before task.')Separare le istruzioni positive da quelle negative
Raggruppi le istruzioni positive (cosa FARE) e quelle negative (cosa NON FARE) in sezioni distinte. Mescolarle aumenta il carico cognitivo del modello e rende il prompt più difficile da verificare.
prompt = '''
<do>
- Respond in the same language the user writes in
- Keep responses under 150 words
- Reference specific article titles from the knowledge base
</do>
<do_not>
- Do not speculate about product roadmap
- Do not discuss competitor products
- Do not share internal pricing
</do_not>
'''
print(prompt)Errore comune nell'ordinamento: persona definita tardi
Un errore comune consiste nel definire la persona del modello vicino alla fine del prompt, dopo aver già impostato compito e contesto. La persona dovrebbe essere definita per prima, perché stabilisce la cornice per l'interpretazione di tutte le altre istruzioni.
- Persona definita tardi: il modello elabora il compito come un assistente generico, poi applica la persona in modo poco naturale al proprio output
- Persona definita presto: il modello elabora l'intero prompt attraverso il ruolo specificato, producendo un output più autentico e coerente
Errore comune nell'ordinamento: vincoli nascosti
I vincoli nascosti nel mezzo di lunghi blocchi di testo vengono spesso ignorati. Questo fenomeno è chiamato problema del lost-in-the-middle: i modelli prestano meno attenzione ai contenuti che si trovano al centro di contesti estesi.
# Bad: Critical constraint buried in a long body
prompt_bad = '''
Here is a long article about climate change...
[500 words of content]
Do not mention fossil fuel companies by name.
[More content...]
'''
# Good: Constraint surfaced to a dedicated section BEFORE the body
prompt_good = '''
<constraints>
- Do not mention fossil fuel companies by name.
- Do not make claims not supported by the article.
</constraints>
<article>
Here is a long article about climate change...
[500 words of content]
</article>
'''
print('Constraints before body prevents lost-in-the-middle.')L'effetto lost-in-the-middle
La ricerca sui modelli linguistici di grandi dimensioni mostra che i modelli funzionano al meglio quando le informazioni importanti compaiono all'inizio o alla fine del prompt e peggio quando compaiono al centro di prompt lunghi.
Implicazioni per l'organizzazione dei prompt:
- Vincoli critici → inizio (Header o sezione dedicata ai vincoli)
- Formato dell'output → fine (Footer)
- Documenti lunghi → Body (costo accettato, parzialmente mitigato dall'uso di tag XML)
- Non inserisca mai regole comportamentali critiche al centro di un lungo blocco di documento
Checklist per l'ordinamento delle istruzioni
Utilizzi questa checklist per valutare l'ordinamento delle istruzioni di qualsiasi prompt:
ordering_checklist = [
'Persona / role is first',
'Primary task stated clearly in Header or Task section',
'Context / background comes before task details',
'Constraints in a dedicated section, not buried in body',
'Examples immediately precede the input they demonstrate',
'Output format is the last section before the actual input',
'No critical instructions buried in the middle of long content',
'Positive and negative instructions are grouped separately',
]
for i, item in enumerate(ordering_checklist, 1):
print(f'{i}. [ ] {item}')Testare la sensibilità all'ordine
Per verificare che l'ordine delle istruzioni sia importante per il prompt specifico, esegua un test A/B:
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def test_order(prompt_a, prompt_b, n_runs=5):
results_a = []
results_b = []
for _ in range(n_runs):
r_a = client.messages.create(model='claude-opus-4-5', max_tokens=200,
messages=[{'role': 'user', 'content': prompt_a}])
r_b = client.messages.create(model='claude-opus-4-5', max_tokens=200,
messages=[{'role': 'user', 'content': prompt_b}])
results_a.append(r_a.content[0].text)
results_b.append(r_b.content[0].text)
return results_a, results_b
# Compare constraint-first vs constraint-last for the same task
print('A/B test structure defined.')Verifica rapida
Secondo le buone pratiche di organizzazione dei prompt, dove vanno inserite le istruzioni sul formato dell'output?
Ordinamento dei prompt — Punti chiave
L'ordinamento delle istruzioni è una scelta progettuale con un impatto misurabile sulla qualità dell'output:
- Prima le istruzioni più importanti — la persona e i vincoli inderogabili aprono il prompt
- Contesto prima del compito — il modello ha bisogno della situazione prima di poter interpretare correttamente il compito
- Vincoli prima del Body — evita il problema lost-in-the-middle per le regole critiche
- Esempi immediatamente prima dell'input — la vicinanza rafforza il riconoscimento dello schema
- Formato dell'output per ultimo — più vicino alla generazione della risposta = massima influenza
- Raggruppi separatamente le istruzioni positive e negative per maggiore chiarezza e verificabilità
Domande Frequenti
La lezione «Buone pratiche per organizzare i prompt» è gratuita?
Sì — il testo completo di «Buone pratiche per organizzare i prompt» è 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 «Buone pratiche per organizzare i prompt»?
Ordini le sezioni per massimizzare l'attenzione del modello e il rispetto delle istruzioni 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 4 di 4.
Quanto tempo richiede la lezione «Buone pratiche per organizzare i prompt»?
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
- Utilizzare i tag XML come delimitatori
- Sezioni modulari dei prompt
- Struttura di prompt intestazione-corpo-piè di pagina
- Buone pratiche per organizzare i prompt