Il Design delle Cose di Tutti i Giorni (AI)

Il Design degli Oggetti di Tutti i Giorni (AI)

Principi di UI/UX per la creazione di fantastici strumenti AI generativi

Fonte immagine: DreamStudio

Il classico design di Don Norman del 1988, “The Design of Everyday Things”, ha definito i principi dell’esperienza utente che hanno influenzato grandi design hardware e software. Sebbene Norman si sia basato su esempi analogici come maniglie delle porte e interruttori della luce, i suoi principi sono ampiamente applicabili anche al software, incluso ai prodotti di AI generativa. Con tutta l’eccitazione sulla AI generativa, è facile dimenticare che i prodotti alimentati anche dai modelli più sofisticati non avranno successo se non hanno un buon UI/UX.

Molti nuovi strumenti di AI hanno suscitato molto interesse, seguito da una bassa retention degli utenti (come dettagliato qui da Sequoia). L’eccitazione per l’AI attira nuovi iscritti, ma i nuovi utenti faticano a capire o a trarre valore reale dal prodotto. Questa è la classica “trough of disillusionment”, che si verifica quando una tecnologia chiave (modelli generativi) avanza mentre la tecnologia di supporto (design UI/UX) resta indietro.

Questo post descrive come applicare tre concetti fondamentali di UX ai prodotti di AI generativa: 1) affordances, 2) feedback, e 3) constraints. Applicando questi concetti alla AI generativa si giunge a conclusioni che esploreremo, tra cui:

  • Non puntare al Hole-In-One
  • Il feedback degli utenti non è gratuito
  • Trattare con scetticismo le interfacce chatbot

Gli esempi che seguiranno riguardano strumenti di produttività sul luogo di lavoro (e sono in parte ispirati dalle esperienze sul lavoro presso Tome, un VoAGI alimentato da AI per la formazione e la condivisione di idee), ma le strategie si applicano ampiamente, dai tool di sviluppo ai social media all’e-commerce.

Argomento 1: Feedback

Fornire un feedback rapido e chiaro all’utente su un’azione richiesta è essenziale per qualsiasi tecnologia. Il feedback è particolarmente importante per i sistemi di AI generativa, dato la latenza e complessità dei loro output. E il feedback va in entrambe le direzioni. Un sistema deve sollecitare un feedback rilevante dall’utente senza essere fastidioso, per generare output migliori per quell’utente specifico a breve termine, e per consentire versioni migliori del prodotto nel VoAGI o a lungo termine.

Costruire per la latenza

I tempi di risposta dei modelli di AI generativa tendono a variare da singole a doppie cifre di secondi. A prima vista, aspettare dieci secondi per un memo accattivante, un’immagine brillante o un video bellissimo potrebbe sembrare irrilevante. Senza l’AI generativa, queste azioni richiedono ore – a chi importa se ci vogliono 10 secondi, 1 secondo o 100 millisecondi?

Ma gli utenti non sono economisti che ottimizzano il costo delle opportunità. Sono stati abituati dagli strumenti non AI a aspettarsi che il software sia così veloce da essere percepito come istantaneo. Ciò comporta una serie di sfide per gli utenti con prodotti AI evidentemente non istantanei:

  1. Confusione se il sistema sta funzionando e se è necessario riprovare/riavviare.
  2. Percepito alto costo di iterazione. E poiché la maggior parte delle volte il primo risultato generato dall’AI non risponde esattamente a ciò che l’utente desidera, l’utente desidera iterare.
  3. Grande probabilità che l’utente inizi a fare multitasking. Una volta che un utente ha abbandonato l’app, non c’è garanzia che tornerà mai.

Ci sono buone strategie per mitigare gli effetti della latenza che precedono l’AI generativa. Queste includono animazioni di caricamento, barre di avanzamento e processi in background (in cui l’utente viene indirizzato verso un’altra attività e riceve una notifica quando l’attività corrente è completata). Una tattica più recente, specifica delle funzionalità LLM, è la trasmissione del testo parola per parola (o carattere per carattere) all’interfaccia utente, anziché renderizzare l’intero output tutto in una volta. Poiché molti modelli possono generare parole più velocemente di quanto un utente possa leggere, questo può ridurre la latenza percepita a quasi zero.

Non puntare al Hole-In-One

Una strategia particolarmente efficace per mitigare la latenza è suddividere i flussi di lavoro in piccoli passaggi, in cui viene fornito il feedback del sistema e viene richiesto il feedback dell’utente ad ogni passaggio. Ciò consente all’utente di progredire verso un output aumentando la fiducia che il sistema fornirà esattamente ciò che l’utente desidera. In un flusso di lavoro iterativo ben progettato, la latenza dei primi passaggi è bassa – e la fiducia dell’utente aumenta con ogni passaggio successivo che l’output finale sarà ciò che desidera. Se si è abbastanza sicuri di ottenere l’immagine desiderata, si sarà disposti ad aspettare dieci secondi per l’ultimo passaggio.

Le flussi di lavoro iterativi hanno un beneficio ancora più potente rispetto all’aumento della tolleranza alla latenza: consentono agli utenti di generare output che corrispondono meglio alle loro aspettative. I modelli generativi possono talvolta produrre esattamente ciò che l’utente desidera, da un semplice prompt dell’utente. E passare direttamente dall’input all’output finale “centrato” è un’esperienza utente straordinaria; è come fare un buco in uno. E come fare un buco in uno, è molto raro.

La sfida non è quanto “intelligente” sia il modello, ma piuttosto quale contesto e informazioni il modello ha bisogno di produrre la visione dell’utente. Considera un responsabile delle vendite che desidera riassumere le prestazioni trimestrali del suo team. Ha visto decine di rapporti di vendita trimestrali ed è profondamente familiare con le norme dell’azienda che regolano tali artefatti (norme come tono, livello di dettaglio, lunghezza e layout visivo). Se avesse bisogno di un collega che scrivesse un rapporto del genere, semplicemente chiederebbe “un rapporto di vendita trimestrale” e si aspetterebbe che il collega conosca già queste norme.

Quindi, quando questo responsabile delle vendite desidera ottenere un rapporto del genere da un tool di intelligenza artificiale, non è ovvio per lei quali norme deve comunicare al tool e quali già conosce. Qui è dove i flussi di lavoro iterativi sono particolarmente utili. Può iniziare con qualcosa di facile e familiare, come richiedere un “rapporto di vendita trimestrale” e il tool può aiutarla a precisare esattamente ciò che ha in mente. Zach Lloyd chiama questo pattern “chiedere e regolare” in questo articolo ben argomentato sul design dell’IA.

L'editor di schemi di Tome è un esempio di un passo intermedio in un flusso di lavoro AI iterativo, situato tra un prompt e l'output finale, una presentazione multipagina. https://tome.page

Il feedback degli utenti non è gratuito

In molti prodotti classici di apprendimento automatico, ogni interazione dell’utente genera un nuovo pezzo di dati di training per il modello, migliorando la versione successiva del prodotto. Ogni click dell’utente su un risultato di ricerca aiuta il modello di ricerca a migliorare. Ogni email che un utente contrassegna come spam aiuta un modello di classificazione dello spam a migliorare.

Ma molti prodotti di IA generativa mancano della “fisica” intrinseca in cui le interazioni degli utenti portano meccanicamente al miglioramento del modello. Per i prodotti di IA in cui l’output è un sofisticato testo, immagine, ecc., può essere difficile distinguere tra una chiusura frustrata (in cui l’utente non è riuscito a ottenere l’output desiderato e ha abbandonato) e una chiusura soddisfatta (l’utente ha ottenuto ciò che voleva e se ne è andato). Alcuni prodotti chiedono un feedback facoltativo (ad es. pollice su/giù), ma i tassi di completamento tendono ad essere molto bassi e il feedback stesso spesso soffre di un bias di selezione.

È molto meglio progettare un flusso di lavoro in cui l’azione successiva naturale dell’utente indica la sua percezione dell’output dell’IA precedente. Un pattern, più comunemente riscontrato con i modelli di testo, sono le suggerimenti in linea: se l’utente accetta il suggerimento e continua a scrivere, ciò è un segnale forte che ha visto il suggerimento positivamente. Un altro pattern consiste nell’inserire cosa viene salvato, modificato o condiviso dell’output dell’IA. Questi non sono perfettamente correlati alla soddisfazione dell’utente – un utente potrebbe condividere un’immagine perché è particolarmente bizzarra – ma sono dei buoni indicatori quando usati in modo aggregato.

Topic 2: Affordances

Un’indicazione è un suggerimento (di solito visivo) che suggerisce come e quando utilizzare una funzionalità. Buone indicazioni rendono intuitivo per gli utenti interagire con un prodotto, senza bisogno di istruzioni o esperienza estesa. Esploreremo le indicazioni per l’IA generativa in tre fasi del percorso dell’utente: scoprire i punti di ingresso dell’IA, fornire l’input corretto per l’IA e utilizzare l’output dell’IA.

