Condizionare il comportamento di un LLM tramite prompt, pre-prompting e pseudo RAG
La prima è il cosiddetto prompt engineering, vale a dire il modo in cui si impartiscono al modello le istruzioni contenutistiche, operative e stilistiche sul testo da produrre; per essere ancora più chiari, si tratta del comando che l'utente digita al modello. Già qui si possono definire le caratteristiche desiderate, fornendo istruzioni chiare, esempi o restrizioni. Ad esempio:
Un'altra tecnica è il pre-prompting, o system message, che consiste nel fornire al modello una serie di istruzioni prima che inizi l'interazione con l'utente, stabilendo il contesto e le regole della conversazione. Ad esempio:
Infine la pseudo RAG consente al modello di avere a disposizione dei documenti sull'argomento specifico della conversazione, in modo da rispondere con maggiore accuratezza sui contenuti. È una tecnica molto utile impiegando il modello in un ambito specifico. Ad esempio:
A questo punto risulta evidente che combinare queste tre tecniche, per quanto tutte molto soft, permette di orientare in modo significativo la produzione di un LLM, pur senza modificarlo. Immagine generata con Craiyon.
Addestrare un LLM o anche solo raffinarlo in funzione delle proprie esigenze specifiche non è alla portata di tutti. Per training e fine-tuning, chiamando le due operazioni con i rispettivi nomi inglesi, occorrono infatti risorse hardware estremamente potenti e competenze informatiche decisamente elevate.
Tuttavia esistono alcune tecniche molto più abbordabili da entrambi i punti di vista che consentono di condizionare il comportamento di un LLM, e quindi le caratteristiche del testo da esso prodotto, guidandolo a un risultato più personalizzato.
Ruolo impersonato: "Sei un esperto di fisica nucleare. Rispondi come se la spiegassi a un bambino di dieci anni".
In genere questo approccio è funzionale nella singola iterazione domanda-risposta, ma non nell'arco di un'intera sessione di conversazione con il modello.
Formattazione: "Organizza le risposte in elenchi puntati".
Stile: “Rispondi in modo formale e conciso”.
SYSTEM INSTRUCTION:
A differenza del prompt engineering, il pre-prompting ha effetto sull'intera sessione di conversazione e non solo su una singola iterazione domanda-risposta.
"Rispondi sempre in italiano".
"Non dare mai consigli medici".
"Sei un assistente preciso che cita sempre le fonti".
Fornitura di un corpus di documenti aziendali per il supporto clienti.
Diversamente dalle due tecniche precedenti, la pseudo RAG non influenza il modo in cui il modello risponde, ma si limita a fornirgli informazioni su argomenti specifici, permettendogli di migliorare la pertinenza contenutistica.
Utilizzo di articoli di notizie recenti per rispondere a domande su eventi e fatti di cronaca attuali.
D'altra parte è importante sottolineare che, proprio per come le abbiamo descritte, nessuna di esse lascia risultati persistenti sul modello: terminata la sessione di conversazione, tutto viene resettato e occorre ripartire daccapo alla sessione seguente. Esattamente come accade in molti videogiochi a carattere narrativo: al prossimo riavvio tutta l'evoluzione del gioco sviluppata nella partita precedente non c'è più.
Ne consegue che salvarsi da qualche parte prompt specifici, system message e testi per la pseudo RAG, in modo da poterli riutilizzare all'occorrenza, è fondamentale in caso si voglia usare ripetutamente nel tempo il modello per compiti personalizzati.