Prompt Engineering — Cheat Sheet

Tag: prompt-engineering, llm, system-prompt, few-shot, chain-of-thought, rag

Livello: intermedio

TL;DR: Tecniche operative per strutturare istruzioni, contesti, vincoli e output deterministici nei modelli linguistici.

Concetti chiave

Zero-shot: richiesta diretta di esecuzione senza esempi forniti nel contesto.

Few-shot: inclusione di esempi di input e output per guidare formato e stile.

Chain-of-thought: forzatura del ragionamento passo-passo prima della risposta finale per compiti complessi.

System prompt: definizione di ruolo, vincoli operativi, contesto di esecuzione e policy di sicurezza.

Delimitatori: separatori espliciti per isolare istruzioni di sistema, dati utente e documenti esterni.

Structured output: imposizione di schemi precisi come JSON Schema o formati serializzati.

Prompt injection: vulnerabilità in cui l'input utente altera o aggira le istruzioni di sistema.

Context window: limite di token gestibili dal modello, che impone pruning e strategie RAG mirate.

Parametri di sampling: temperature controlla la casualità; top_p imposta il campionamento per probabilità cumulata.

Domande tipiche e risposte pronte

Q: Come riduci le allucinazioni in compiti analitici complessi?R: Isolo il contesto con delimitatori, impongo l'approccio chain-of-thought per validare ogni passaggio logico e richiedo citazioni esatte dei dati forniti senza extrapolazioni.

Q: Quando conviene usare few-shot invece del fine-tuning?R: Uso few-shot quando il formato o il tono devono essere standardizzati rapidamente senza costi di training, passando al fine-tuning solo se servono latenza minima o volumi scalabili di dati stilistici.

Q: Come gestisci la generazione di JSON valido e deterministico?R: Definisco lo schema formale nel prompt di sistema, attivo il constraint JSON mode o lo schema enforcement e aggiungo un esempio minimale di output atteso.

Insidie e errori comuni

Istruzioni negative: dire cosa non fare invece di specificare chiaramente il comportamento atteso.

Ambiguità nei delimitatori: mescolare input non fidato con le istruzioni di sistema.

Token explosion: inviare contesto ridondante saturando la finestra e degradando l'attenzione.

Output non parsabile: omissione di vincoli sintattici stretti che produce markdown o testo libero attorno a dati strutturati.

Confusione tra temperature e top_p: modificare entrambi contemporaneamente rendendo non riproducibili i test di sampling.

Snippet e comandi

{
  "role": "system",
  "content": "Sei un analista dati. Rispondi solo in formato JSON valido conforme allo schema:\n{\"status\": \"success\" | \"error\", \"code\": number, \"message\": string}."
}

Markdown

### Contesto

xml

<documento id="doc_1">

Dati tecnici del rilascio v2.1.0...

</documento>


### Istruzioni
Analizza esclusivamente il testo compreso nei tag . Estrai i bug risolti elencandoli punto per punto.

Da ripassare

  • [ ] Tecniche di mitigazione per indirect prompt injection
  • [ ] Schema enforcement tramite JsonSchema e Function Calling
  • [x] Differenza tra zero-shot e few-shot prompting
  • [x] Regolazione di temperature e top_p per task deterministici

```

Jarvis Interviews
Jarvis