Tecniche di Prompt Engineering: Guida all’Ottimizzazione degli LLM
La prompt engineering è l’arte e la scienza di progettare sistematicamente gli input per ottenere dai modelli di IA l’output desiderato. Strategie corrette di prompt possono aumentare le prestazioni del modello fino al 50%.
Fondamenti di Prompt Engineering
Anatomia di un Prompt
Un prompt efficace è composto dai seguenti elementi:
- System Instruction: Ruolo del modello e regole comportamentali
- Context: Informazioni di background relative al compito
- Example(s): Esempi del formato di output desiderato
- Task: Richiesta o domanda specifica
- Output Format: Struttura attesa della risposta
Struttura Base del Prompt
1[Role Definition] 2You are a {field of expertise} expert. 3 4[Context] 5{Relevant information} 6 7[Task] 8{Specific request} 9 10[Format] 11{Expected output format}
Tecniche di Prompt di Base
1. Zero-Shot Prompting
Definizione diretta del compito senza fornire esempi:
Summarize the following text: {text}
Casi d’uso:
- Compiti semplici
- Domande di conoscenza generale
- Classificazione
2. Few-Shot Prompting
Definizione del compito con esempi:
1Text: "This product is great, I am very satisfied" 2Sentiment: Positive 3 4Text: "It was a terrible experience, I do not recommend it" 5Sentiment: Negative 6 7Text: "It's okay for the price" 8Sentiment: ?
Buone Pratiche:
- 3-5 esempi sono generalmente sufficienti
- Aggiungere vari edge case
- Ordinare gli esempi in modo casuale
3. Chain-of-Thought (CoT)
Ragionamento passo dopo passo:
1Question: A store has 15 apples. 8 apples were sold, 2then 6 more apples arrived. How many apples are there? 3 4Let's think step by step: 51. Initially there are 15 apples 62. 8 apples sold: 15 - 8 = 7 apples left 73. 6 apples arrived: 7 + 6 = 13 apples 8 9Answer: 13 apples
4. Self-Consistency
Percorsi di ragionamento diversi per la stessa domanda:
1Solve this problem in 3 different ways and choose the most consistent answer: 2 3[Problem]
5. Tree of Thoughts (ToT)
Albero di pensiero ramificato:
1Problem: {complex problem} 2 3Thought 1: {approach A} 4 → Sub-thought 1.1: {detail} 5 → Sub-thought 1.2: {detail} 6 7Thought 2: {approach B} 8 → Sub-thought 2.1: {detail} 9 10Evaluate and select the most suitable path.
Tecniche Avanzate
ReAct (Reasoning + Acting)
Ciclo di pensiero e azione:
1Question: How many times larger is Istanbul's population than Paris? 2 3Thought: I need to find the population of both cities 4Action: [search] Istanbul population 5Observation: Istanbul population ~16 million 6 7Thought: Now I need to find Paris population 8Action: [search] Paris population 9Observation: Paris population ~2.2 million 10 11Thought: I can calculate the ratio 12Action: [calculate] 16 / 2.2 13Observation: 7.27 14 15Answer: Istanbul's population is approximately 7.3 times larger than Paris.
Constitutional AI Prompting
Definizione di regole etiche e di sicurezza:
1System: You are a helpful assistant. 2 3Rules: 41. Do not generate harmful content 52. Do not share personal information 63. Do not help with illegal activities 74. Always be honest 8 9User question: {question}
Role Prompting
Definizione di un’area specifica di competenza:
1You are a cybersecurity expert with 20 years of experience. 2You have worked as a CISO in Fortune 500 companies. 3You can explain technical details clearly and understandably. 4 5User's question: {question} 6## Strategie di Ottimizzazione dei Prompt 7 8### 1. Aumentare la Specificità 9 10❌ Male:
Write a blog post
✅ Bene:
Target audience: Software developers Topic: Docker container security Length: 1500-2000 words Tone: Technical but accessible Format: Introduction, 5 main sections, conclusion
1 2### 2. Definire il Formato di Output 3
Provide your response in this JSON format: { "summary": "string", "key_points": ["string"], "next_steps": ["string"], "confidence_score": number }
1 2### 3. Negative Prompting 3 4Specificare comportamenti indesiderati: 5
Do NOT do the following:
- Give speculative information
- Make claims without citing sources
- Lead the user
- Give excessively long answers
1 2### 4. Uso dei Delimitatori 3 4Chiarire le sezioni: 5
###CONTEXT### {context information}
###TASK### {work to be done}
###FORMAT### {output format}
1 2## Ottimizzazioni Specifiche per Modello 3 4### Per GPT 5
- Use System message effectively
- Activate JSON mode: response_format={"type": "json_object"}
- Temperature: 0.7-1.0 for creative tasks, 0.1-0.3 for analytical
1 2### Per Claude 3
- Use XML tags: <context>, <task>, <format>
- Put important information at the end in long context
- Evaluate Thinking tags
1 2### Per Gemini 3
- Optimize for multimodal prompts
- Up-to-date information with Grounding
- Adjust Safety settings
1 2## Test e Iterazione dei Prompt 3 4### Framework di A/B Testing 5
Prompt A: {version 1} Prompt B: {version 2}
Metrics:
- Accuracy: %
- Consistency: 1-5
- Latency: ms
- Token usage: #
1 2### Versionamento dei Prompt 3
prompt_v1.0: First version prompt_v1.1: Typo corrections prompt_v2.0: CoT added prompt_v2.1: Output format changed
1 2## Gestione dei Prompt a Livello Enterprise 3 4### Creazione di una Libreria di Prompt 5
/prompts /classification - sentiment_analysis.json - intent_detection.json /generation - blog_writer.json - code_reviewer.json /extraction - entity_extraction.json - data_parsing.json
1 2### Sistema di Template per Prompt 3 4```python 5class PromptTemplate: 6 def __init__(self, template, variables): 7 self.template = template 8 self.variables = variables 9 10 def render(self, **kwargs): 11 return self.template.format(**kwargs) 12 13# Usage 14sentiment_prompt = PromptTemplate( 15 template="Analyze sentiment: {text}", 16 variables=["text"] 17)
Errori Comuni e Soluzioni
Errore 1: Prompt eccessivamente vago
Problema: Il modello non capisce cosa vuoi
Soluzione: Aggiungi istruzioni ed esempi specifici
Errore 2: Prompt molto lungo
Problema: Superamento del limite di token, aumento dei costi
Soluzione: Rimuovere informazioni non necessarie, usare riassunti
Errore 3: Istruzioni in conflitto
Problema: Il modello si comporta in modo incoerente
Soluzione: Dare priorità e chiarire le regole
Errore 4: Allucinazioni
Problema: Il modello fornisce informazioni inventate
Soluzione: Grounding, richiesta di citazioni, abbassare la temperatura
Conclusione
La prompt engineering è un fattore critico nel successo dei progetti di AI. È possibile aumentare significativamente le prestazioni del modello con tecniche corrette e un approccio sistematico.
In Veni AI sviluppiamo strategie di prompt personalizzate per i nostri clienti aziendali. Contattaci per supporto professionale.
