Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Prompt Engineering

Il prompt engineering progetta istruzioni, contesto ed esempi forniti a un modello di IA per indirizzarne l'output senza riaddestrarlo, dagli LLM alla visione artificiale.

Il prompt engineering consiste nel progettare l'input fornito a un modello generativo, comprese le istruzioni, il contesto, gli esempi e il formato di output richiesto, per orientare ciò che il modello produce senza modificare i suoi pesi. Si è affermato con GPT-3: in Language Models are Few-Shot Learners (2020), OpenAI ha mostrato che un modello con 175 miliardi di parametri poteva svolgere nuovi compiti senza aggiornamenti del gradiente quando il prompt descriveva il compito e forniva alcuni esempi; lo studio definisce questa capacità apprendimento in contesto. Oggi il prompt è il mezzo principale per controllare modelli linguistici di grandi dimensioni (LLM), modelli visione-linguaggio (VLM), generatori da testo a immagine e modelli di visione basati su prompt.

Tecniche principali#

  • Istruzioni e ruoli: Un prompt di sistema definisce il ruolo, le regole e il pubblico del modello, mentre delimitatori come intestazioni o tag in stile XML separano le istruzioni dai dati elaborati.
  • Esempi few-shot: Coppie input-output svolte mostrano il compito e il formato della risposta con maggiore precisione rispetto a una descrizione. Un prompt senza esempi è zero-shot.
  • Formato di output: Il prompt specifica il formato, ad esempio un elenco o JSON con chiavi definite. Quando il codice deve analizzare il risultato, gli output strutturati impongono uno schema durante la decodifica, invece di affidarsi alla richiesta.
  • Prompting chain-of-thought: Richiedere passaggi intermedi del ragionamento prima della risposta, migliorando l'accuratezza nei problemi a più passaggi.
  • Concatenamento dei prompt: Suddividere un'attività complessa in più prompt, ciascuno con un compito circoscritto, collegati dal codice.
  • Contesto recuperato: Inserire documenti o dati trovati tramite ricerca affinché il modello risponda basandosi sui fatti forniti anziché sulla memoria.

I fatti forniti riducono le allucinazioni, e la loro posizione è importante: lo studio Lost in the Middle ha rilevato che i modelli usano meglio le informazioni quando compaiono all'inizio o alla fine di una lunga finestra di contesto, e peggio quando sono sepolte nel mezzo.

L'effetto degli esempi si vede più chiaramente su un modello base mai sottoposto a fine-tuning delle istruzioni. Questo frammento fornisce a GPT-2, caricato con Transformers di Hugging Face, la stessa istruzione, con e senza tre esempi:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")

# The same instruction, without and with three worked examples that show the answer format
instruction = "Convert each country to its capital city.\n"
prompts = {
    "zero-shot": instruction + "Italy:",
    "few-shot": instruction + "France: Paris\nJapan: Tokyo\nCanada: Ottawa\nItaly:",
}

for name, prompt in prompts.items():
    inputs = tokenizer(prompt, return_tensors="pt")
    output = model.generate(**inputs, max_new_tokens=4, do_sample=False, pad_token_id=tokenizer.eos_token_id)
    completion = tokenizer.decode(output[0, inputs.input_ids.shape[1] :])
    print(f"{name}: {completion!r}")

Stampa zero-shot: '\n\nItaly is' e few-shot: ' Rome\nSpain:'. La sola istruzione ha portato GPT-2 a scrivere prosa sull'Italia, mentre i tre esempi lo hanno indotto a rispondere "Roma" nel formato previsto e a continuare lo schema con il paese successivo.

La progettazione dei prompt è empirica#

Piccole modifiche alla formulazione o all'impaginazione possono cambiare notevolmente i risultati. Melanie Sclar e colleghi hanno misurato differenze di accuratezza fino a 76 punti su LLaMA-2-13B dovute alle sole modifiche di formattazione, come separatori, uso delle maiuscole e spaziatura; la sensibilità è rimasta anche con modelli più grandi, più esempi e il fine-tuning delle istruzioni. I prompt vengono quindi sviluppati come il codice: testati su un insieme fisso di input con output corretti noti, rivisti in base agli errori e versionati, una pratica abituale di LLMOps.

Il ciclo può essere automatizzato. Automatic Prompt Engineer (APE), sviluppato da Yongchao Zhou e colleghi, fa proporre a un LLM istruzioni candidate e conserva quelle che ottengono i punteggi migliori sugli esempi; in Large Language Models Are Human-Level Prompt Engineers, le sue istruzioni hanno eguagliato o superato quelle scritte da persone in 19 attività su 24.

Prompt per i modelli di visione#

Nella visione artificiale, i prompt assumono diverse forme. I generatori da testo a immagine come Stable Diffusion rispondono a descrizioni del soggetto, dello stile, dell'illuminazione e della composizione, oltre che a prompt negativi che elencano gli elementi da evitare. I modelli di segmentazione interrogabili accettano prompt visivi come punti e riquadri, e SAM 3 di Meta accetta anche brevi sintagmi nominali e segmenta ogni istanza del concetto indicato; Ultralytics Platform lo usa per l'annotazione automatica guidata da prompt testuali.

I rilevatori a vocabolario aperto trasformano i nomi delle classi in prompt. Ultralytics YOLOE rileva e segmenta tutte le classi indicate da set_classes(), come "carrello elevatore" o "autobus a due piani", confrontando le caratteristiche delle regioni con i vettori di embedding testuali di quei nomi; la formulazione cambia quindi direttamente ciò che il modello rileva. Poiché la corrispondenza si basa sull'aspetto, i prompt che dipendono dallo stato, dalla posizione o da un confronto, come "danneggiato", "il più a sinistra" o "quello trasportato", non hanno un riferimento visivo affidabile; funzionano meglio i nomi vicini alle categorie di uso comune.

  • Prompt tuning: Apprende vettori di prompt continui tramite discesa del gradiente su dati etichettati. Il prompt engineering consiste nello scrivere il prompt a mano in linguaggio naturale.
  • Fine-tuning: Modifica i pesi del modello addestrandolo su un dataset etichettato. Il prompt engineering lascia invariato il modello e opera in fase di inferenza.
  • Context engineering: Comprende tutto ciò che entra nel contesto del modello in un'applicazione, inclusi i documenti recuperati, i risultati degli strumenti e la memoria. Il prompt engineering riguarda la scrittura delle istruzioni e degli esempi.
  • Prompt injection: Un attacco che nasconde istruzioni nel testo o nelle immagini letti dal modello, facendole prevalere sul prompt dello sviluppatore.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning