Il mito del Prompt perfetto. Ogni comando è parte di un discorso.

Illustration Artwork by Federico Berti. Created with Gimp/Fotor

Il termine Craft nei prompting di modellizzazione si riferisce all’arte e alla tecnica di scrivere istruzioni dettagliate e ben strutturate per ottenere risultati ottimali dai sistemi generativi. I principi di base nella scrittura di un prompt, sebbene non formalizzati in modo univoco per tutti, si sono venuti a formare nella pratica e nelle strategie adottate dagli esperti di settore. Li ritroviamo nei tutorial di base e sono più o meno sempre gli stessi: chiarezza, precisione, contestualizzazione, esclusione, iterazione, ottimizzazione, adattamento al modello, bilanciamento fra dettaglio e sintesi. Non entro nel merito, perché di materiale su questo tema ridonda la rete e non ha molto senso aggiungere rumore al rumore.

Per il momento basterà prendere atto che questi principi costituiscono la base delle strategie di prompt engineering e sono supportati dalla condivisione di esperienze generative attraverso la rete. Tuttavia per quanto si possa padroneggiare la scrittura dei prompt, non otterremo mai in modo automatico e consequenziale un controllo perfetto dei risultati: chi utilizza questi modelli a un livello avanzato sa che non è così, non può esserlo di principio in quanto i modelli generativi lavorano in realtà su base probabilistica e non deterministica, dunque interpretano i prompt in modo approssimativo, non secondo un principio di causa ed effetto.

Anche con prompt dettagliatissimi insomma, la generazione di output identici o perfettamente aderenti alle richieste è praticamente impossibile: il risultato non dipende in realtà dall’accuratezza del prompt, ma da una relazione progressiva che viene a instaurarsi tra l’utente e il sistema. Ogni risultato è parte di un lungo processo, unico e irripetibile: nessun prompt ottiene mai due volte lo stesso risultato, ma cambia in base a chi lo utilizza, al discorso impostato nella chat di pertinenza, e al rapporto che l’utente ha instaurato con quel sistema, oltre che all’evoluzione del sistema stesso.

Per questo motivo una serie di comandi che funzionino per me oggi, potrebbero non funzionare per te domani: è il processo che noi dobbiamo comprendere, non il singolo comando, che non rispondendo a un principio di causalità non dev’essere mai reificato. Questo mette in discussione la blaterologia del Craft, spesso invocata da chi attribuisce un’intelligenza insita nel sistema di modellizzazione: paradossalmente, a volte si ottengono risultati migliori con un prompt scritto male, cosa del tutto controintuitiva rispetto al modo tradizionale di lavorare. Quello che possiamo condividere, più che il singolo prompt, sono metodologie di relazione con il sistema, per confrontare tra loro le diverse modalità di approccio.

Un aspetto da tenere presente è l’aspettativa degli utenti a cui il sistema si rivolge: i sistemi generalistici, come abbiamo visto, sono pensati per le masse, non per un impiego verticalizzato su un compito specifico. Un pubblico di massa tende ad avere aspettative relativamente sotto-dimensionate rispetto a chi vuole fare un uso più avanzato di questi strumenti.

Molti si accontentano di risultati relativamente mediocri, come si legge nella maggior parte dei tutorial. Questo potrebbe spiegare perché la regoletta del Craft venga per lo più sopravvalutata: si tende a mostrare solo i successi, non l’alta variabilità e i fallimenti che sono invece la norma nel lavoro quotidiano con l’IA, tanto più se consideriamo che questi modelli sono in costante evoluzione, con feature, task e token che cambiano sempre.

L’unica cosa che possiamo fare è usarli in modo collaborativo, confrontando i nostri risultati con quelli di altre persone per adattare il nostro workflow, partendo però dal presupposto che non può esistere un prompt perfetto, al contrario di quanto si legge nella blaterologia del crafting. Certo, nonostante i limiti, il prompt engineering resta uno strumento concettuale utile per ridurre la probabilità di errori grossolani, standardizzare le richieste e facilitare il conseguimento di risultati simili. Può aiutare a comunicare meglio le proprie intenzioni al sistema, ma è fondamentale chiarire che la regoletta non trasforma un modello probabilistico in uno strumento deterministico. La variabilità e l’interpretazione approssimativa fanno parte del presupposto fondamentale dietro a questo tipo di strumenti, e con quella bisogna misurarsi, specialmente quando si iniziano a porre obiettivi più ambiziosi rispetto allo standard per cui il sistema è progettato.

Il prompt engineering può insomma dare l’illusione del controllo in un sistema probabilistico, ma se vogliamo davvero progredire nell’applicazione di questi sistemi dobbiamo chiederci quali siano i limiti del modello con cui stiamo lavorando, per poterli sfruttare al massimo e confrontarli con le nostre aspettative. Di queste cose dovrebbe tenere conto chi realizza tutorial per l’uso dei sistemi di modellizzazione, cosa che in genere non avviene poiché i tutorial, rivolgendosi a un pubblico generico e di massa, tendono a livellare le aspettative proponendo test semplici su compiti elementari che possono interessare l’utente medio. Non vanno oltre, poiché quell’oltre non porta clic, non è monetizzabile.

Quando si vuole fare il salto di qualità nell’applicazione dei sistemi di modellizzazione generativa, bisogna fare valutazioni diverse, prendendo atto dei limiti relativi al prompt engineering e alla blaterologia del craft, ragionando su un altro ordine di idee. Chi ha prodotto quel sistema? A quale scopo? Quali sono i suoi limiti? Come posso aggirarli, implementarli, sfruttarli al meglio? Cosa posso ottenere da quel sistema e cosa invece non posso aspettarmi? Queste sono domande che presuppongono ovviamente una padronanza di base nell’impiego di questi sistemi, ma che vanno ben oltre il singolo comando, che decontestualizzato dalla relazione individuale, unica e irripetibile, tra l’utente e il sistema, perde completamente di significato. Confrontiamo relazioni, processi, modalità di approccio, interrompiamo la disinformazione dell’utente rispetto a quello che può realmente aspettarsi da un sistema generativo.

Condividi