Presentiamo Eleven v4Scopri Eleven v4, il nostro modello più espressivo di sempre.

Vai al contenuto

Come impostare i prompt per un sistema di IA conversazionale

Scritto da
Cindy Liu
Pubblicato
Ultimo aggiornamento

AscoltaAscolta questo articolo

Oggi gli LLM sono diventati il cuore pulsante dei sistemi di IA conversazionale. In particolare, gli LLM consentono all'IA conversazionale — originariamente basata su complessi alberi telefonici — di offrire funzionalità dinamiche ed esperienze simili a quelle umane. Tuttavia, gli LLM non sono una soluzione miracolosa: richiedono prompt specializzati, poiché per impostazione predefinita non sono ottimizzati per il parlato umano.

Gli sviluppatori commettono spesso un errore quando creano prompt per gli LLM destinati all'IA conversazionale: riutilizzano lo stesso approccio impiegato per formare i dipendenti umani. Questa strategia, pur sembrando semplice, raramente dà buoni risultati. Gli LLM fanno supposizioni diverse da quelle delle persone e il loro tono e ambito predefiniti non sono adatti alle interazioni verbali.

Oggi vedremo ciò che sappiamo su come creare prompt per gli LLM e realizzare sistemi di IA conversazionale efficaci. Puoi anche leggere una guida più completa e tecnica su questo argomento nella documentazione per sviluppatori di ElevenLabs.

Il vecchio sistema

Prima degli LLM, i sistemi di IA conversazionale utilizzavano complessi alberi logici attraverso cui le richieste venivano smistate in base agli input vocali. Questa configurazione era diffusa nei numeri del servizio clienti, come le hotline delle compagnie aeree, e nei sistemi di pagamento, come i servizi telefonici delle carte di credito.

Questi sistemi più vecchi erano lenti, sembravano robotici e consentivano input umani molto limitati. Probabilmente ti è capitato di gridare seccamente “SÌ” al telefono per rispondere a una richiesta. Questa pessima esperienza spingeva molti utenti a cercare di “battere il sistema” per riuscire a parlare con un operatore umano.

Tuttavia, questi alberi telefonici avevano un vantaggio: erano circoscritti. Una conversazione poteva seguire solo un numero limitato di percorsi e gli sviluppatori potevano facilmente implementare guardrail per ignorare gli input non consentiti. Questo vincolo è alla base dei vantaggi e degli svantaggi degli LLM: superano di gran lunga i limiti degli alberi telefonici, ma sono anche imprevedibili e aprono un vaso di Pandora di potenziali problemi, come fare promesse impossibili, irritarsi con i clienti o violare dati sensibili.

Le lacune predefinite

Se gli LLM vengono semplicemente addestrati su un manuale originariamente pensato per le persone, avranno risultati modesti per alcune lacune fondamentali. Capirle ti aiuterà a progettare prompt che le affrontino:

Incoerenza di tono

Gli LLM vengono addestrati tramite reinforcement learning, in cui il feedback umano incentiva gli LLM a fornire risposte strutturate. In particolare, le risposte degli LLM tendono a essere prolisse e piene di elenchi puntati, riquadri di approfondimento e titoli.

Nel contesto dell'IA conversazionale, però, gli LLM devono emulare la natura concisa e lineare delle interazioni verbali.

Lacune nelle supposizioni

Gli LLM tendono a colmare le informazioni mancanti con conoscenze dedotte anziché fare domande. Questo può portarli a fare supposizioni errate che confondono gli utenti o causano errori costosi, come promettere rimborsi. Più avanti vedremo come usare una knowledge base e i guardrail per fornire agli LLM un contesto più solido, evitando promesse errate ed esecuzioni di azioni non consentite.

Latenza

