Agente di assistenza clienti
Questa guida spiega come sfruttare le avanzate capacità conversazionali di Claude per gestire le richieste dei clienti in tempo reale, fornendo supporto 24/7, riducendo i tempi di attesa e gestendo elevati volumi di supporto con risposte accurate e interazioni positive.
Prima di costruire con Claude
Decidere se utilizzare Claude per il supporto chat
Ecco alcuni indicatori chiave che suggeriscono di impiegare un LLM come Claude per automatizzare parti del processo di assistenza clienti:
Alcune considerazioni per scegliere Claude rispetto ad altri LLM:
- Dai priorità alla conversazione naturale e sfumata: La sofisticata comprensione del linguaggio di Claude permette conversazioni più naturali e contestualizzate che risultano più umane rispetto alle chat con altri LLM.
- Ricevi spesso richieste complesse e aperte: Claude può gestire un’ampia gamma di argomenti e richieste senza generare risposte preconfezionate o richiedere un’estesa programmazione di permutazioni delle espressioni dell’utente.
- Hai bisogno di supporto multilingue scalabile: Le capacità multilingue di Claude gli permettono di sostenere conversazioni in oltre 200 lingue senza la necessità di chatbot separati o processi di traduzione estesi per ogni lingua supportata.
Definire l’interazione chat ideale
Delinea un’interazione ideale con il cliente per definire come e quando ti aspetti che il cliente interagisca con Claude. Questo schema aiuterà a determinare i requisiti tecnici della tua soluzione.
Ecco un esempio di interazione chat per il supporto assicurativo auto:
- Cliente: Avvia l’esperienza di supporto chat
- Claude: Saluta calorosamente il cliente e avvia la conversazione
- Cliente: Chiede informazioni sull’assicurazione per la sua nuova auto elettrica
- Claude: Fornisce informazioni pertinenti sulla copertura dei veicoli elettrici
- Cliente: Pone domande relative alle esigenze uniche per le assicurazioni dei veicoli elettrici
- Claude: Risponde con risposte accurate e informative e fornisce link alle fonti
- Cliente: Pone domande fuori tema non correlate all’assicurazione o alle auto
- Claude: Chiarisce che non discute argomenti non correlati e riporta l’utente al tema dell’assicurazione auto
- Cliente: Esprime interesse per un preventivo assicurativo
- Claude: Pone una serie di domande per determinare il preventivo appropriato, adattandosi alle loro risposte
- Claude: Invia una richiesta per utilizzare lo strumento API di generazione preventivi insieme alle informazioni necessarie raccolte dall’utente
- Claude: Riceve le informazioni di risposta dall’uso dello strumento API, sintetizza le informazioni in una risposta naturale e presenta il preventivo fornito all’utente
- Cliente: Pone domande di follow-up
- Claude: Risponde alle domande di follow-up secondo necessità
- Claude: Guida il cliente ai passaggi successivi nel processo assicurativo e conclude la conversazione
Suddividere l’interazione in compiti unici
La chat di supporto clienti è una raccolta di molteplici compiti diversi, dalla risposta alle domande al recupero di informazioni fino all’azione sulle richieste, racchiusi in una singola interazione con il cliente. Prima di iniziare a costruire, scomponi la tua interazione ideale con il cliente in ogni compito che vuoi che Claude sia in grado di eseguire. Questo assicura che tu possa sollecitare e valutare Claude per ogni compito e ti dà una buona idea della gamma di interazioni di cui devi tenere conto quando scrivi i casi di test.
Ecco i compiti chiave associati all’esempio di interazione assicurativa sopra:
-
Saluto e guida generale
- Salutare calorosamente il cliente e avviare la conversazione
- Fornire informazioni generali sull’azienda e l’interazione
-
Informazioni sul prodotto
- Fornire informazioni sulla copertura dei veicoli elettrici
Questo richiederà che Claude abbia le informazioni necessarie nel suo contesto e potrebbe implicare che sia necessaria un’integrazione RAG.
- Rispondere alle domande relative alle esigenze uniche dell’assicurazione per veicoli elettrici
- Rispondere alle domande di follow-up sul preventivo o sui dettagli dell’assicurazione
- Offrire link alle fonti quando appropriato
- Fornire informazioni sulla copertura dei veicoli elettrici
-
Gestione della conversazione
- Rimanere in tema (assicurazione auto)
- Reindirizzare le domande fuori tema verso argomenti pertinenti
-
Generazione preventivo
- Porre domande appropriate per determinare l’idoneità al preventivo
- Adattare le domande in base alle risposte del cliente
- Inviare le informazioni raccolte all’API di generazione preventivi
- Presentare il preventivo fornito al cliente
Stabilire criteri di successo
Lavora con il tuo team di supporto per definire chiari criteri di successo e scrivere valutazioni dettagliate con benchmark e obiettivi misurabili.
Ecco criteri e benchmark che possono essere utilizzati per valutare quanto efficacemente Claude esegue i compiti definiti:
Ecco criteri e benchmark che possono essere utilizzati per valutare l’impatto aziendale dell’impiego di Claude per il supporto:
Come implementare Claude come agente del servizio clienti
Scegliere il modello Claude giusto
La scelta del modello dipende dai compromessi tra costo, accuratezza e tempo di risposta.
Per la chat di supporto clienti, claude-3-7-sonnet-20250219
è ben adatto a bilanciare intelligenza, latenza e costo. Tuttavia, per i casi in cui hai un flusso di conversazione con più prompt inclusi RAG, uso di strumenti e/o prompt con contesto lungo, claude-3-haiku-20240307
potrebbe essere più adatto per ottimizzare la latenza.
Costruire un prompt forte
Usare Claude per il supporto clienti richiede che Claude abbia abbastanza direzione e contesto per rispondere appropriatamente, mantenendo sufficiente flessibilità per gestire un’ampia gamma di richieste dei clienti.
Iniziamo scrivendo gli elementi di un prompt forte, partendo da un prompt di sistema:
User
(con l’unica eccezione dell’assegnazione del ruolo). Leggi di più su Dare a Claude un ruolo con un prompt di sistema.È meglio suddividere i prompt complessi in sottosezioni e scriverne una parte alla volta. Per ogni compito, potresti avere maggior successo seguendo un processo passo dopo passo per definire le parti del prompt di cui Claude avrebbe bisogno per svolgere bene il compito. Per questo esempio di assicurazione auto, scriveremo pezzo per pezzo tutte le parti per un prompt partendo dal compito “Saluto e guida generale”. Questo rende anche più facile il debug del tuo prompt poiché puoi più rapidamente regolare le singole parti del prompt complessivo.
Metteremo tutte queste parti in un file chiamato config.py
.
Faremo lo stesso per le nostre informazioni sull’assicurazione auto e sull’assicurazione auto elettrica.
Ora che abbiamo il nostro contenuto statico, aggiungiamo almeno 4-5 esempi di interazioni “buone” per guidare le risposte di Claude. Questi esempi dovrebbero essere rappresentativi della tua interazione ideale con il cliente e possono includere guardrail, chiamate a strumenti, ecc.
Vorrai anche includere eventuali istruzioni importanti che delineano i Do’s e Don’ts per come Claude dovrebbe interagire con il cliente. Questo può derivare da guardrail del brand o politiche di supporto.
Ora combiniamo tutte queste sezioni in una singola stringa da usare come nostro prompt.
Aggiungere capacità dinamiche e agentive con l’uso di strumenti
Claude è in grado di intraprendere azioni e recuperare informazioni dinamicamente utilizzando la funzionalità di uso degli strumenti lato client. Inizia elencando eventuali strumenti esterni o API che il prompt dovrebbe utilizzare.
Per questo esempio, inizieremo con uno strumento per calcolare il preventivo.
Esempio di calcolatore preventivo assicurativo:
Distribuire i tuoi prompt
È difficile sapere quanto bene funziona il tuo prompt senza distribuirlo in un ambiente di test di produzione e eseguire valutazioni quindi costruiamo una piccola applicazione usando il nostro prompt, l’SDK Anthropic e streamlit per un’interfaccia utente.
In un file chiamato chatbot.py
, inizia impostando la classe ChatBot, che incapsulerà le interazioni con l’SDK Anthropic.
La classe dovrebbe avere due metodi principali: generate_message
e process_user_input
.
Costruire la tua interfaccia utente
Testa la distribuzione di questo codice con Streamlit usando un metodo main. Questa funzione main()
imposta un’interfaccia chat basata su Streamlit.
Lo faremo in un file chiamato app.py
Esegui il programma con:
Valutare i tuoi prompt
Il prompting spesso richiede test e ottimizzazione per essere pronto per la produzione. Per determinare la prontezza della tua soluzione, valuta le prestazioni del chatbot usando un processo sistematico che combina metodi quantitativi e qualitativi. Creare una forte valutazione empirica basata sui tuoi criteri di successo definiti ti permetterà di ottimizzare i tuoi prompt.
Migliorare le prestazioni
In scenari complessi, può essere utile considerare strategie aggiuntive per migliorare le prestazioni oltre le tecniche standard di prompt engineering e strategie di implementazione dei guardrail. Ecco alcuni scenari comuni:
Ridurre la latenza del contesto lungo con RAG
Quando si ha a che fare con grandi quantità di contesto statico e dinamico, includere tutte le informazioni nel prompt può portare a costi elevati, tempi di risposta più lenti e raggiungimento dei limiti della finestra di contesto. In questo scenario, implementare tecniche di Retrieval Augmented Generation (RAG) può migliorare significativamente le prestazioni e l’efficienza.
Usando modelli di embedding come Voyage per convertire le informazioni in rappresentazioni vettoriali, puoi creare un sistema più scalabile e reattivo. Questo approccio permette il recupero dinamico di informazioni rilevanti basato sulla query corrente, piuttosto che includere tutto il possibile contesto in ogni prompt.
L’implementazione di RAG per casi d’uso di supporto ricetta RAG ha dimostrato di aumentare l’accuratezza, ridurre i tempi di risposta e ridurre i costi API nei sistemi con requisiti di contesto estesi.
Integrare dati in tempo reale con l’uso di strumenti
Quando si ha a che fare con query che richiedono informazioni in tempo reale, come saldi del conto o dettagli della polizza, gli approcci RAG basati su embedding non sono sufficienti. Invece, puoi sfruttare l’uso di strumenti per migliorare significativamente la capacità del tuo chatbot di fornire risposte accurate in tempo reale. Per esempio, puoi usare l’uso di strumenti per cercare informazioni sui clienti, recuperare dettagli degli ordini e cancellare ordini per conto del cliente.
Questo approccio, delineato nella nostra ricetta di uso strumenti: agente del servizio clienti, ti permette di integrare perfettamente dati live nelle risposte di Claude e fornire un’esperienza cliente più personalizzata ed efficiente.
Rafforzare i guardrail di input e output
Quando si distribuisce un chatbot, specialmente in scenari di servizio clienti, è cruciale prevenire rischi associati a uso improprio, query fuori ambito e risposte inappropriate. Mentre Claude è intrinsecamente resiliente a tali scenari, ecco ulteriori passi per rafforzare i guardrail del tuo chatbot:
- Ridurre l’allucinazione: Implementa meccanismi di verifica dei fatti e citazioni per basare le risposte su informazioni fornite.
- Verificare le informazioni: Verifica che le risposte dell’agente siano allineate con le politiche della tua azienda e i fatti noti.
- Evitare impegni contrattuali: Assicurati che l’agente non faccia promesse o stipuli accordi che non è autorizzato a fare.
- Mitigare i jailbreak: Usa metodi come schermi di innocuità e validazione dell’input per impedire agli utenti di sfruttare vulnerabilità del modello, mirando a generare contenuti inappropriati.
- Evitare di menzionare i concorrenti: Implementa un filtro per le menzioni dei concorrenti per mantenere il focus sul brand e non menzionare prodotti o servizi dei concorrenti.
- Mantenere Claude nel personaggio: Impedire a Claude di cambiare il loro stile di contesto, anche durante interazioni lunghe e complesse.
- Rimuovere Informazioni Personali Identificabili (PII): A meno che non sia esplicitamente richiesto e autorizzato, rimuovi qualsiasi PII dalle risposte.
Ridurre il tempo di risposta percepito con lo streaming
Quando si ha a che fare con risposte potenzialmente lunghe, implementare lo streaming può migliorare significativamente il coinvolgimento e la soddisfazione dell’utente. In questo scenario, gli utenti ricevono la risposta progressivamente invece di aspettare che l’intera risposta sia generata.
Ecco come implementare lo streaming:
- Usa l’API di Streaming Anthropic per supportare le risposte in streaming.
- Configura il tuo frontend per gestire i chunk di testo in arrivo.
- Visualizza ogni chunk mentre arriva, simulando la digitazione in tempo reale.
- Implementa un meccanismo per salvare la risposta completa, permettendo agli utenti di visualizzarla se navigano via e tornano.
In alcuni casi, lo streaming permette l’uso di modelli più avanzati con latenze di base più alte, poiché la visualizzazione progressiva mitiga l’impatto di tempi di elaborazione più lunghi.
Scalare il tuo Chatbot
Man mano che la complessità del tuo Chatbot cresce, la tua architettura applicativa può evolversi per adattarsi. Prima di aggiungere ulteriori strati alla tua architettura, considera le seguenti opzioni meno esaustive:
- Assicurati di sfruttare al massimo i tuoi prompt e ottimizzare attraverso il prompt engineering. Usa le nostre guide al prompt engineering per scrivere i prompt più efficaci.
- Aggiungi ulteriori strumenti al prompt (che possono includere catene di prompt) e vedi se puoi ottenere la funzionalità richiesta.
Se il tuo Chatbot gestisce compiti incredibilmente vari, potresti voler considerare di aggiungere un classificatore di intenti separato per instradare la query iniziale del cliente. Per l’applicazione esistente, questo comporterebbe la creazione di un albero decisionale che instradarrebbe le query dei clienti attraverso il classificatore e poi verso conversazioni specializzate (con il proprio set di strumenti e prompt di sistema). Nota, questo metodo richiede una chiamata aggiuntiva a Claude che può aumentare la latenza.
Integrare Claude nel tuo flusso di lavoro di supporto
Mentre i nostri esempi si sono concentrati su funzioni Python chiamabili all’interno di un ambiente Streamlit, distribuire Claude per il chatbot di supporto in tempo reale richiede un servizio API.
Ecco come puoi approcciare questo:
-
Creare un wrapper API: Sviluppa un semplice wrapper API intorno alla tua funzione di classificazione. Per esempio, puoi usare Flask API o Fast API per incapsulare il tuo codice in un Servizio HTTP. Il tuo servizio HTTP potrebbe accettare l’input dell’utente e restituire la risposta dell’Assistente nella sua interezza. Quindi, il tuo servizio potrebbe avere le seguenti caratteristiche:
- Server-Sent Events (SSE): SSE permette lo streaming in tempo reale delle risposte dal server al client. Questo è cruciale per fornire un’esperienza fluida e interattiva quando si lavora con LLM.
- Caching: Implementare il caching può migliorare significativamente i tempi di risposta e ridurre le chiamate API non necessarie.
- Mantenimento del contesto: Mantenere il contesto quando un utente naviga via e torna è importante per la continuità nelle conversazioni.
-
Costruire un’interfaccia web: Implementa un’interfaccia utente web user-friendly per interagire con l’agente basato su Claude.
Was this page helpful?