Scoprire i punti di ingresso dell’IA

Molti strumenti di lavoro stanno aggiungendo molte funzionalità di AI e queste funzionalità sono applicabili in diversi punti del processo creativo. I punti di ingresso di alto livello per l’utilizzo delle funzionalità di AI includono:

  1. Aiutami a partire da zero
  2. Estendi ciò che ho iniziato
  3. Modifica ciò che ho creato

Questi diversi punti di ingresso hanno portato a interfacce significativamente diverse, anche in questa fase iniziale dell’evoluzione delle interfacce AI. Per (1), sono emerse interfacce di testo libero o “tela bianca” come paradigmi leader iniziali. Per (2), la generazione in linea (aka autocomplete) tende a dominare le funzionalità di generazione di testo (come Github Copilot), mentre “mostrami di più come questo” tende a dominare le funzionalità di generazione di immagini (come Midjourney). Per (3), le interfacce tendono a concentrarsi sull’evidenziare, selezionare o caricare contenuti esistenti (come Grammarly).

La mappa mentale AI di Whimsical aiuta gli utenti a iniziare da zero. https://whimsical.com

Per un utente che ha scoperto un punto di ingresso AI in un’app con diverse funzionalità AI, è facile concludere “qui risiede l’AI” e non scoprire le altre funzionalità. I prodotti eccellenti mitigano questo introducendo gli utenti ai vari punti di ingresso AI quando ciascun punto di ingresso è più probabile che sia utile nel flusso di lavoro dell’utente.

Inserimento di input per l’AI

L’input principale di molti flussi di lavoro di AI generativa è l’input di testo libero, alias “prompting”. Purtroppo, un buon prompting è complicato, in continua evoluzione e inconsistente tra gli strumenti. I buoni prodotti aiutano gli utenti a creare prompt con strategie che includono prompt di esempio e tooltip.

Perplexity include alcuni prompt di esempio nella sua pagina principale, per illustrare casi d'uso che vanno oltre i tipici motori di ricerca. https://www.perplexity.ai/

Le buone interfacce aiutano anche l’utente a comprendere il contesto che l’AI ha e ciò che gli manca. Quando si lavora con un’intelligenza artificiale potente, un utente ragionevole potrebbe concludere che tutto ciò che può vedere nell’app, l’AI deve anche poter vedere e capire. Ad esempio, se posso vedere la mia conversazione passata con l’AI, sicuramente l’AI deve essere consapevole di essa (questo è un comportamento che ChatGPT ha reso popolare). Ma non ogni AI funziona così! Alcuni sistemi sono a conoscenza dei prompt precedenti dell’utente, alcuni sono a conoscenza di un contesto ancor più ampio rispetto ai prompt passati e altri sono solo a conoscenza dell’interazione corrente dell’utente e nient’altro. L’utente non dovrebbe dover capire cosa sa il sistema e cosa non attraverso tentativi ed errori.

Utilizzo dell’output dell’AI

È facile pensare che quando un sistema ha prodotto un output dell’AI generativo e l’output è buono, il successo sia a portata di mano. Ma anche quando l’output è buono, questo può essere un momento confuso per l’utente.

Innanzitutto, i nuovi utenti spesso si chiedono come mantenere l’output. Anche quando l’output è buono, molti utenti vogliono immediatamente iterare e vedere se possono passare da buono a eccellente. Ma la paura di perdere il proprio lavoro esistente può portare a esitazione e frustrazione.

In secondo luogo, gli utenti potrebbero essere confusi su come migliorare l’output. Presumendo di aver utilizzato una funzionalità AI “partire da zero”, dovrebbero tornare all’inizio? Devono passare a un punto di ingresso AI diverso come “espandere” o “modificare”? Molti utenti si sono imbattuti in prodotti come ChatGPT in cui l’output non è direttamente modificabile; se l’output è modificabile, gli utenti probabilmente hanno bisogno di un’opportunità di modifica.

Argomento 3: Vincoli

I vincoli limitano l’input e l’output per aiutare gli utenti a lavorare più velocemente e meglio. I buoni vincoli sono chiari per l’utente. Se un sistema può aiutare un utente a raggiungere un obiettivo, ma solo in parte o parte del tempo, può essere meglio prevenire completamente quel percorso piuttosto che offrire un’esperienza non affidabile.