Gli LLM possono invocare programmaticamente chiamate di funzione, raccogliendo e scrivendo dati per conto delle persone. Sebbene questo sia in genere uno dei loro maggiori vantaggi, significa anche che le precedenti istruzioni di formazione, che permettevano agli operatori telefonici di “prendere tempo” mentre svolgevano attività, non sono più necessarie. Tuttavia, neppure le chiamate di funzione sono istantanee: gli LLM devono quindi avvisare con precisione l'utente ogni volta che è previsto un ritardo, ad esempio: “Dammi un momento per esaminare il tuo caso”.

Configurazioni

Personalità

Gli LLM riescono abbastanza bene ad adattare il tono a uno stile. Un LLM può essere configurato per suonare cordiale, umoristico, conciso, formale o con una combinazione di stili. È un input importante quando si crea un prompt per un LLM.

Ad esempio, gli sviluppatori di un'applicazione di IA conversazionale per il servizio clienti, progettata per assistere i clienti insoddisfatti di una compagnia aerea, potrebbero usare un prompt come questo:

You are a friendly customer service agent who speaks in concise, clear, empathetic sentences.
American
Whispering
Mysterious
Gaming
Lively
Irish
Soothing
Audiobook

Nicole

Formato

Gli LLM devono ricevere istruzioni esplicite su come rispondere. Per evitare che includano testo riempitivo aggiuntivo, è opportuno fornire loro una struttura che racchiuda la risposta destinata all'utente.

Ad esempio, agli LLM si potrebbe indicare di:

Respond exclusively with the string that should be read aloud to the user

Questa struttura incoraggia l'LLM a fornire una risposta pensata per essere letta ad alta voce.

Tuttavia, gli LLM possono talvolta inciampare in elementi che non sembrano intuitivamente diversi dal contenuto scritto. Un esempio comune sono i numeri: un LLM potrebbe scrivere un CAP come 10023, portando il modello di Text to Speech a dire “diecimila ventitré”. L'LLM dovrebbe invece ricevere istruzioni esplicite per pronunciare le cifre singolarmente e indicare cosa rappresentano, ad esempio: “Il CAP è uno zero zero due tre”.

Temperatura

La temperatura è un parametro fondamentale nella configurazione degli LLM per l'IA conversazionale. Una temperatura più bassa genera risposte più mirate e deterministiche, ideali per conversazioni orientate alle attività, mentre temperature più alte producono risposte più creative e varie.

Una temperatura bassa è ideale per i sistemi di IA conversazionale che richiedono risposte coerenti, ad esempio una linea del servizio clienti per i rimborsi. Per i sistemi che vogliono invece offrire ai clienti un'esperienza più coinvolgente e realistica , come un coach digitale, è preferibile una temperatura alta:

Low Temperature: Thank you for calling ElevenLabs support. How can I help you?
High Temperature: Hey hey! You've landed at ElevenLabs support—ready to tackle your tech troubles! What's on your mind?

Knowledge base

Per i sistemi di IA conversazionale che attingono a riserve di conoscenza più ampie, è consigliabile usare una knowledge base per ridurre la lunghezza del prompt. In produzione, questo avviene solitamente tramite un database vettoriale, come Pinecone o Elasticsearch, oppure lo store di conoscenza diretto del provider dell'LLM.

In generale, le knowledge base sono essenziali per basare le risposte degli LLM su informazioni fattuali e approvate. Quando sviluppi un sistema di IA conversazionale, dovresti fornire all'LLM una knowledge base completa contenente informazioni accurate e aggiornate su prodotti, servizi, policy e procedure. In questo modo eviti che l'LLM generi informazioni inesatte o inventate e favorisci risposte coerenti e affidabili in tutte le conversazioni.

Processo

Poiché gli LLM spesso invocano funzioni per conto dell'utente, devono anche sapere quali input sono esplicitamente necessari. Ad esempio, se il compito di un LLM è aiutare un utente a fissare un appuntamento dal parrucchiere, dovrà assicurarsi di avere:

  1. Il nome dell'utente
  2. La data e l'orario desiderati
  3. L'indirizzo dell'utente
  4. La preferenza dell'utente per il servizio

