Sezioni modulari dei prompt
Separi con chiarezza contesto, istruzioni, vincoli e formato dell'output
Sezioni modulari dei prompt è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 2 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 dei prompt monolitici
Un prompt monolitico inserisce tutto in un unico paragrafo: contesto, attività, regole, esempi e formato dell'output sono tutti mescolati. Quando i prompt diventano più complessi, la struttura monolitica causa:
- Applicazione errata delle regole alle sezioni sbagliate
- Difficoltà nel capire quale parte abbia causato un output errato
- Stringhe di prompt impossibili da manutenere
- Comportamento incoerente tra diverse versioni del modello
I prompt modulari risolvono tutti questi problemi.
Le cinque sezioni fondamentali di un prompt
Un prompt ben strutturato ha cinque sezioni distinte, ciascuna con uno scopo chiaro:
- Contesto — informazioni di base necessarie al modello per comprendere la situazione
- Task — ciò che il modello deve fare, espresso con chiarezza
- Vincoli — regole e limiti applicabili alla risposta
- Formato dell'output — struttura, lunghezza e schema della risposta prevista
- Esempi — dimostrazioni del comportamento corretto
Non tutti i prompt necessitano di tutte e cinque le sezioni. Utilizzi solo quelle necessarie.
Sezione Contesto
La sezione Contesto fornisce informazioni di base senza dire al modello cosa fare. Un buon contesto include:
- Chi è l'utente finale
- Per quale piattaforma o prodotto è destinato
- Conoscenze pertinenti del dominio
- Qualsiasi stato precedente di cui il modello dovrebbe essere a conoscenza
context_section = '''
<context>
You are assisting a customer support agent at a B2B SaaS company.
The company sells project management software used by engineering teams.
Customers are typically CTOs, engineering managers, or senior developers.
The support agent is handling a live chat conversation with a customer.
</context>
'''
print(context_section)Sezione Task
La sezione Task indica esattamente ciò che il modello deve produrre. Deve essere specifica, orientata all'azione e priva di informazioni di contesto superflue.
task_section = '''
<task>
Draft a response to the customer message below.
The response should:
1. Acknowledge the customer's issue
2. Provide a concrete next step
3. Set a realistic expectation for resolution time
</task>
<customer_message>
Our Gantt chart view stopped loading after the last update.
This is blocking our sprint planning session today.
</customer_message>
'''
print(task_section)Sezione Vincoli
I vincoli definiscono i paletti di sicurezza — ciò che il modello NON deve fare e i limiti espliciti che deve rispettare.
constraints_section = '''
<constraints>
- Do not promise a fix by a specific date unless you are certain.
- Do not mention competitor products by name.
- Keep the response under 100 words.
- Use a professional but empathetic tone.
- Do not ask the customer for information already provided in their message.
</constraints>
'''
print(constraints_section)Sezione Formato dell'output
La sezione Formato dell'output indica al modello esattamente come strutturare la risposta — schema JSON, intestazioni Markdown, testo normale, elenchi numerati e così via.
output_format_section = '''
<output_format>
Respond with a JSON object containing:
{
"subject": "string (email subject line)",
"body": "string (email body, plain text, under 150 words)",
"priority": "high | medium | low",
"escalate": true | false
}
Do not include any text outside the JSON object.
</output_format>
'''
print(output_format_section)Sezione Esempi
Gli esempi mostrano al modello una coppia corretta input-output. Inserisca gli esempi dopo i vincoli, così il modello vede le regole prima della dimostrazione.
examples_section = '''
<examples>
<example>
<input>Customer: My invoices are not downloading.</input>
<output>{
"subject": "Invoice Download Issue",
"body": "Thank you for reaching out. We see the issue with invoice downloads and our team is investigating. We expect a fix within 2 hours. We will email you once resolved.",
"priority": "high",
"escalate": true
}</output>
</example>
</examples>
'''
print(examples_section)Assemblare un prompt modulare
L'approccio modulare rende semplice l'assemblaggio e la modifica. Ogni sezione può essere modificata indipendentemente.
def build_support_prompt(customer_message):
context = '<context>B2B SaaS customer support for project management software.</context>'
task = f'<task>Draft a JSON response to this customer message.</task>\n<customer_message>{customer_message}</customer_message>'
constraints = '<constraints>Under 100 words. Professional tone. No competitor names.</constraints>'
output_fmt = '<output_format>Return JSON: {"subject": str, "body": str, "priority": str, "escalate": bool}</output_format>'
return '\n\n'.join([context, task, constraints, output_fmt])
message = 'The Gantt chart stopped loading after your last update.'
print(build_support_prompt(message))Vantaggi per il debugging
Quando un prompt modulare produce un output errato, è possibile isolare la sezione problematica:
- È stata eseguita l'attività sbagliata? — Controlli la sezione Task
- È stata violata una regola? — Controlli la sezione Vincoli
- La struttura dell'output è errata? — Controlli la sezione Formato dell'output
- La qualità è scarsa? — Controlli la sezione Esempi o aggiunga altro contesto
Può modificare una sezione alla volta e ripetere il test senza riscrivere l'intero prompt.
Vantaggi per la manutenzione
I prompt archiviati come oggetti strutturati o funzioni sono molto più facili da manutenere rispetto alle lunghe stringhe letterali:
- Aggiorni il contesto quando il prodotto cambia senza modificare la logica del task
- Sostituisca il formato dell'output da JSON a Markdown senza modificare i vincoli
- Esegua test A/B su diversi set di esempi mantenendo invariato tutto il resto
- Gestisca il controllo versione delle singole sezioni in modo indipendente
class Prompt:
def __init__(self):
self.context = ''
self.task = ''
self.constraints = []
self.output_format = ''
self.examples = []
def build(self):
parts = []
if self.context:
parts.append(f'<context>\n{self.context}\n</context>')
if self.task:
parts.append(f'<task>\n{self.task}\n</task>')
if self.constraints:
c = '\n'.join(f'- {r}' for r in self.constraints)
parts.append(f'<constraints>\n{c}\n</constraints>')
if self.output_format:
parts.append(f'<output_format>\n{self.output_format}\n</output_format>')
return '\n\n'.join(parts)Quando omettere le sezioni
Non tutti i prompt necessitano di tutte e cinque le sezioni. Utilizzi questa guida:
- Ometta Contesto quando l'attività è autoesplicativa (ad esempio, tradurre questa frase)
- Ometta Vincoli per attività di estrazione semplici e prive di casi limite
- Ometta Esempi quando l'attività è semplice o il modello la esegue già bene in modalità zero-shot
- Includa sempre Task e Formato dell'output — sono le sezioni minime necessarie
Specificare eccessivamente i prompt semplici aggiunge rumore senza alcun beneficio.
Verifica rapida
Un prompt modulare produce una struttura di output errata. Quale sezione dovrebbe controllare per prima?
Sezioni modulari — concetti chiave
Le sezioni modulari dei prompt sono alla base di un prompt engineering manutenibile e facile da sottoporre a debugging:
- Cinque sezioni fondamentali: Contesto, Task, Vincoli, Formato dell'output, Esempi
- Ogni sezione ha una singola responsabilità — mescolarle crea confusione
- La struttura modulare consente il debugging sezione per sezione e i test A/B
- Conservi i prompt come oggetti strutturati o funzioni, non come stringhe grezze
- Ometta le sezioni non necessarie — specificare eccessivamente aggiunge rumore
- Includa sempre almeno Task e Formato dell'output per ogni prompt non banale
Domande Frequenti
La lezione «Sezioni modulari dei prompt» è gratuita?
Sì — il testo completo di «Sezioni modulari dei 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 «Sezioni modulari dei prompt»?
Separi con chiarezza contesto, istruzioni, vincoli e formato dell'output 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 2 di 4.
Quanto tempo richiede la lezione «Sezioni modulari dei 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