Le LLM aprono nuove esperienze utente vaste (è per questo che amo lavorare su di esse!) e i creatori di prodotti dovrebbero essere entusiasti di allentare i vincoli tradizionali del software deterministico. Tuttavia, indipendentemente da quanto intelligenti diventino le LLM, ci sarà sempre spazio per alcuni vincoli ponderati.

Input: non temere i controlli

Ispirati dal successo di ChatGPT, molti strumenti di intelligenza artificiale generativa utilizzano solo una casella di testo libero come input dell’utente, o lo utilizzano come input principale. Tuttavia, molti aspetti dell’intento dell’utente sono meglio espressi tramite input categorici o numerici. Quando si crea un documento, la maggior parte degli utenti ha in mente attributi come la lingua (un attributo categorico) e la lunghezza (un valore numerico). Gli utenti potrebbero non menzionare questi attributi in una richiesta di testo libero, ma ciò non significa che non si interessino di essi. Sollecitando questi input tramite controlli discreti e limitati (come un menu a tendina o uno slider), un sistema aiuta a ottenere gli input necessari per fornire ciò che l’utente ha in mente. E ci sono principi consolidati per aiutare gli utenti a navigare tra i controlli discreti: impostare buoni valori predefiniti, raggruppare i controlli logicamente e spiegare i controlli con suggerimenti o etichette.

Per quanto riguarda i controlli, impostare valori predefiniti corretti è una parte critica del design. La stragrande maggioranza delle volte (ben oltre il 90%), gli utenti non cambieranno i valori predefiniti, anche se ne trarrebbero vantaggio. Un’opportunità per combinare buoni valori predefiniti con varianza delle preferenze dell’utente è quella di regolare dinamicamente i valori predefiniti, sia tramite regole codificate sia tramite intelligenza artificiale.

Output: non tutto ciò che può essere generato dovrebbe esserlo

Per i prodotti di intelligenza artificiale generativa, ci sono molte situazioni in cui il modello sottostante può produrre alcuni contenuti, ma in cui l’utente preferirebbe nessun output rispetto a dover fare i conti con un output fuorviante o sconcertante.

Per la maggior parte delle attività legate al lavoro, gli utenti preferiscono sentirsi rispondere “non so” piuttosto che ricevere una risposta potenzialmente falsa che devono verificare o smentire. Questo studio di Harvard presso la società di consulenza BCG mostra come l’intelligenza artificiale possa diminuire la qualità del lavoro quando risponde a domande al di là della sua “frontiera di fiducia” e gli utenti, che non sanno dove si trova questa frontiera, non esaminano a sufficienza l’output.

Metodi per ridurre le allucinazioni sono in rapida evoluzione (ad esempio, la generazione arricchita da recupero), e sospetto che tra qualche anno le allucinazioni saranno un problema in gran parte “risolto” – ma oggi, l’output in cui la veridicità è fondamentale rimane un punto importante da considerare restrittivo.

Preoccupazioni legali ed etiche sono una seconda ragione per limitare l’output rivolto all’utente. Solo perché il modello sottostante può generare testo o immagini su un determinato argomento, non significa che sia etico farlo. Tuttavia, la maggior parte delle volte in cui un sistema classifica una richiesta dell’utente come “fuori limiti”, l’intento dell’utente è in realtà benigno. Con un po’ di aiuto, l’utente potrebbe riformulare la sua richiesta per rimanere nei limiti. Ad esempio, alcuni strumenti di generazione di immagini negano le richieste che includono la parola “bambino”. Ma se un utente vuole generare un’immagine di una famiglia con bambini, potrebbe chiedere “famiglia di quattro persone” o “genitori con figlio e figlia”. La chiave è che i vincoli siano chiari per l’utente.

Con il crescente successo dei prodotti di intelligenza artificiale generativa, i buoni designer di prodotti e i responsabili di prodotto ricordano che il successo deriva non solo dall’intelligenza dell’intelligenza artificiale, ma da come il prodotto guida l’utente attraverso i flussi di lavoro basati sull’intelligenza artificiale. Concetti di design fondamentali come il feedback, le affordances e i vincoli rimangono altrettanto importanti come sempre, ma le tattiche e i modelli per la loro implementazione stanno rapidamente evolvendo. Utilizzare bene questi modelli di progettazione è fondamentale per qualsiasi azienda di intelligenza artificiale che aspira a durare oltre il ciclo iniziale di hype e offrire un prodotto duraturo e ampiamente utilizzato.