Un'implementazione ingenua potrebbe portare l'LLM a chiedere tutte le informazioni in un unico turno di conversazione. Nel testo va benissimo, ma in una conversazione può risultare eccessivo:

Support Agent: Could you please provide me with your name, your address, when you'd like your service to be, and what service you'd like?
Customer: My name is Mathew and anytime Wednesday afternoon works. What else did you ask for?

Poiché le informazioni vengono solitamente raccolte gradualmente durante la conversazione, gli LLM devono essere incoraggiati a ottenerle poco alla volta. Il risultato è un'esperienza molto più naturale:

Support Agent: Could you please provide me with your name?
Customer: My name is Mathew Pregasen.
Support Agent: Thanks Mathew. When would you like to make an appointment?
Customer: Anytime on Wednesday afternoon works fine.
Support Agent: Great. Now can I get your address to find the nearest location?
Customer: 555 West Main Street
Support Agent: Perfect. Now what service are you look for?
Customer: I'm looking for a haircut and if you could also do my beard that would be great!

Guardrail

Autorizzazioni

Quando sviluppi sistemi distribuiti, presumi che prima o poi il tuo server andrà in crash. Allo stesso modo, quando sviluppi sistemi di IA, dovresti presumere che prima o poi il tuo LLM commetterà un errore. Per ridurre al minimo l'impatto di quell'errore, dovresti assegnare a questi sistemi le autorizzazioni minime necessarie per il compito da svolgere. Ecco alcuni modi per farlo:

  • Imposta correttamente le autorizzazioni di lettura/scrittura: se l'LLM deve solo leggere informazioni da un'origine dati, assicurati che gli venga assegnato un endpoint di sola lettura.
  • Limita l'accesso agli endpoint API: se l'LLM deve accedere solo a determinati endpoint, assicurati che non possa accedere agli altri.
  • Escalation human-in-the-loop: se è necessario eseguire un'azione ad alto rischio, prendi in considerazione un workflow human-in-the-loop che richieda l'“approvazione di un responsabile” prima di eseguire l'azione.

Convalida e verifica

Quando crei sistemi di agenti vocali IA conversazionali che eseguono azioni tramite l'uso di strumenti, è utile integrare un processo di convalida e verifica per assicurarti di raccogliere le informazioni corrette dagli utenti. Oggi, quando parli con un operatore umano, questi ripete le informazioni critiche che gli fornisci per verificare di averle sentite correttamente e che il cliente non abbia parlato erroneamente. Anche gli LLM possono trarre vantaggio da un analogo livello di controllo degli errori:

Support Agent: Great. Now can I get your address to find the nearest location?
Customer: 555 West Main Street
Support Agent: I got five five five west main street. Did I miss anything?

Per la convalida, tutte le informazioni ricevute dal cliente dovrebbero essere controllate rispetto alla loro struttura tipica. Il numero di telefono ha il numero corretto di cifre? L'età indicata dal cliente rientra in un intervallo ragionevole? Il cliente ha fornito un indirizzo valido?

Support Agent: What would a good callback number be for you?
Customer: 317-798-97289
Support Agent: I think I might have misheard you. I heard 11 numbers. Would you mind repeating that again?

A seconda del caso d'uso, puoi verificare tutte le informazioni ricevute oppure solo quelle che non hanno superato la verifica. Inoltre, puoi decidere di verificare ogni informazione man mano che arriva oppure di verificare tutto alla fine.

Un pensiero conclusivo

Creare correttamente i prompt per un sistema di agenti IA conversazionale significa bilanciare le configurazioni e i guardrail giusti per offrire un'esperienza che simuli una conversazione con una persona, con maggiore efficienza. Il processo non è semplice come usare vecchi materiali di formazione per creare un prompt per un LLM: gli LLM sono invece strumenti che richiedono una struttura e una strategia specializzate per ottenere risultati prevedibili ed efficaci.

Scritto da

Cindy Liu focus on product strategy and deployment for enterprise customers.

Articoli simili

Crea con l'audio IA della massima qualità