Chatbot Sotto il Cofano: Come Possono Essere Ingannati e Cosa Rivelano
Nell'ultimo anno, il settore dei chatbot ha subito un’impressionante trasformazione. Solo due anni fa, sviluppare chatbot per assistenza su siti web era un processo complesso e costoso, spesso con risultati poco soddisfacenti. Ora, con l'avvento delle tecnologie basate sui Large Language Models (LLM), come i GPTs e gli Assistants di OpenAI, il panorama è radicalmente cambiato. Questi modelli avanzati hanno reso la creazione di chatbot sofisticati notevolmente più semplice e accessibile.
Questa facilità d'accesso alle capacità dell’intelligenza artificiale generativa, però, introduce nuove sfide e problematiche. Una di queste è l'adattabilità e la personalizzazione: mentre i LLM offrono un'ottima base per i chatbot, è fondamentale che siano adeguatamente configurati e addestrati per gli specifici contesti d'uso. Questo richiede un'analisi attenta del linguaggio e del comportamento del pubblico di riferimento, per assicurare che le interazioni siano rilevanti e di valore rispetto al compito assegnato al chatbot.
Il rischio, infatti, è quello che comportamenti imprevisti, siano essi volontari o meno, da parte degli utilizzatori mandino in crisi gli assistenti virtuali portandoli a fornire risposte senza senso o a svelare informazioni in loro possesso che non dovrebbero essere rilevate. Ed è proprio con riferimento a questo tema che voglio condividere una mia esperienza e qualche esperimento.
Un Chatbot Rilasciato Al Pubblico Prematuramente
Qualche giorno fa ho dovuto consultare il sito ufficiale del turismo austriaco per raccogliere alcune informazioni di cui avevo bisogno. Il sito si presenta in modo accattivante e ben strutturato, con l'aggiunta di un interessante assistente virtuale, descritto come un "portiere austriaco" in una traduzione un po' traballante in italiano. Interessante notare che questo assistente, basato su Intelligenza Artificiale, è dichiaratamente ancora in fase di sviluppo, il che mi porta a una riflessione un po' critica: perché inserire una funzionalità ancora in fase di sviluppo in un ambiente destinato agli utenti finali?
L’aspetto del chatbot suggerisce la sua provenienza, quindi gli ho chiesto se, effettivamente come sospettavo, si trattasse di un GPT di OpenAI. Sono rimasto abbastanza sorpreso dalla naturalezza con la quale il “portiere austriaco” ha risposto alla mia domanda confermando quanto avessi ipotizzato.
I Rischi del Prompt Hacking nei Chatbot AI
La tecnologia di OpenAI, pur essendo avanzata, mostra una certa "ingenuità" nel rispondere a domande riguardanti il suo stesso funzionamento. Allo stato attuale, non esistono filtri completamente efficaci e affidabili che prevengano risposte inappropriate dei chatbot in risposta a prompt "malevoli" o manipolativi da parte degli utenti. Questo fenomeno è conosciuto come "prompt hacking", che, sebbene il nome possa suggerire complessità, consiste in realtà in tecniche molto più semplici e accessibili rispetto al tradizionale hacking, non richiedendo competenze tecniche avanzate. Ecco alcuni esempi:
Il tema prompt hacking è, ovviamente, molto più ampio e variegato, ma il mio obiettivo qui è fornire una semplice panoramica di alto livello per meglio comprendere i passi successivi.
Chatbot Fuori Script: da Vienna a Palermo in un Test AI
Ritornando al nostro caso, devo confessare che la risposta diretta e onesta fornita dal chatbot del sito ufficiale del turismo austriaco alla mia prima domanda ha acceso la mia curiosità, spingendomi ad effettuare alcuni esperimenti “giocosi” e ulteriori indagini.
Senza andare a scomodare le tecniche più complesse, ma solo attraverso delle iterazioni multiple ho convinto il chatbot a convincermi che Palermo è meglio di Vienna come meta per un viaggio.
Come primo passaggio gli ho chiesto le sue fonti in maniera integrale.
Dopo una breve riflessione, il chatbot ha vuotato il sacco fornendomi testo, immagini e link delle fonti da questi utilizzati.
Il risultato è altalenante. Alcune informazioni, ad esempio “le informazioni pratiche da sapere prima di partire per l’Austria” sono molto rilevanti, altri sembrano dei documenti di test caricati nel GPT.
Consigliati da LinkedIn
In ogni caso, un chatbot dovrebbe evitare di divulgare i dettagli del proprio addestramento, limitandosi a risposte generiche. Ad esempio “sono stato addestrato su un gran numero di documenti relativi all’Austria e ne sono un grande conoscitore” oppure un molto più banale “purtroppo non posso rispondere a questa tua domanda” sarebbero stati molto più coerenti come risposte nei confronti di un buontempone in vena di esperimenti.
Gli ho chiesto quindi di rispondere soltanto su domande sulla Sicilia.
In questo caso ha tentennato - in quanto non ha informazioni sulla Sicilia nella sua base di conoscenza specialistica, ma solo quelle che derivano dal suo addestramento generico da parte di OpenAI - ma si è comunque messo a disposizione per rispondere alle mie curiosità. Devo ammettere che in altre prove ha provato a tenere il punto sul suo ruolo, ma il risultato finale è sempre stato il medesimo.
Ho deciso quindi di provocarlo chiedendogli, dopo un paio di altre iterazioni, di convincermi con 10 esempi che Palermo è meglio di Vienna.
Anche in questo caso il Portiere austriaco - o in questo caso sarebbe forse meglio definirlo il Portiere siciliano - ha enumerato 10 ragioni che potrebbero rendere Palermo preferibile a Vienna. Oltre a quelle riportate nell’immagine ha citato anche la storia e l'architettura Arabo-Normanna, il teatro Massimo e la riserva dello zingaro … mica male come suggerimenti!
Il mio esperimento si è concluso qui, e ho provveduto a segnalare queste problematiche al sito del turismo austriaco affinché potessero essere risolte. Pertanto, non è detto - e sinceramente lo spero - che la mia esperienza sia replicabile integralmente.
Contrastare il Prompt Hacking: Esistono delle Strategie Efficaci?
Quali possono essere le possibili soluzioni a questa tipologia di problema? A quanto pare, al momento, non ve n'è una sufficientemente robusta. Le discussioni nei vari forum sono molto accese al riguardo, ma come è logico aspettarsi, soltanto i produttori degli LLM potranno eventualmente proporne una definitiva.
Al momento, esistono delle forme di mitigazione al riguardo che consistono, sostanzialmente, nel dare indicazioni all’AI affinché questa non fornisca informazioni relative al suo funzionamento o diverse dal dominio per il quale è stata predisposta. Le principali tecniche comprendono:
Per chi volesse approfondire, un buon punto di partenza è learn prompting da cui sono stati tratti gli esempi di tecniche sopra riportati.
Nuovi Approcci contro il Prompt Hacking: Valutare l'Output dei Chatbot Prima di Presentarlo agli Utenti
Una diversa strategia è oggetto di interessanti discussioni sul forum di OpenAI e propone un approccio innovativo per affrontare le sfide del prompt hacking. Questo si distacca dalla tradizionale pratica di filtrare i prompt in ingresso, un compito arduo e spesso inefficace, e si focalizza piuttosto sull'esame critico dell'output prodotto dall'AI. In questo schema, l'output del modello AI viene esaminato da un sistema AI secondario che funge da arbitro, valutando la risposta in base a criteri predefiniti. Se l'output supera questo controllo di qualità, viene poi trasmesso all'utente. Così facendo, si garantisce che, anche se un input iniziale dovesse sfuggire ai filtri, la risposta finale rimanga coerente e affidabile.
Ciò nonostante, questa soluzione porta con sé dei limiti non trascurabili, in particolare in termini di tempi di risposta e costi. La necessità di un'analisi aggiuntiva implica una seconda elaborazione da parte dell’AI, che può comportare un ritardo nella consegna della risposta finale, incidendo così sull'esperienza dell'utente. Inoltre, i costi aumentano con il numero di interazioni con il sistema AI.
Malgrado queste limiti, l'approccio si profila come una soluzione promettente, offrendo una barriera più solida per tutelare l'integrità e la sicurezza nell'uso dei chatbot, al fine di assicurare risposte allineate alle linee guida stabilite.
Sto attualmente mettendo alla prova la tecnica appena descritta e, una volta completati i miei esperimenti, non mancherò di condividere i risultati dettagliati. Il mio obiettivo è fornire un contributo concreto alla discussione su come l'intelligenza artificiale possa evolversi in modo più sicuro, responsabile e consapevole.
#Chatbot #IntelligenzaArtificiale #AI #PromptHacking #ChatbotAI #AIinTurismo #GPT #OpenAI #ChatbotSvelati
Project Leader / System Engineer presso Electrolux
11 mesiImparano ed al tempo stesso sono ingenui come bambini. Fanno quel che il papà gli dice di fare, ma se poi insisti chiunque può convincerli di tutto o quasi